The INIT package is required by all other packages. It contains the package command, support scripts, and utilities. Source Package Installation Instructions: (1) Do not install packages as root/super-user. Although some components may have setuid executables, few must be owned by root. These are best changed manually when the security implications are understood. (2) Choose a package root directory and cd to it. This will be a local work area for all packages. (3) These instructions bypass the click to download package links on the download site. If you already clicked, or if your system does not have curl(1), hurl(1), or wget(1) then use the alternate instructions for (3),(4),(5) in plan B below. Plan B installs the hurl(1) script which works with ksh and modern bash. The top level URL is: URL=http://www.research.att.com/sw/download (4) If the bin/package script does not exist then run: test -d bin || mkdir bin url=$URL/package (curl $url||wget -O bin/package $url||hurl $url) > bin/package chmod +x bin/package (5) Determine the list of package names you want from the download site, then use the package(1) command to do the actual download: bin/package setup source $URL \ package-name ... This downloads the latest source package(s); up-to-date local packages are not downloaded again unless package force ... is specified. If the package root will contain only one architecture then you can install in bin and lib instead of arch/HOSTTYPE/bin and arch/HOSTTYPE/lib by running this instead: bin/package setup flat source $URL \ PACKAGE ... To update the same packages from the same URL run: bin/package setup source (6) Build and install; all generated files are placed under arch/HOSTTYPE ($INSTALLROOT), where HOSTTYPE is the output of bin/package (with no arguments.) name=value arguments are supported; CC and debug=1 (compile with -g instead of -O) are likely candidates. The output is written to the terminal and captured in $INSTALLROOT/lib/package/gen/make.out: bin/package make (7) List make results and interesting errors: bin/package results Run the regression tests: bin/package test List test results and errors: bin/package results test (8) The generated binaries are position independent, i.e., they do not contain hard-coded paths. However, commands with related files, like file(1) and nmake(1), require the path of the bin directory to be exported in PATH. (9) You can run the binaries directly from the package root, or you can install them in a public root after you are satisfied with the make and test actions (requires the AT&T nmake(1) command): bin/package install flat DIRECTORY PACKAGE This will install in DIRECTORY/bin and DIRECTORY/lib. If you want to preserve the arch/HOSTTYPE hierarchy under DIRECTORY then omit the flat argument. If you don't have nmake(1) then the following will do a flat install: cd $INSTALLROOT cp -p -r bin lib include DIRECTORY (10) To summarize, after the first time the download, build, and test cycle for the latest source release is: bin/package setup source bin/package make bin/package test Source Package Installation Instructions -- Plan B: (3) Create the subdirectory lib/package/tgz and download all package archives into that directory. (4) If the bin/package script does not exist then manually read the INIT source package: gunzip < lib/package/tgz/INIT.YYYY-MM-DD.tgz | tar xvf - If your system does not have tar(1) or gunzip(1) then download the ratz source package, compile it, and manually read the INIT source package: mkdir bin cp lib/package/tgz/ratz.YYYY-MM-DD.c lib/package/tgz/ratz.c cc -o bin/ratz lib/package/tgz/ratz.c bin/ratz -lm < lib/package/tgz/INIT.YYYY-MM-DD.tgz (5) Read all unread package archive(s): bin/package read Both source and binary packages will be read by this step. All recorded changes follow. :::::::: INIT :::::::: 04-02-29 package.sh: add regress action to compare current and previous tests package.sh: fix sgi.mips[23] HOSTTYPE test for old irix cc package.sh: add `export variable ...' package.sh: admin action now handles host name with non-id chars package.sh: non-numeric M T W in admin.db disables that action package.sh: fix admin write binary local vs. shared clash cc.hp.pa: add _AST_CC_hp_pa_DEFAULT=+DAportable cc.hp.pa64: sync with cc.hp.pa cc.ibm.risc: -bnolibpath => -blibpath:/usr/lib:/lib probe.win32: sync with make.probe make.probe: fix last chance dynamic test make.probe: add hp.pa CC.EXPORT.DYNAMIC -Wl,-E make.probe: add ibm.risc CC.EXPORT.DYNAMIC -bexpall make.probe: move probe_dll_def to the end of probe_dll package.mk: capture subcomponent mamfile recursion 04-02-24 make.probe: strip "..." from cc/ld traces iffe.sh: add ``set [no]define'' to disable macro #define/#undef 04-02-23 make.probe: rework CC.LD search 04-02-14 make.probe: add CC.EXPORT.DYNAMIC for main dynamic sym export make.probe: resurrect CC.PIC with separate semantics from CC.DLL make.probe: add CC.SHARED.LD for CC.SHARED linker C+probe: clear DISPLAY to stifle interactive windows 04-02-11 iffe.sh: handle ``siz void*'', add cross{ ... }end make.probe: add { CC.AR CC.SIZE }, fix cross command search cc.darwin.ppc: change $cc => $CC for old ksh + libast conf bug 04-02-09 make.probe: drop -nostartfiles from CC.SHARED for C++ 04-02-04 package.sh: fix cross compilation bug that mixed binary formats 04-02-02 package.sh: package admin now ditto's bin/package too 04-01-30 cc.sgi.mips3: drop warning 3421 04-01-11 regress.sh: output label#count for tests in loops 04-01-05 regress.sh: fix bug that ignored the first SAME 04-01-04 crossexec.sh: fix typo that did not recognize rcp 03-12-19 mamake.c: add `foolib:foo:libfoo' to recurse() 03-10-11 regress.sh: add EXPORT, export COLUMNS=80 for message consistency 03-09-23 ratz.c: fix tar header number parse bug that skipped to next number regress.sh: rm cleanup now handles files matching -* 03-09-11 iffe.sh: add if-elif-else and unnamed { ... } blocks regress.sh: add COPY from to, like MOVE but comprison still done regress.sh: rm -rfu to handle test dirs w/o u+rwx 03-08-14 Makfile: add hello.c to the manifest 03-08-11 package.sh: fix `html binary' generation 03-06-21 package.sh: fix INITROOT initialization bug package.sh: make sure admin logs exists before tail'ing 03-06-11 probe.win32: fix $(BINDIR) typo that expanded in sh instead of make cc.mvs.390: return code 4 yields exit code 3 but its *really* ok package.sh: fix onpath function global var conflict make.probe: add CC.DIALECT { GNU -dD } package.mk: add Mamfile to lcl manifest 03-06-10 package.sh: fix setup action typo that only checked the INIT package package.sh: *.s390x => *.s390-64 03-06-09 package.mk: add cyg :POSTINSTALL: 03-06-08 make.probe: fix CC.STDLIB logic hurl.sh: add User-Agent identification package.sh: tweak source and binary installation instructions cc.hp.pa,ld.hp.pa: +-Wl,+cdp,${INSTALLROOT}/lib/: drops abs lib paths ldd.hp.pa: add 03-06-06 package.sh: fix $INSTALLROOT/bin/ldd check make.probe: add CC.STDLIB verification 03-06-04 make.probe: add +forceread +noforceread 03-05-11 hurl.sh: handle http://host:port/path 03-05-06 package.sh: fix setup action PACKAGEROOT and INIT logic 03-05-05 package.mk: fix cygwin tarball names 03-04-30 package.sh: move (cc|ld|ldd).$HOSTTYPE updates from Makefile 03-04-27 make.probe: fix mvs CC.PREFIX.SHARED "lib" => "" make.probe: add CC.DLL.DIR = $(BINDIR) or $(LIBDIR) make.probe: add { CC.LD.LAZY CC.LD.NOLAZY CC.LD.RECORD CC.LD.NORECORD } probe.win32: sync with latest CC.* 03-04-25 mamprobe.sh: add args to `. $makeprobe' for ancient sh 03-04-23 package.mk: fix dup "covered by" licenses 03-04-22 probe.win32: CC.DIALECT += "LIBPP -I-" for all cc's package.sh: fix admin write binary tarball snarf 03-04-21 package.mk: package covered *.@(pkg|lic) too 03-04-15 package.mk: don't generate incremental archives for lcl package.mk: add incremental=[source:1 binary:0] archive control package.sh: generate $INSTALLROOT/bin/cc wrapper for CC != cc package.sh: admin must ditto lib/package/*.@(pkg|lic) too mamake.c: ignore time of ignore prereqs mamake.c: -D2 lists propagated times 03-04-11 package.mk: tidy up cyg tarballs package.sh: fix old shell clash between get() and $get 03-04-05 package.mk: restore *.inx generation somehow lost during cyg additions package.sh: add pthread_num_processors_np() last resort for cpu count package.sh: use `make believe' to accept mamake generated files package.sh: handle `make [make-flags] [target ...]' mamake.c: ignore -e 03-03-21 package.mk: fix cyg old make typo package.sh: switch to `package setup' instructions 03-03-19 package.sh: add registry checks for `host cpu' package.sh: `results failed' now lists core dump messages 03-03-17 package.sh: on cygwin verify 'ntsec binmode' in $CYGWIN or die Makefile: install gcc wrapper if no cc package.mk: add :DETAILS: { :README: :EXPORT: :INSTALL: :TEST: } ops 03-03-12 package.mk: add :DETAILS: for style-specific details 03-03-11 package.sh: add beta setup/update support TEST.mk: add (TESTCC) prereq for .sh tests 03-03-07 hurl.sh: add 03-03-06 iffe.sh: fix lib win32 test cygwin vs native incompatibility iffe.sh: change internal stdio.h guard to handle C++ inline vs. macro 03-03-03 package.sh: check for curl or wget for update package.sh: add setup action == update read make package.sh: fix packageroot() typo that showed up in non ~user shells mamake.c: treat name+=value args like name=value mamake.c: add ${var?*|value?match?no-match?} mamake.c: fix archive vs. dynamic bind logic 03-02-28 package.sh: add the "cyg" (cygwin) package type package.mk: add "cyg" stubs, :CATEGORY: for category name(s) 03-02-25 mamake.c: add -D4 system(3) debug trace 03-02-24 package.mk: change --mismatch to --corrupt=accept 03-02-14 ratz.c: add _WIN32 setmode([01],O_BINARY) and fopen "rb"/"wb" 03-02-12 Makefile: handle getconf LIBPATH with host pattern 03-01-31 package.mk: fix .lic search 03-01-30 package.sh: handle { INIT ksh nmake } already installed elsewhere package.sh: admin handles command outside of $PACKAGEROOT/bin Makefile: install $(INSTALLROOT)/lib/make/package.mk 03-01-28 package.sh: admin remote commands on one line to please syslog 03-01-23 probe.win32: borland and mingw32 tweaks 03-01-22 package.sh: fix $CC test to ignore set -x trace -- duh 03-01-16 ditto.sh: tw --chop on by default 03-01-14 package.sh: use /bin/cp to copy previous binaries to bin/ok/ package.sh: admin now initiates remote exec and copy from local host 03-01-12 package.sh: handle admin "xxx:" default root 03-01-03 probe.win32: add /usr/include/borland path truncation workaround 02-12-10 iffe.sh: add <&$nullin >&$nullout to checkread() $cc 02-12-06 probe.win32: fix inlcude => include typo, add lcc lib probe.win32: CC.MAKE.OPTIONS = nativepp=0 02-12-04 mamake.c: fix ${foo-bar} to expand foo if defined 02-11-28 probe.win32: add C++ and -I- CC.DIALECT checks 02-11-26 package.sh: package release now checks for second level files 02-11-22 package.sh: update action now uses HTTP/1.0 02-11-21 probe.win32: update the vc include dir test 02-11-20 make.probe: fix CC.LD.ORIGIN typo that expanded make var 02-11-13 packahe.mk: fix list.install => list.installed typo 02-11-12 make.probe: add CC.LD.ORIGIN for a.out origin dir relative dll search make.probe: add CC.LD.STRIP for link time a.out strip package.sh: fix package_use vs. PACKAGE_USE check 02-10-24 WWW.mk: fix bug that required a :WWWBIN: assertion to post 02-10-23 mamake.c: fix unuinitialized time in make() ratz.c: fix meter buffer overflow 02-10-20 package.sh: fix lib/probe/C/make/probe update test 02-10-18 probe.win32: update for mingw make.probe: add bash workaround to SHELLMAGIC test package.sh: work around yet another cygwin hassle 02-10-17 iffe.sh: short circuit id check for *[-+/\\]* 02-10-08 regress.sh: unset FIGNORE to avoid rm . errors package.sh: unset FIGNORE to avoid rm . errors package.sh: $CC must at least compile and executable hello world 02-10-04 package.sh: $INSTALLROOT/lib/package/tgz=>$PACKAGEROOT/lib/package/tgz package.mk: $(ED) => $(STDED), $(EDFLAGS) => $(STDEDFLAGS) iffe.sh: add identifier checks for tests that (implicitly) require them iffe.sh: disambiguate a few --config macros 02-10-02 iffe.sh: fix shell=bsh `hdr a/b' 02-09-30 package.sh: handle chmod of -* files package.sh: verify that $SHELL is Bourne compatible package.sh: tighten PACKAGE_USE logic PATH,LIBPATH,etc. validation iffe.sh: fix bug that didn't define mac variable on success 02-09-22 package.sh: handle admin_action=ditto iffe.sh: --config sizeof(foo) macro is SIZEOF_foo iffe.sh: fix long.long test so it doesn't defeat uwin "typ long.long" mamprobe.sh: convert $("foo") nmake string constants 02-09-21 mamprobe.sh: "-" info-path writes probe info to stdout 02-09-11 make.probe: move from nmake src to be part of mamprobe.sh mamprobe: generate from mamprobe.beg C.probe make.probe mamprobe.end mamake.c: pass cc absolute path to mamprobe package.sh: generate mamprobe -- yuk (at least its confined to INIT) iffe.sh: lcl,nxt: drop default sys/ check ditto.sh: tw --logical by default; add --physical 02-09-10 package.sh: SHELLMAGIC creeps into package too -- duh and fooey 02-09-09 ditto.sh: test that remote .profile exists before sourcing 02-09-06 package.sh: don't ditto nfs junk ditto.sh: --show now lists directory ops instead of enumerating all 02-09-05 ditto.sh: add --remote={rsh|ssh} package.sh: add admin [[{rsh|ssh|-}]:]directory 02-09-02 iffe.sh: change 'print -r --' to 'print -r -' for ksh86 compatibility 02-09-01 cc.unix.mc68k: add for ancient 3b1 02-08-22 package.sh: fix component() to test for components -- duh Makefile: add LICENSE:.DONTCARE to workaround mam 02-08-11 iffe.sh: provide defaults for LD_* additions 02-08-07 ratz.c: change -m to use * instead of non-portable inverse video 02-07-17 mamprobe.sh: close tmp file in trap before rm for cygwin package.sh: fix "type" to handle i1586 (P4) package.sh: add the view action 02-06-28 package.sh: handle multiple packages for release action 02-06-27 package.sh: catch sol*.sparc=>sol*.sun4 when CC=gcc 02-06-14 package.sh: fix admin_action to not include qualifiers package.sh: fix help/html doc typo 02-06-11 package.sh: fix ditto update doc to `PACKAGEROOT field matching *:*' 02-06-07 WWW.mk: change substitute $("\n") to \n 02-06-06 package.sh: clarify output streams for help/html 02-05-22 mamake.c: fix executable file check to use (S_IXUSR|S_IXGRP|S_IXOTH) 02-04-04 package.sh: fix update to differentiate *.sun4 and sun4 02-03-27 package.sh: yacc/bison warning only if both missing 02-03-24 mamake.c: all shell actions wrapped with -c to avoid #! problems 02-03-23 package.sh: recover $PACKAGEROOT/bin/package if not in INIT package package.sh: precheck $CC, not `cc' package.sh: fix install to use pax -ps to preserve set-uid/gid package.sh: fix install to use list.installed for existing files only 02-03-17 package.sh: fix PAX initialization that was sometimes omitted for read package.sh: fix update delta sync fetch 02-02-14 iffe.sh: fix macro{ }end docs to include " iffe.sh: add dfn to extract #define from headers iffe.sh: handle nxt #include ok but no line sync iffe.sh: drop local header clash logic iffe.sh: add -X, --exclude=dir to exclude -I dirs iffe.sh: lcl,nxt now generate <...> headers instead of "..." package.sh: admin.db root dir matching -* disables host package.mk: fix package.src.pat typo -- too many ) package.mk: add { :COVERS: :DESCRIPTION: :REQUIRES: } package.sh: handle { :COVERS: :DESCRIPTION: :REQUIRES: } Makefile: move proto.c generation to the proto component dir 02-02-02 execrate.sh: add for .exe challenged win32 systems/commands mamprobe.sh: add STD* commands/flags mamake.c: update mamprobe info when older than mamprobe executable package.sh: move ed/ex workaround to mamprobe.sh package.sh: fix `host type' bug that incorrectly assumed sun4 for sol package.sh: add execrate(1) hooks for challenged systems package.sh: add check for { cc ar nm yacc/bison } before make ratz.c: fix "rb" vs. "r" macro tests iffe.sh: add nxt, similar to lcl but defines _nxt_foo for #include iffe.sh,package.sh: remove vaibale from sccs,cvs ident strings -- duh 02-01-24 C+probe: check CC.DYNAMIC to handle cc that accept but ignore -B* iffe.sh: handle 'mem struct.a.b' 02-01-22 iffe.sh: cache (internal) `foo vs. struct foo' test results package.sh: uts.370 => uts.390 02-01-18 package.sh: fix uts hosttype 02-01-17 package.sh: add 'results failed ...' to list failures only package.sh: change ARCH internal var to all_types to avoid env conflict iffe.sh: fix hdr/lib precheck that missed some -- ouch iffe.sh: fix noexecute test that forgot to check compile first! 02-01-15 ratz.c: fix path[] type typo 02-01-01 package.mk: tighten license search 02-01-08 package.sh: `pwd` => ${PWD:-`pwd`} package.mk: expand license file pattern match 02-01-04 iffe.sh: fix `exp name "value"' bug that duped "value" iffe.sh: fix initial check to honor --config 01-12-25 iffe.sh: fix bug where -o file restored old file 01-12-23 package.mk: uniq the closure lists 01-12-07 ratz.c: fix --meter to retain paths containing " -- " 01-11-30 ratz.c: use sear_system() to execute; should work on all windows 01-11-28 ratz.c: fix sear_rm_r() to check SetCurrentDirectory() status 01-11-26 ditto.sh: drop n+=v for ksh compatibility 01-11-21 ditto.sh: add rsync script replacement [hey, it works!] package.sh: add [ditto]:directory notation to admin.db 01-10-31 package.sh: handle *.sum paths with embedded space package.sh: change executable() to onpath() package.sh: executable([!] foo) replaces test [!] -x foo (.exe hack) package.sh: add os2 fix to `host type' mamake.c: add .exe hack iffe.sh: fix intrinsic function lib test mamprobe.sh: update pic probe to match make.probe for linux.ia64 01-10-30 package.sh: make action skeleton view now checks subdirs 01-10-20 package.sh: don't recurse into leaf dirs matching $MAKESKIP package.mk: tarball package.notice replaces `license accepted' prompt package.sh: eliminate `license accepted' prompt package.sh: add update to download latest from a url package.sh: use builtin arithmetic when we know its ksh iffe.sh: unkown -> unknown 01-10-18 package.sh: convert to YYYY-MM-DD delta releases instead of NNNN package.mk: convert to YYYY-MM-DD delta releases instead of NNNN ratz.c: fix -m for paths containing \f\n\r\v 01-10-16 ratz.c: _SEA_* => SEAR_* ratz.c: preserve stdin for sear_exec() ratz.c: add recursive sear_rm_r() to sear_exec() tmp dir cleanup 01-10-10 mamprobe.sh: add mam_cc_SHELLMAGIC package.sh: add nfs wakeup call to admin to avoid stale file handles 01-10-04 cc.darwin.ppc: -flat_namespace is not longer the default (huh) 01-10-01 package make: prepend $INSTALLROOT/bin/ok to PATH package read: save cpy of bin/package when reading the INIT package mamprobe.sh: allow cc path with optional arguments 01-09-24 Makefile,package.sh: add $INSTALLROOT/bin/.paths initialization 01-09-19 package.mk: add recurse to list.package.* package.sh: bootstrap build nmake with _BLD_STATIC for _WIN32 01-09-11 ratz.c: add _SEA_SKIP & _SEA_COMMAND for self extracting archives 01-09-07 package.mk: fix output capture to not generate files names with spaces 01-09-07 package.mk: fix delta release number search 01-08-11 package.mk: handle single gz executable packages (e.g., for ksh) package.sh: fix package install to require nmake only if no *.sum iffe.sh: drop ancient menu and prompt actions; check ./hdr.h clash 01-07-17 package: fix use cross compile test to generate files in /tmp 01-06-27 ratz: handle hard and soft links if possible 01-06-07 Makefile: fix :MAPLIB: for sco 01-05-31 crossexec.sh: add iffe.sh: add -x crosstype to run crossexec iffe.sh: exp test now handles pass{}end fail{}end yes{}end no{}end package.sh: add package host canon external-host-type-name package.sh: fix `use USER' lookup for shells that support ~USER cc.*: add -dumpmachine to dump target HOSTTYPE 01-05-18 iffe.sh: drop $HOME/tmp/t.sh debug trace -- oops 01-05-01 mamake.c: scan() now handles :PACKAGE: foo:command 01-04-26 *.sh: expand [a-z][A-Z][0-9] for non-contiguous character codes iffe.sh: fix run *.sh for shells that don't $* across . command cc.mvs.390: recode for /bin/sh 01-04-25 package.mk: include non cc-g variants by default package.sh: *[._]* => *?[_.]* for mvs.390 /bin/sh 01-04-24 TEST.mk: no tests for VARIANT=="DLL" 01-04-22 package.mk,package.sh: tarball text members are ascii encoded 01-04-18 package.mk: allow package name to be the same as one of its components cc.mvs.390: handle .C .cpp .cxx cc.mvs.390: compensate for -o that does not overwrite 01-04-01 regress: fix SAME that just skipped it -- we should regress regress! iffe: fix bug that didn't emit _hdr_foo for internal hdr tests iffe: fix lcl bug for cc -E that doesn't emit line syncs ratz: add ascii=>ebcdic conversion for text archive members mamake: fix buffer overlap bug that clobbered the probe file path 01-03-17 iffe: handle : separator as first arg 01-03-15 mamake.c,ratz.c,release.c: add and 01-02-26 iffe.sh: fix bug that omitted runtime #define for `mac' op 01-02-22 cc.ibm.risc: handle SF_CLOSE clash in 01-02-14 cc.sgi.mips3,cc.sgi.mips4: handle -mips2 -mips3 -mips4 for cross cc C+probe: quote "$cc" when its an argument! mamake: execute actions with $SHELL, ignored signals back to default package.sh: nmake check error output to /dev/null package.sh: fix INIT a.out updates for knr cc package.sh: package list now handles large tgz dirs package.sh: *-ok executables moved to ok/* for *.dll systems iffe.sh: change "exec >&-" to "exec >/dev/null" else linux mkdir fails! mamake: handle `bind -lx [dontcare]' 01-02-12 ratz.c: fix _PACKAGE_ast includes package.sh: $HOSTTYPE env overrides if $PACKAGEROOT/arch/$HOSTTYPE/ package.sh: $CC ^HOSTTYPE=[A-Za-z_0-9.]*$ overrides HOSTTYPE iffe.sh: fix dat code that used previous $tmp.exe iffe.sh: fix dat code for _DLL imports 01-02-09 iffe.sh: add copy() for shells with the dissappearing here doc bug 01-02-08 Makefile: guard against null $(CC.HOSTTYPE) 01-02-06 Makefile: separate out cc,ld,ldd workarounds (so they will be packaged) 01-02-02 package.sh: fix package use for $INSTALLROOT != */$HOSTTYPE package.sh: create intermediate recursion makefiles when needed package.sh: add $SECONDS to the DEBUG trace prompt 01-01-01 ratz.c: #ifdef for uwin ncc iffe.sh,package.sh: check PACKAGE_PATH for local installations package.sh: add psrinfo for osf.alpha host cpu package.sh: change pax --meter probe; some hang on /dev/tty package.sh: fix `install flat ARCH' mamake: eliminate loops from scan order C+probe: add probe_verbose -V for aix cc=xlc cc.ibm.risc,ldd.ibm.risc: add package.mk: list refs to top-level licenses only package.mk: add local link table to change log html 00-12-25 package.sh: `no package archives' is a hard error, duh package.sh: reorder host type logic for lame shells mamake.c: getcwd => getwd for NeXT -- how about posix==default guys iffe.sh: really gross workaround for NeXT -lposix stdout null's iffe.sh: handle cc -E that insists on compiling 00-12-15 iffe.sh: ancient sh function call blows $*; call only when $# == 0 *.sh: `getopts 2>/dev/null` => `(getopts)2>/dev/null` for ancient sh package.sh: fix LD_LIBRARY*_PATH initialization cc.next.m68k: add for _POSIX_SOURCE and linker multiply defined syms 00-12-12 ratz: add --meter package.sh: a few VPATH fixes Makefile: don't override *.mips* cc if -version not accepted 00-12-11 package.mk: *.inx now contains name=value 00-12-07 package.sh: handle PC netscape . => _ pathname mangle WWW.mk: .tar.gz => .tgz 00-11-27 package.sh: add checklicense() to do license checks at read time package.mk: change component list from preformat to table 00-10-31 package.mk: *.pkg must assert closure package.mk: add cc- variants to list.package.binary package.sh: omit dups from package list package.sh: invalid arg gives one line Usage package.sh: relax checkaout checks for non-owners package.sh: package use sets NPROC if not already set or [01] proto.c: add $(INSTALLROOT)/include/ast hack 00-10-26 WWW.mk: add .SOURCE rhs to :WWWPAGE: 00-10-25 package: fix install package.mk: add list.install 00-10-22 regress: fix VIEW to skip empty dirs 00-10-19 package.mk: $(PACKAGEROOT)/bin/nmake => $(PACKAGEROOT)/bin/manmake iffe: validate #define identifiers 00-10-18 C+probe: mac os10 additions package: add DYLD_LIBRARY_PATH initialization add ldd.$(CC.HOSTTYPE) 00-10-01 iffe: handle -I* -L* options 00-09-21 mamake: add libxxx and xxx to makefile ordered prereqs 00-09-19 C+probe: add probe_longlong 00-09-11 package: drop manmake and $PACKAGEROOT/bin/nmake 00-09-08 iffe: verfiy that $cc is a C compiler 00-06-14 mamprobe: fix win32.* probe mamake: fix bug that used lower view path for generation package: don't clobber $PACKAGEROOT/bin/nmake 00-06-01 C+probe: fix stdinclude *again* package: fix write delta source to use default pax format package: add disambiguating bias for sgi.mips3 over sgi.mips4 package.mk: fix for directory content packages lib ast-locale 00-05-01 iffe: fix invalid _LIB_ macro identifier 00-04-11 C+probe: uniq stdinclude and stdlib, fix usrinclude 00-04-01 regress: fix explicit OUTPUT bug that didn't compare with expected 00-03-17 package: all archives are .tgz for binary download package: $(PACKAGEROOT)/LICENSES/* in source and binary archives package: implement install and verify actions iffe: add exp, pth file dir ..., fix lib - -lfoo, fix lib - - -la -lb iffe: -L* must affect LD_LIBRARY* hacks for .exe tests -- yuk package.mk: add *.pkg :INDEX: 00-03-07 package: add admin action 00-03-06 makefile: install optional make probe override script C+make+probe.lcl 00-02-14 --- release 1.0 --- ratz: treat "foo/" as a dir, not a regular file package: clarify source and binary installation instructions package: fix so binary packages can install without cc package: "ratz" now a non-archive package (the only one) for bootstrap package: handle VPATH=a:b arg package.mk: "ratz" package adjustments Makefile: use :PACKAGE_INIT: to support binary INIT packages WWW.mk: add :WWWALL: C.probe: fix .so check that let .dll slip through iffe: fix config sh var assignment for HAVE_member_IN_struct iffe: fix config sh var assignment for symbol_DECLARED package: delay PATH export until dll hack exports complete package: don't forget binary package $(INSTALLROOT)/lib(32|64) package: add delta change log for source packages 00-02-10 mamprobe: add mam_cc_DLLBIG package: fix spelling typos package: add html help output package.mk: beef up source and binary help => html 00-02-08 package: mkdir man/man[138] in the new arch to cover MAM bug 00-01-28 package,release: add -rcount to release package: fix linux "host cpu" and "host rating" package: copy *.lic to $PACKAGEBIN for "make" and "write binary" package: fix 'release change log' case match 00-01-24 package: add copyright action mamprobe: add -D_BLD_DLL to mam_cc_DLL 00-01-11 package: tsort for package write package: early verification that $CC works package: add non-interactive command arg for use action proto: fix -C intermediate mkdir() mamprobe: unixware.i386 ksh workaround C.probe: move hosttype to C.probe (with unixware.i386 workaround) WWW.mk: fix mm2html option quoting WWW.mk: add .SCAN.mm WWW.mk: don't force static=1; grab dll's instead *.sh: fix getopts test to handle botched implementations like osf.alpha iffe.sh: fix read -r test 99-12-25 iffe: tweak verbose messages iffe: hand code non-optget getopts parse iffe: fix bash quoting bug again iffe: do test -w . after option parse package: fix PACKAGEROOT search 99-11-19 --- release 0.2 --- 99-11-19 first working package & friends 99-10-31 change from lib0ast to INIT; add MAM and package bootstrap hostinfo: gobbled by package 99-10-01 iffe: add --config, yes{...}end no{...}end, fix read -r workaround 99-09-27 iffe: add --all --verbose, --* set options 99-09-22 regress: -v disables long line truncation 99-09-11 WWW.mk: WWWDIR and MM2HTMLINFO are now lists searched in $(HOME) 99-08-11 hostinfo: fix type sgi.mips4 99-06-24 WWW.mk: add 99-06-08 hostinfo.sh: ${TMPDIR:-/tmp} 99-06-07 TEST.mk: add 99-06-01 iffe: add `siz type' for _siz_type == sizeof(type) 99-05-11 hostinfo,iffe,regress,use: long options 99-05-01 C.probe: fix over aggressive stdinclude, e.g., /usr/include/machine 99-04-01 hostinfo: sgi.mips? -o32 and -n32 checks iffe: check that . is writable 99-03-17 hostinfo: fix for cc not found dl.c,hello.c,m.c: headers in conditionals to force .DONTCARE C.probe: extra check for include dirs pulled in by 99-03-03 regress: add `UNIT - ...' for extra args Makefile: add (_hosttype_) prereq for cc 99-01-23 hostinfo: tweak rating, use /proc/cpuinfo if there 99-01-11 C.probe: shlib before lib, /usr before / 98-12-25 iffe: work around win32.alpha intrinsic clash with -O 98-11-11 regress: fix UNIT PATH lookup 98-11-01 regress: add PROG 98-10-01 hostinfo: add unixware.* use: export PACKAGE_* 98-08-11 C.probe: add /usr/include check (for sco CC) hostinfo: handle uwin uname update 98-05-01 regress: fix bug sometimes didn't list last test 98-04-01 hostinfo: add cc path arg hostinfo: now works with /bin/sh Makefile: strengthed -lm probe 98-01-23 Makefile: check for -ldl -lm C.probe: handle gcc -v -E phony include dirs iffe: fix lcl by dropping sort -u -- we need the real first iffe: `mem x' to test if x is a non-opaque struct 98-01-11 $(INSTALLROOT)/lib32 for sgi.mips3 $(INSTALLROOT)/lib64 for sgi.mips4 add cc.hp.pa 98-01-01 cc.sgi.mips*: turn off ld library multiply defined 97-10-11 regress: add VIEW function for locating data 97-10-01 Makefile: -ldl test moved to libdll Makefile 97-08-11 regress: add MOVE regress: add SAME regress: use getopts regress: `EXEC' repeats previous test 97-07-17 use: tweak PATH and LIBPATH bootstrap order iffe: fix lcl bug that botched pathnames with embedded spaces 97-06-12 iffe: add npt `needs prototype' test 97-05-09 hostinfo: mvs.* => mvs.390 Makefile: cc.$(_hosttype_) workaround installed here iffe: fix nolink{ ... }end iffe: add [no]static{ ... }end for static link test C.probe: _probe_PATH => _probe_export which must be eval'd 97-04-01 use: _RLD_ROOT set too 97-03-17 mm2html: changed inner loop mm2html: handle .if|.ie|.el, .so mm2html: handle different man styles mm2html: differentiate mm/man in some non-obvious cases hostinfo: r5000 is not mips4 97-02-14 hostinfo: validate type with cc 96-12-25 C.probe: uwin tweaks iffe: use `...` instead of $(...) for alpha /bin/sh iffe: fix `typ' divide by 0 iffe: `lcl' now drops X: prefix iffe: +l* -> -l* iffe: eval around ${...#%...} for bsd /bin/sh use: add sgi.mips LD_LIBRARY_PATH variants use: add -e to list exports iffe: lcl leaves leading [a-zA-Z]: for dos iffe: fix no{link|output|execute} logic C.probe: don't automatically add /usr/include for non-hosted compilers C.probe: don't automatically place /usr/include last C.probe: check gcc style -v -E for stdinclude usrinclude 96-11-28 iffe: check BASH_VERSION for IFS botch iffe: typ long.xxx only if sizeof(long xxx) != sizeof(xxx) hostinfo: fix sgi.mips[234] tests hostinfo: fix ncr.i386 tests 96-10-31 iffe: work around old bsh here doc bug by running separate sh 96-10-11 iffe: *.iffe and *.iff for iffe src files hostinfo: tighten sgi.mips cpu type check 96-10-01 C.probe: add probe_libdir to catch alpha /usr/shlib 96-09-17 iffe: fix typ bug that failed for single id types! 96-08-31 hostinfo: handle recent sgi hinv cpu changes 96-07-17 make sure sizeof(long xxx)>sizeof(xxx) for typ long.xxx 96-05-09 C.probe: drop multiple / in stdinclude 96-02-29 use: package root must have bin and lib subdir mm2html: add C.probe: probe_members += -whole-archive for gcc iffe: add + fix the blasted `...'...\\...'...` 96-01-31 use: add pkg dir hostinfo: add tandem 96-01-01 hostinfo: windows_nt|windows[0-9][0-9] -> win32 95-11-24 hostinfo: linux-aout.* for non-elf linux 95-11-11 use: add aix LIBPATH 95-10-11 hostinfo: no args prints type 95-08-11 use: add 95-05-09 save original PATH in _probe_PATH beef up library dir probe 95-04-01 use c source suffix if it still preserves the dialect add hostinfo add lib/hostinfo/typemap user type map add sol.sun4 cpu count fix C.probe to properly handle C/C++ combined compiler drivers add NeXT to hostinfo bummer: mach has /usr/bin/hostinfo 95-03-19 fix dialect executable test 95-03-19 --- release 0.0 ---