From 46593a89b7c0a1b79d89aeb5c49cc6d60f162dbc Mon Sep 17 00:00:00 2001 From: Martijn Dekker Date: Tue, 14 Dec 2021 02:21:05 +0100 Subject: [PATCH] Get rid of overcomplicated AT&T copyright/license maintenance code I'm now taking another small step towards extricating this build system from the long-dead AT&T AST universe. This commit modifies/reduces the tool called proto. AT&T used proto for two purposes: 1. To convert ANSI C code to a form compatible with ancient (pre-ANSI) K&R C compilers using extremely complex macro voodo. It was similarly capable of translating to C++. Theoretically, this entire code base should compile on anything from a 1980s K&R C compiler to a modern C++ compiler. In practice, given the massive amount of bit rot we inherited, I am 99.9% sure that this has been broken for many years. 2. To automagically insert license comments into source files based on an extremely complicated license database system. (In all-too-typical AT&T fashion, this second function of proto is completely unrelated to the first.) Function 2 has now been removed because, unlike the AT&T legal department, I don't think it's worth going to unspeakably extreme lengths to avoid maintaining license information in source code files by hand. In the process, proto.c was cleaned up to look halfway like actual C code, but it's still processed code: most macros have been expanded to their numeric value, all comments were stripped, etc. So don't expect to understand this code. The actual source code is in these two directories in the ast-open-history repo: https://github.com/ksh93/ast-open-history/tree/master/src/cmd/proto https://github.com/ksh93/ast-open-history/tree/master/src/lib/libpp Meanwhile, nobody wants to compile ksh with a pre-ANSI K&R C compiler in 2021 -- and there's no good reason to be compatible with C++ because standard C compilers are universally available. So, proto will go away when I manage to figure out how to pry it loose from the innards of this build system. src/lib/libast/port/astlicense.c: - Removed. This is al the license handling code that was incorporated in proto.c in stripped form. It was not used anywhere else, and the environment where it was useful is gone. src/cmd/INIT/proto.c: - Cleanup to make this halfway maintainable: indentation, huge blocks of empty lines, #line directives, etc. - Delete all the code corresponding to astlicense.c. This was actually easy as it was in a discrete block. - proto(), pppopen(): Remove 'license'/'notice' and 'options' arguments. - main(): Remove processing of -l (license) and -o (license options) flags. **/Mamfile: - Update all the proto invocations to remove the -l and -o flags. bin/package, src/cmd/INIT/package.sh: - Delete the 'copyright' command, which used the -l and -o options to tell proto to extract copyright information from *.lic/*.def files in lib/package. COPYRIGHT: - Added. This has the information from 'bin/package copyright', with the copyright years corrected to plausible values as the AST code used the current year (2021) for all of them. It adds ksh 93u+m copyright and contributor information at the top as well. (Yes, some of the lines in the old non-AT&T copyright notices are clipped. This is the actual output of the 'bin/package copyright' command as generated by 'proto' in the AST distribution. For all that extreme complexity, they couldn't even reproduce the notices correctly. But it's officially sanctioned by AT&T in exactly this form, so there you have it.) lib/package/**: - Removed. All these files are now obsolete and redundant. --- COPYRIGHT | 200 +++ bin/package | 74 +- lib/package/INIT.README | 1029 ------------ lib/package/INIT.html | 1007 ------------ lib/package/INIT.pkg | 12 - lib/package/INIT.req | 0 lib/package/INIT.ver | 1 - lib/package/ast-ast.pkg | 11 - lib/package/ast-base.pkg | 22 - lib/package/ast-base.req | 0 lib/package/ast-base.ver | 1 - lib/package/ast-dss.pkg | 13 - lib/package/ast-ksh.pkg | 89 -- lib/package/ast-ksh.req | 0 lib/package/ast-ksh.ver | 1 - lib/package/ast-make.pkg | 19 - lib/package/ast-open.pkg | 20 - lib/package/ast-open.req | 0 lib/package/ast-open.ver | 1 - lib/package/ast.def | 49 - lib/package/ast.lic | 5 - lib/package/bsd.def | 45 - lib/package/bsd.lic | 1 - lib/package/epl.def | 8 - lib/package/ksh.pkg | 14 - lib/package/zlib.def | 39 - lib/package/zlib.lic | 1 - src/cmd/INIT/Mamfile | 2 - src/cmd/INIT/package.sh | 74 +- src/cmd/INIT/proto.c | 2540 +++--------------------------- src/cmd/builtin/Mamfile | 2 - src/cmd/ksh93/Mamfile | 8 +- src/lib/libast/Mamfile | 228 ++- src/lib/libast/include/ast.h | 1 - src/lib/libast/port/astlicense.c | 1304 --------------- src/lib/libcmd/Mamfile | 8 +- src/lib/libdll/Mamfile | 4 +- src/lib/libsum/Mamfile | 4 +- 38 files changed, 551 insertions(+), 6286 deletions(-) create mode 100644 COPYRIGHT delete mode 100644 lib/package/INIT.README delete mode 100644 lib/package/INIT.html delete mode 100644 lib/package/INIT.pkg delete mode 100644 lib/package/INIT.req delete mode 100644 lib/package/INIT.ver delete mode 100644 lib/package/ast-ast.pkg delete mode 100644 lib/package/ast-base.pkg delete mode 100644 lib/package/ast-base.req delete mode 100644 lib/package/ast-base.ver delete mode 100644 lib/package/ast-dss.pkg delete mode 100644 lib/package/ast-ksh.pkg delete mode 100644 lib/package/ast-ksh.req delete mode 100644 lib/package/ast-ksh.ver delete mode 100644 lib/package/ast-make.pkg delete mode 100644 lib/package/ast-open.pkg delete mode 100644 lib/package/ast-open.req delete mode 100644 lib/package/ast-open.ver delete mode 100644 lib/package/ast.def delete mode 100644 lib/package/ast.lic delete mode 100644 lib/package/bsd.def delete mode 100644 lib/package/bsd.lic delete mode 100644 lib/package/epl.def delete mode 100644 lib/package/ksh.pkg delete mode 100644 lib/package/zlib.def delete mode 100644 lib/package/zlib.lic delete mode 100644 src/lib/libast/port/astlicense.c diff --git a/COPYRIGHT b/COPYRIGHT new file mode 100644 index 000000000..2f71ac0b2 --- /dev/null +++ b/COPYRIGHT @@ -0,0 +1,200 @@ +ksh 93u+m general copyright notice + +######################################################################## +# # +# The KornShell 93u+m distribution # +# Copyright (c) 2021 Contributors to ksh 93u+m # +# # +# Derived from AT&T's ast package (see below) # +# Licensed under the Eclipse Public License, Version 1.0 # +# # +# A copy of the License is available at # +# http://www.eclipse.org/org/documents/epl-v10.html # +# (with md5 checksum b35adb5213ca9657e911e9befb180842) # +# # +# CONTRIBUTORS # +# # +# Martijn Dekker # +# Johnothan King # +# hyenias <58673227+hyenias@users.noreply.github.com> # +# Anuradha Weeraman # +# Chase # +# Govind Kamat # +# Harald van Dijk # +# Lev Kujawski # +# Marc Wilson # +# # +######################################################################## + +ast package general copyright notice + +######################################################################## +# # +# This software is part of the ast package # +# Copyright (c) 1986-2014 AT&T Intellectual Property # +# and is licensed under the # +# Eclipse Public License, Version 1.0 # +# by AT&T Intellectual Property # +# # +# A copy of the License is available at # +# http://www.eclipse.org/org/documents/epl-v10.html # +# (with md5 checksum b35adb5213ca9657e911e9befb180842) # +# # +# Information and Software Systems Research # +# AT&T Research # +# Florham Park NJ # +# # +# CONTRIBUTORS # +# # +# Glenn Fowler # +# David Korn # +# Phong Vo # +# Adam Edgar # +# Adam Buchsbaum # +# Aman Shaikh # +# Bala Krishnamurthy # +# Brian Russell # +# Robin Chen # +# Don Caldwell # +# Lefty Koutsofios # +# Bob Gruber # +# Jia Wang # +# Jeff Fellin # +# Jeff Korn <@google.com> # +# Kathleen Fisher # +# Ken Church <@microsoft.com> # +# Brian Kernigham # +# Dennis Ritchie # +# Doug McIlroy # +# Eduardo Krell # +# John Snyder # +# Herman Rao # +# AST users mailgroup # +# AST developers mailgroup # +# # +######################################################################## + +bsd package general copyright notice + +######################################################################## +# # +# This software is part of the BSD package # +# Copyright (c) 1979-2012 The Regents of the University of California # +# # +# Redistribution and use in source and binary forms, with or # +# without modification, are permitted provided that the following # +# conditions are met: # +# # +# 1. Redistributions of source code must retain the above # +# copyright notice, this list of conditions and the # +# following disclaimer. # +# # +# 2. Redistributions in binary form must reproduce the above # +# copyright notice, this list of conditions and the # +# following disclaimer in the documentation and/or other # +# materials provided with the distribution. # +# # +# 3. Neither the name of The Regents of the University of California# +# names of its contributors may be used to endorse or # +# promote products derived from this software without # +# specific prior written permission. # +# # +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND # +# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, # +# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF # +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS # +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, # +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED # +# TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON # +# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # +# POSSIBILITY OF SUCH DAMAGE. # +# # +# Redistribution and use in source and binary forms, with or without # +# modification, are permitted provided that the following conditions # +# are met: # +# 1. Redistributions of source code must retain the above copyright # +# notice, this list of conditions and the following disclaimer. # +# 2. Redistributions in binary form must reproduce the above copyright # +# notice, this list of conditions and the following disclaimer in # +# the documentation and/or other materials provided with the # +# distribution. # +# 3. Neither the name of the University nor the names of its # +# contributors may be used to endorse or promote products derived # +# from this software without specific prior written permission. # +# # +# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" # +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED # +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A # +# PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS # +# OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF # +# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND # +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT # +# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # +# SUCH DAMAGE. # +# # +# CONTRIBUTORS # +# # +# Bill Joy # +# # +######################################################################## + +zlib package general copyright notice + +######################################################################## +# # +# This software is part of the zlib package # +# Copyright (c) 1995-2012 Jean-loup Gailly and Mark Adler # +# # +# This software is provided 'as-is', without any express or implied # +# warranty. In no event will the authors be held liable for any # +# damages arising from the use of this software. # +# # +# Permission is granted to anyone to use this software for any # +# purpose, including commercial applications, and to alter it and # +# redistribute it freely, subject to the following restrictions: # +# # +# 1. The origin of this software must not be misrepresented; # +# you must not claim that you wrote the original software. If # +# you use this software in a product, an acknowledgment in the # +# product documentation would be appreciated but is not # +# required. # +# # +# 2. Altered source versions must be plainly marked as such, # +# and must not be misrepresented as being the original # +# software. # +# # +# 3. This notice may not be removed or altered from any source # +# distribution. # +# # +# This software is provided "as-is", without any express or implied # +# warranty. In no event will the authors be held liable for any damages# +# arising from the use of this software. # +# # +# Permission is granted to anyone to use this software for any purpose,# +# including commercial applications, and to alter it and redistribute i# +# freely, subject to the following restrictions: # +# # +# 1. The origin of this software must not be misrepresented; you must n# +# claim that you wrote the original software. If you use this softwa# +# in a product, an acknowledgment in the product documentation would# +# be appreciated but is not required. # +# # +# 2. Altered source versions must be plainly marked as such, and must n# +# be misrepresented as being the original software. # +# # +# 3. This notice may not be removed or altered from any source # +# distribution. # +# # +# CONTRIBUTORS # +# # +# Jean-loup Gailly # +# Mark Adler # +# # +######################################################################## diff --git a/bin/package b/bin/package index 188b70657..acb5a0844 100755 --- a/bin/package +++ b/bin/package @@ -253,10 +253,6 @@ case `(getopts '[-][123:xyz]' opt --xyz; echo 0$opt) 2>/dev/null` in The hierarchy can be rebuilt by \bpackage make\b.] [+contents\b [ \apackage\a ... ]]?List description and components for \apackage\a on the standard output.] - [+copyright\b [ \apackage\a ... ]]?List the general copyright - notice(s) for \apackage\a on the standard output. Note that - individual components in \apackage\a may contain additional or - replacement notices.] [+export\b [ \avariable\a ...]]?List \aname\a=\avalue\a for \avariable\a, one per line. If the \bonly\b attribute is specified then only the variable values are listed. If no @@ -497,15 +493,6 @@ case `(getopts '[-][123:xyz]' opt --xyz; echo 0$opt) 2>/dev/null` in that contain the package name, package components, references to other packages, and a short package description. *\b.pkg\b files are used by \bpackage write\b to generate new source and binary packages.] -[+?\b$PACKAGEROOT/lib/package/\b\agroup\a\b.lic\b files contain license - information that is used by the \bAST\b \bproto\b(1) and \bnmake\b(1) - commands to generate source and binary license strings. \agroup\a is - determined by the first \b:PACKAGE:\b operator name listed in the - component \bnmake\b makefile. \agroup\a\b.lic\b files are part of the - licensing documentation. Each component may have its own \bLICENSE\b file - that overrides the \agroup\a\b.lic\b file. The full text of the licenses - are in the \b$PACKAGEROOT/lib/package/LICENSES\b and - \b$INSTALLROOT/lib/package/LICENSES\b directories.] [+?A few files are generated in \b$PACKAGEROOT/lib/package/gen\b and \b$INSTALLROOT/lib/package/gen\b. \apackage\a\b.ver\b contains one line consisting of \apackage version release\a \b1\b for the most recent @@ -635,7 +622,7 @@ do case $# in 0) set host type ;; esac case $1 in - admin|clean|clobber|contents|copyright|export|host|install|license|list|make|read|regress|release|remove|results|setup|test|update|use|verify|view|write|TEST) + admin|clean|clobber|contents|export|host|install|license|list|make|read|regress|release|remove|results|setup|test|update|use|verify|view|write|TEST) action=$1 shift break @@ -849,15 +836,6 @@ are ${bB}ast${eB} ${Mnmake} makefiles that contain the package name, package com references to other packages, and a short package description. *${bB}.pkg${eB} files are used by ${bF}package write${eF} to generate new source and binary packages. ${bP} -${bB}\$PACKAGEROOT/lib/package/${eB}${bI}GROUP${eI}${bB}.lic${eB} files contain license information that -is used by the ${bB}ast${eB} ${Mproto} and ${Mnmake} commands to generate source and -binary license strings. ${bI}GROUP${eI} is determined by the first ${bB}:PACKAGE:${eB} operator -name listed in the component ${bB}nmake${eB} makefile. ${bI}GROUP${eI}${bB}.lic${eB} files are part of the -licensing documentation. Each component may have its own ${bB}LICENSE${eB} file that -overrides the ${bI}GROUP${eI}${bB}.lic${eB} file. The full text of the licenses are in the -${bB}\$PACKAGEROOT/lib/package/LICENSES${eB} and ${bB}\$INSTALLROOT/lib/package/LICENSES${eB} -directories. -${bP} A few files are generated in ${bB}\$PACKAGEROOT/lib/package/gen${eB} and ${bB}\$INSTALLROOT/lib/package/gen${eB}. ${bI}PACKAGE${eI}${bB}.ver${eB} contains one line consisting of${bX} ${bI}PACKAGE VERSION RELEASE${eI} 1${eX} @@ -1073,10 +1051,6 @@ ${bT}(5)${bD}Read all unread package archive(s):${bX} contents [ package ... ] List description and components for PACKAGE on the standard output. - copyright [ package ... ] - List the general copyright notice(s) for PACKAGE on the - standard output. Note that individual components in PACKAGE - may contain additional or replacement notices. export [ VARIABLE ... ] List NAME=VALUE for each VARIABLE, one per line. If the \"only\" attribute is specified then only the variable @@ -4289,26 +4263,6 @@ get() # host path [ file size ] esac } -# generate copyright notice - -copyright() -{ - if test -f $1.lic - then echo $1 package general copyright notice - echo - proto -c'#' -p -s -l $1.lic -o type=verbose,author='*' /dev/null - return 0 - fi - case $1 in - *-*) eval `echo '' $1 | sed 's/\([^-]*\)-\(.*\)/__j__="\1" __i__="\2"/'` - if copyright $__i__ || copyright $__j__ - then return 0 - fi - ;; - esac - return 1 -} - # run remote make on host remote() # host no-exec-background @@ -5240,32 +5194,6 @@ contents|list) esac ;; -copyright) - # all work in $PACKAGESRC - - cd $PACKAGESRC - - # generate the package list - - set '' $target $package - shift - argc=$# - case $# in - 0) set '' `echo *.lic | sed 's,\.lic,,g'` - shift - case $1 in - '*') echo $command: $action: no packages >&2 - exit 1 - ;; - esac - ;; - esac - checkaout proto || exit - for i - do copyright $i - done - ;; - export) case $INSTALLROOT in $PACKAGEROOT) INSTALLROOT=$INSTALLROOT/arch/$HOSTTYPE diff --git a/lib/package/INIT.README b/lib/package/INIT.README deleted file mode 100644 index abdf8fcde..000000000 --- a/lib/package/INIT.README +++ /dev/null @@ -1,1029 +0,0 @@ -The INIT package is required by all but the standalone and self -extracting archive packages. It contains the package command, support -scripts, and utilities. The package command installs binary packages, -makes source packages, and generates new package tarballs. - -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), lynx(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 - (wget -O - $url||curl -L $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 authorize "NAME" password "PASSWORD" \ - setup source $URL PACKAGE ... - (Refer to the AUTHORIZATION paragraph on the main download page for - NAME/PASSWORD details.) This downloads the closure of the latest - source package(s); covered and up-to-date packages are not downloaded again unless - package force ... is specified. Package content is verified using md5sum. - 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 authorize "NAME" password "PASSWORD" \ - flat setup 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 flat install 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 - - Note that some browsers automatically unzip downloaded without warning. - If the gunzip fails try: - tar xvf - lib/package/tgz/INIT.YYYY-MM-DD.tgz - 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 :::::::: - -12-07-17 iffe.sh: add C code NOTE("...") to amend --verbose output -12-06-26 iffe.sh: fix "npt foo" to handle function-like macro foo() -12-06-20 package.sh: use $KSH for rt in "results test" -12-06-15 Makefile: add PLUGIN_LIB to $INSTALLROOT/bin/.paths and BUILTIN_LIB => PLUGIN_LIB -12-06-15 package.sh: add PLUGIN_LIB to $INSTALLROOT/bin/.paths and BUILTIN_LIB => PLUGIN_LIB -12-06-13 package.sh: handle admin.db column output -12-06-08 iffe.sh: fix 12-06-06 typo -12-06-06 iffe.sh: check for -l* in reverse and accumulative order (e.g., for -last & -lm) -12-06-04 package.sh: always check $INSTALLROOT/lib/package/profile -12-05-31 Makefile: ID=ast; $(INSTALLROOT)/prototyped.h => $(INSTALLROOT)/$(ID)/prototyped.h -12-05-28 iffe.sh: API foo YYYYMMDD => FOOAPI(rel) test macro -12-05-24 package.sh: change admin.db comment => owner attributes -12-04-25 ratz.c: add sear -k option to keep installation tmp dir on exit -12-04-17 package.sh: skip sh version logic for ``use'' -12-04-17 cc.ibm.risc*: _LARGEFILE64_SOURCE => _LARGE_FILE_API moved to libast/features -12-04-09 cc.ibm.risc*: speak aixese for _LARGEFILE64_SOURCE -12-02-29 cc.darwin.i386*: handle default cc vs kernel bittedness -12-02-29 C+probe: add __TIMESTAMP__ to the nopredefined list -12-02-29 package.sh: don't assume grep -q or /usr/local/lib in LD_LIBRARY_PATH -12-02-29 package.sh: fix ksh vs -lcmd compatibility checks -12-02-23 iffe.sh: checkcc() before checkread() for sensible diagnostics -12-02-14 package.mk: { --clobber --compare --link=lib*.a* } for --mam=static -12-02-14 package.mk: export LICENSEFILEDEFAULT instead of LICENSEFILE -12-02-14 package.sh: handle @(cc|ld).${HOSTTYPE}* intercepts -12-02-07 package.sh: add { clean clobber } actions -12-02-02 regress.sh: fix ulimit -c defaults for --nokeep -12-01-18 regress.sh: add INPUT|OUTPUT|ERROR -e 'filter' to filter before comparison -12-01-21 package.sh: fix `admin make' bug that created unused $INSTALLROOT/lib -12-01-21 Makefile: :PACKAGE: license=ast -- oops -12-01-20 cc.darwin,cc.mvs.390: tmp=/tmp/cc.${USER:-$LOGNAME}.$$.err -12-01-12 package.sh: add admin make share closure to handle alternate HOSTTYPEs -11-12-13 iffe.sh: add /**/ test code comment to disable default #include -11-11-11 C+probe: test for .so before .sl -11-10-26 package.sh: don't forget about *.pkg for admin update -11-10-18 cc.*-icc: update and add more -11-10-11 package.sh: handle package make|view when no source installed -11-09-11 package.sh: count admin '*** termination code' errors -11-08-31 mamake.c: add -e, ignore use recursive prereq timestamps -11-08-29 iffe.sh: add ``set stdio try1.h - try2.h ...'' -11-08-29 iffe.sh: trap EXIT => trap 0 for ancient sh -11-08-11 iffe.sh: handle ancient sort that doesn't have -k -11-06-01 make.probe: add more /lib64 logic -11-05-01 package.sh: fix admin ditto to sync LICENSES too -11-03-25 package.sh: initialize { $SED $TR } before first use! -11-03-21 package.sh: fix vpath probes -11-03-17 iffe.sh: fix cleanup to rm $tmp* instead of $tmp*.* -11-02-24 package.sh: change curl usage to "curl -L ..." -11-02-11 package.sh,C+probe,make.probe,mamprobe.sh: add ###.*archaic.*### -11-02-02 Makefile: add :MAPLIB: check for ancient -lw -11-02-02 make.probe: handle -print-multi-directory => 64 => /usr/lib64 /lib64 -11-02-02 package.sh: HOSTTYPE=*,*cc*[,-*,...] sets CC [ and CCFLAGS ] -11-02-02 make.probe: handle gcc $ORIGIN link but exec failure -- gee thanks -11-01-25 cc.hp.ia64: bundled cc is a pile of shaving cream -11-01-07 iffe.sh: check debug==3 for is_hdr() failure -10-11-22 ditto.sh: fix timing problem between |& and exec &p -10-11-10 package.sh: fix cc cross compile check to use checkcc absolute path -10-10-10 package.sh: list main env vars at start of make action -10-10-10 ratz.c: tweak windows delays -10-09-10 ratz.c: add _SEAR_ARGS for _SEAR_EXEC -10-09-01 package.sh: fix ratz from source logic -10-08-25 package.mk: consolidate license file search in .package.licenses. -10-08-22 ratz.c: run sear bootstrap command detached -10-08-20 C+probe: version_stamp only if version_flags works -10-08-17 package.sh: unset makerules *DIR variables in env -10-08-15 package.sh: "make" action now lists some env values -10-08-11 mktest.sh: add "DO command ..." -10-07-27 rt.sh: handle "rt X=Y ..." -10-06-29 ratz.c: non-option sear args passed to sear_exec() -10-06-25 iffe.sh: "api" op changed to not do "map-libc" type mappings -10-06-25 package.sh: "force admin ditto" => no ditto --update option -10-06-22 C+probe: handle cc that require .[ci] input for version info -10-06-21 ditto.sh: change default remote access to ssh (about time) -10-06-12 regress.sh: DIAGNOSTICS [ 1 | 0 | pattern ] and fix EXIT for all -10-06-09 package.sh: add AT&T to usable nmake check -10-06-06 iffe.sh,iffe.tst: add { api ver } ops -10-04-22 package.sh: update "html binary|source" NAME/PASSWORD info -10-04-15 iffe.sh: don't forget candidate headers for hdr|sys! -10-04-11 WWW.mk: disable man page metarule -- now done by admin-man(1) -10-02-14 package.sh: $CC verification needs $INSTALLROOT/bin in PATH -10-02-11 package.sh: fix package admin make report error count -10-02-02 package.sh: fix write binary bug that did scp on local fs -10-02-02 package.mk: up to date binary targets must still be in PACKAGE.*.lst -10-01-01 package.sh: fix premature $INSTALLROOT/bin during cross compile check -10-01-01 make.probe: handle ['"] in CC.VERSION.STRING -09-12-04 iffe.sh: add "opt name" to check for name in $PACKAGE_OPTIONS -09-11-30 mktest.sh: change RESET to STATE.RESET to make it global -09-11-14 make.probe: use gcc { -print-multi-directory -print-search-dirs } -09-11-11 package.sh: re-order and combine cc checks -09-10-27 C+probe,make.probe,probe.win32: add CC.SUFFIX.DEBUG -09-10-21 iffe.sh,Makefile: test -e is not in ksh88! -09-10-06 iffe.sh: handle cc -E #error with 0 exit status (sgi) -09-10-06 package.sh: stub in ar intercept checks -- not used yet -09-10-06 ar.ibm.risc: add ar intercept because some AIX require -Xfoo first!! -09-09-24 regress.sh: fix UMASK logic to create test support files before umask -09-08-28 release.c: change docs to mention stdin if no file operands -09-08-24 package.sh: fix isascii() bug that failed on od(1) trailing space -09-08-20 make.probe: add CC.SHARED.NAME -09-08-20 regress.sh: add { JOB CONTINUE EXITED KILL FIFO } -09-08-11 package.sh: filter lines containing : for package results -09-07-31 make.probe: add CC.AR.ARFLAGS (for AIX ar -xany) -09-07-31 package.sh,cc.*: fix -dumpmachine to handle 32/64/* bit options -09-06-24 package.sh: fix admin.db output formatting -09-05-05 package.sh: export dll hackery environment vars -09-05-05 package.sh: handle non-identifier hostnames -09-05-05 mamake.c: pass undefined ${...} identifiers to the shell -09-05-05 mamake.rt: add macro expansion regression tests -09-05-01 iffe.sh: fix output initialization *again* -09-04-28 package.sh: handle admin.db contact field $9 -09-04-15 iffe.sh: add implicit "ini" op to initialize io for subsequent ops -09-03-31 regress.sh: EXPORT before test => global ENVIRON[] -09-03-26 package.sh: test fail pattern is 'fail[es]' -09-03-26 UNIT - ... appends (options) to command line -09-03-19 TEST.mk: x.tst => x only if x is command target -09-03-15 regress.sh: add ${MAIN} for base name of main unit -09-03-10 TEST.mk: add .SOURCE:tests if tests is a dir -09-03-03 regress.sh: allow command line unit to override UNIT -09-03-03 mktest.sh: handle IO == $'\n' -09-02-02 package.sh: delay $INSTALLROOT/bin/.paths generation until mamprobe runs -09-01-30 cc.mvs.390: c89 balks at [ ()] in -Dname="..."! -09-01-27 package.sh: add isascii() to use ratz instead of tar -09-01-20 hurl.sh: add --size=bytes option -09-01-08 TEST.mk: add test.* prereqs, multiple arg lists with :T=*: binding -09-01-03 regress.sh: fix UNIT to allow command line override -09-01-03 mktest.sh: handle TWD -08-12-24 package.sh: fix cross-compile HOSTTYPE logic -08-12-15 package.sh,hurl.sh: handle http codes { 301 302 303 } -08-10-16 make.probe '-fno-stack-protector -fno-stack-protector-all' to cop out!! -08-09-30 rt.sh: fix ksh93 regression test signal count -08-09-26 regress.sh: ignore SIGPIPE for SET pipe-input -08-09-24 package.sh: package only test foo => make --recurse=only recurse tests foo -08-09-20 make.probe: handle another /usr/bin/file shared lib description -08-09-20 regress.sh: add --pipefail for SET pipe-input ... -08-09-17 Makefile: add gdbm1.c for -08-09-10 make.probe: add CC.NOPROTECT -08-08-08 mktest.sh: add --width=width -08-08-05 dbm.req: favor sleepycat ndbm compatibility -08-08-04 C+probe: fix stdlib initialization logic -08-06-24 package.sh: fix $INSTALLROOT/bin/cc intercept time stamp file typo -08-06-20 TEST.mk: make the localyunit before *.rt => *.tst -- doh -08-06-20 mktest.sh: prepend $PWD onto PATH for local units -- doh^2 -08-06-11 regress.sh: fix bug that skipped the last test -08-05-20 regress.sh: add --local to put *.tmp dir in local fs -08-05-05 regress.sh: add IF command ... ELIF command ... ELSE ... FI -08-05-01 package.sh: package test => ulimit -c 0 -08-04-28 regress.sh: fix EXPORT quoting -08-04-28 regress.sh: fix UNIT set check args too -08-04-24 rt.sh: exit code > 256 => signal termination -08-04-10 C+probe: change probe_so order to check .so last (Mac OS X ld workaround) -08-04-01 package.sh: handle multiple admin HOSTTYPEs per HOST -08-03-28 C+probe: add C++ #include (no extension) dir probes -08-03-17 regress.sh: fix trap on EXIT, add terminated note to final tally -08-02-28 make.probe: fix probe_warn to include ld! -08-02-02 make.probe: add CC.RUNPATH to match default -L order -08-01-31 package.sh: check lib64 for LD_LIBRARY_PATH -08-01-31 iffe.sh: tweak ancient /bin/sh workarounds -08-01-28 make.probe: Darwin ld export dynamic is -force_flat_namespace -08-01-28 C+probe: handle SGI cc error message but exit 0 botch(es) -08-01-23 package.sh: fix checksum doc typo -08-01-09 C+probe: add __FUNCTION__ to the undef (don't check) list -07-12-14 iffe.sh: add set nooptimize -07-12-03 package.sh: add LC_ALL=C -07-11-27 package.sh: fix overaggressive *.md5 cleanup -07-11-20 iffe.sh: treat exit status >= 250 as normal error with no signal -07-11-05 package.sh: fix write op error count pattern -07-11-05 package.mk: fix $(~req) .ver binding -07-08-11 probe.win32: add cl.exe setuid workaround, CC.VERSION[.STRING] -07-08-01 package.sh: handle 'package read lcl|tgz' -07-05-08 regress.sh: execute basename instead of absolute path for short $0 -07-04-27 cc.sgi.mips[34]: for #error to exit non-zero -- a no brainer -07-04-20 mktest.sh: defer to systems without 'grep -q' -- sigh -07-04-11 mamprobe.sh: handle $(CC.*) => ${mam_cc_*}, $(...) => ${...} -07-04-11 make.probe: fix CC.PICBIG probe, default { CC.PIC CC.DLL } to BIG -07-04-04 iffe.sh: prepend ${tst}${ext} to each .c probe -07-03-28 package.sh: fix binary tgz architecture type duplication -07-03-28 package.mk: add binary write PACKAGE.$HOSTTYPE.lst -07-03-28 iffe.sh: add -F header to mac test -07-03-23 make.probe: handle file(1) that returns 'archive' for .so -07-03-22 mamprobe.sh: fix STDED probe for implementations that ignore EOF -07-03-11 package.sh: add nocopyright and tst => nocopyright -07-03-11 package.mk: add copyright=0 -07-03-08 C+probe: restore IFS after probe.ini -07-02-26 mamake.c: expand first of ${mam_lib*} for ${AR} -07-01-05 package.sh: fix "admin write binary" logic -07-01-01 iffe.sh: add "cmd" --verbose trace -07-01-01 iffe.sh: sort => LC_ALL=C sort -07-01-01 C+probe: LC_ALL=C -06-12-22 make.probe: lean on gcc -v for stdlib, but preserve /usr/local! -06-11-23 package.sh: *.md5 are not tarballs -- doh -06-11-23 iffe.sh: add -F, --features=feature-test-header -06-11-11 make.probe: favor lib64 over lib for hosttype==*64 -06-10-31 make.probe: add "-ignore-source-dir -iquote" test -06-10-31 iffe.sh: add status{...} code block -06-10-11 regress.sh: fix DO to handle {...} (time for regress.tst?) -06-10-11 package.sh: handle already gunzip'd *.tgz -06-10-06 iffe.sh: add reference for header content tests -06-09-27 regress.sh: fix UMASK to do DO too (duh) -06-09-22 iffe.sh: drop -O for npt tests (for msvc intrinsics) -06-09-14 cc.darwin: drop -O until gcc 4.* gets its act together -06-09-11 package.sh: { cc ld ldd } intercepts check ${HOSTTYPE%.*} too -06-09-08 regress.sh: add PIPE INPUT|OUTPUT for pipe io -06-09-05 C+probe: add { probe_version version_stamp version_string } -06-09-05 make.probe: add version stamp comment, CC.VERSION[.STRING] -06-08-27 regress.sh,mktest.sh: add UMASK -06-08-25 regress.sh: add -b,--ignore-space,IGNORESPACE -06-08-25 mktest.sh: add IGNORESPACE -06-08-24 mktest.sh: handle \000 in data -06-08-24 regress.sh: handle -f* for INPUT|OUTPUT|ERROR -06-08-16 package.sh: fix 'install flat' logic -06-08-11 rt.sh: handle style=shell %K date format -06-07-17 ratz.c: fix __MVS__ FAR definition -06-07-17 iffe.sh: "header x.h" -- deprecate "include x.h" for .SCAN.iffe -06-07-17 package.sh: differentiate urls vs. assignments -06-06-27 rt.sh: add --failed, --heading -06-06-27 C+probe,TEST.mk,make.probe,mktest.sh,regress.sh: 'ulimit -c 0' -06-06-26 cc.darwin.ppc: handle -lcc_dynamic disappearance -06-06-25 mktest.sh: implement PROG -06-06-11 Makefile: add -ldbm :MAPLIB:, provide public MAPLIB.mk -06-05-06 package.sh: add PACKAGE_admin_tail_timeout -06-05-22 ratz.c: upgrade to zlib-1.2.3 -06-05-09 package.sh: fix admin.db docs -06-03-11 package.sh: fix `package use - command ...' -06-03-05 make.probe: work around pedantic bash 3.1 mismatched " in `.` -06-02-14 package.sh: "results failed test" == "results test failed" - cc.sgi.*: add _AST_cc_OPTIONS parameterization, -OPT:Olimit=0 - cc.linux.ia64-icc: add for Intel cc -06-02-02 package.sh: FreeBSD stuck with OS version for all arch -06-02-01 package.mk: fix locale logic (tw -d requires dir arg) -06-01-31 package.sh: require $CC only for make|test -06-01-30 package.sh,hurl.sh: use the backwards-compatible --http-passwd - package.sh: add more pdksh => /bin/sh checks -06-01-26 package.sh: wget --http-pass => --http-password - package.sh: fix wget error logic - hurl.sh: wget --http-pass => --http-password -06-01-11 package.mk: pass package.license.class to make --mam too - package.mk: variants=pattern => --variants=pattern - package.sh: Darwin rel<=7 => darwin7.ppc - package.sh: FreeBSD rel<=4 => freebsd4 - package.sh: FreeBSD rel<=5 => freebsd5 -05-12-07 iffe.sh: don't emit if | (XXX) -05-12-05 make.probe: disable readonly.exe core dump via ulimit -c 0 -05-09-22 mktest.sh: add EXEC [ ++NOOUTPUT ++NOERROR ++NOEXIT ] -05-09-21 mktest.sh: fix --style=shell compare to ignore \r -05-09-12 TEST.mk: all --force to force %.rt regeneration -05-09-05 TEST.mk: regenerate from %.rt only if newer, :SAVE: %.tst -05-08-25 mktest.sh: add - TEST.mk: add %.rt=>%.tst for mktest -05-08-18 package.sh: 'package host cpu' now checks $NPROC first -05-07-17 iffe.sh: add { define extern include print } ops - iffe.sh: accept output{...}end output on success only -- doh -05-07-01 package.sh: add TARPROBE for tar B flag probe -05-06-24 package.sh: fix binary read chmod via *.sum -05-06-06 package.sh: fix KEEP_HOSTTYPE logic to handle synthesized types -05-06-01 make.probe: verify that cc_pic works for hosted cc - cc.lynxos.ppc: make -mshared the default - package.sh: note $INSTALLROOT/bin/@(cc|ld|ldd) installation -05-05-25 make.probe: add CC.INCLUDE.LOCAL instead of -I- in CC.DIALECT -05-05-24 iffe.sh: really fix grouping logic -- with tests this time - package.sh: pipe/socket configuration mismatches => use /bin/sh -05-04-28 TEST.mk: add $(TESTS) -05-04-19 package.sh: package results test uses rt if possible - iffe.sh: fix 'op var - ... - ...' grouping logic -05-04-15 rt.sh: handle autom4ate style -05-04-11 regress.sh: fix unit name when command line unit also specified - rt.sh: handle all AST package test output formats - package.sh: fix make docs for options passed to underlying make -05-04-08 package.sh: cp -p makerules.mo to $OK to preserve mtime - regress.sh: add "TITLE name" to change TEST output title -05-04-01 rt.sh: add pretty make test + regress.sh wrapper -05-03-29 package.sh: test -e path => test -f path -o -d path -05-03-24 make.probe: fix CC.PICBIG probe to prefer -fPIC over -fpic -- doh -05-03-19 mamake.c: command line name=var also defines name.FORCE=var -05-03-11 regress.sh: unset LC_ALL when LC_* EXPORT'd - package.sh: old make.out saved in circular make.out.[1-9] - mamake.c: sync with nmake :W=O: -05-03-01 package.sh: fix flat hierarchy initialization - package.sh: admin action now properly resets sibling remote logs - package.mk: relax unknown/unwritten package messages to warnings - package.sh: handle space in command line name=value - make.probe: add MVS -Wc,dll,exportall,longname,rent to CC.DLL probe -05-02-24 package.sh: hosttype *.powerpc => *.ppc - cc.lynxos.ppc,ldd.lynxos.ppc: add -05-02-22 mamake.c: fix { -G --debug-symbols -S --strip-symbols } MAMAKEFLAGS bug -05-02-20 probe.win32: handle /platformsdk mount -05-02-19 package.sh,package.mk: add write tst for tgz in tst subdir -05-02-18 package.sh: accept cc -dumpmachine with 0 or 1 - -05-02-14 package.sh: handle multiple architectures per host in admin.db - Makefile,package.sh: honor $INSTALLROOT/bin/.paths overrides - package.sh: normalize trailing [-_]bits in host type - iffe.sh: some ksh-compatible shells don't do *(pattern) -05-02-11 iffe.sh: back out 05-01-11 child process stdin hijack - cc.lynxos.i386: -dynamic instead of -static default -05-02-10 package.sh: cyg usr/doc => usr/share/doc -05-02-08 package.sh: drop -m with pax -- delta bug fixed 2005-02-08 - iffe.sh: work around old bash 0<... redirection bug -05-02-06 package.mk: source.tgz: update generated files only when they change -05-02-02 *.sh,*probe: IFS may be unset and { ash bsh } don't on startup -- wow -05-01-11 package.sh: update setup docs to include authorize+password - package.mk: fix .source.cyg final directory edit - package.mk: notice=1 for conspicuous empty NOTICE file - WWW.mk: fix *-index.html installation - filter.sh: retain input file suffix in tmp copy - mamexec.c: fix non-contiguous "exec" bug that skipped lines - iffe.sh: fix candidate lib test to try grouping subsequent libs - iffe.sh: fix child process stdin hijack that skipped input lines - iffe.sh: --shell=osh to force read -r compatibility command - iffe.sh: chop iffe input leading space before # for KnR compatibility -05-01-05 package.sh: add ${TAR} ${TARFLAGS} and tar B flag for pipes - mamake.c: fix makefile scan to ignore lib*.[hH] - iffe.sh: immunize function/symbol tests from aggressive -O -04-12-28 WWW.mk: add :WWWPAGE: faq.*.mm index generator -04-12-21 ratz.c: make sure tmp dir is writable -- doh -04-12-08 iffe.sh: fix dat test for aggressive -O -04-12-01 iffe.sh: add `include file' to pull in #define's for `exp' -04-11-11 package.sh: default MAKESKIP is "*[-.]*" -04-10-22 ratz.c: change docs to note zlib license - mamake.c: handle --debug-symbols and --strip-symbols - package.sh: make (debug|strip)=1 => --(debug|strip)-symbols - package.mk: add :LICENSE: => package.license.class - mamake.c: fix recursive order logic -04-10-18 package.mk: add :LICENSE:, :OMIT: to omit package subdirs -04-10-11 package.sh: add 'authorize name' and 'password password' -04-10-01 iffe.sh: double check $static link with ! $static - Makefile: add BUILTIN_LIB to $INSTALLROOT/bin/.paths - make.probe: add CC.DIALECT EXPORT={ALL,REF,EXT,DLL} - package.sh: add BUILTIN_LIB to $INSTALLROOT/bin/.paths -04-09-21 package.mk: $(init)$(name) is now an implicit prereq -04-09-09 package.sh: copy makerules.mo to $INSTALLROOT/bin/ok -04-09-01 package.mk,package.sh: rename *.txt => *.README - package.mk: add the runtime package type (no *.[ah]) - iffe.sh: fix key test reports -04-08-26 Makefile: { add m2.c m3.c } -lm tests for { frexp[l] ldexp[l] } -04-08-11 package.mk: handle HOSTTYPE for Solaris > 9 - package.sh: add `checkaout proto' for { make view } - package.sh: check for { md5sum md5 } - iffe.sh: add {if|elif|else|endif} test ... - iffe.sh: add 'exp - expression' and '( expression )' - iffe.sh: add 'name = test ...' user defined macros - iffe.sh: add '! test ...' negation - TEST.mk: add implied { .c .sh } generated prereq - cc.darwin.ppc: handle 10.3 -dylib mess -04-08-01 package.mk: let include handle nested requirements -- duh -04-07-31 package.sh: attempt a second ping before admin assumes host down -04-07-26 package.sh: fix hp.ia64 HOSTTYPE -04-07-23 probe.win32: generalize #include dir order search -04-07-17 regress.sh: add INPUT -x for chmod +x -04-07-01 regress.sh: TMP => TWD -04-06-29 regress.sh: put COMMAND in $TWD too -04-06-21 regress.sh: mkdir -p INPUT and OUTPUT intermediate dirs - TEST.mk: add :TEST: -- to disable .c .sh search -04-06-18 TEST.mk: add .SCAN.tst -04-06-17 regress.sh: TEST returns true if active, false otherwise - regress.sh: add CD to change test pwd from $TWD -04-06-16 regress.sh: add TWD for ./unit.tmp override - regress.sh: DO now flushes previous test - regress.sh: INPUT and OUTPUT handle -f for printf instead of print -04-06-11 package.sh: make sure $INSTALLROOT/bin is in front of $PATH - package.sh: skip nmake if older than 2000-10-31 -04-05-20 package.sh: fix arg vs. package parse with - or '' to disambiguate -04-05-11 package.sh: package verbose update lists closure for package setup - package.sh: add src/lib/libardir to nmake proto bootstrap - regress.sh: probe for rm -u vs. chmod -R u+rwx -04-05-01 package.sh: $CC must be C, not C++; allow release command on $PATH -04-04-15 make.probe: check probe_libdir false positives - package.sh: add lib/package/*.lic src package subdirs - package.mk: add mamfile=0 to inhibit Mamfile generation - iffe.sh: config name_DECLARED => HAVE_name_DECL - iffe.sh: fix mac to handle default value -04-04-11 iffe.sh: normalize sed [\\\\/] quoting -04-04-04 package.mk: only checksum generated tarballs - mamprobe.sh: add STDCHMOD -04-04-01 C+probe: set export LANG=C for uniform error messages - make.probe: another CC.STDLIB tweak - package.sh: fix regress core dump pattern, expand [a-z] match ranges -04-03-31 Makefile: add intl :MAPLIB: test - make.probe: fix CC.STDLIB search; drop CC.* path duplicates -04-03-28 iffe.sh: drop unused exec $stdin<&0 dup -04-03-25 Makefile: add iconv :MAPLIB: - package.sh: use ${PING:-ping -c 1 -w 4}, allowing admin.db override -04-03-24 package.mk: add *.md5 checksum for each *.(c|exe|tgz) - package.sh: update base change on md5 sum instead of size - iffe.sh: adjust case label \ and keyword quoting for ancient /bin/sh -04-03-22 probe.win32: ncc => nld -04-03-19 CONVERT.mk: change the instructions and old source dir default - package.mk: fix recurse=list check - package.mk: add *.md5 checksum for each *.(c|exe|tgz) - package.sh: fix update base/delta/sync existence check -04-03-18 iffe.sh: -d2 does not remove core dumps on exit -04-03-17 package.sh: fix make recurse arg/action order -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 unnamed { ... } blocks - regress.sh: add COPY from to, like MOVE but comparison still done - regress.sh: rm -rfu to handle test dirs w/o u+rwx -03-08-14 Makefile: 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 it's *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 uninitialized 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 it's 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 variable 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 it's 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 it's 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 disappearing 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 OS X 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: verify 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: strengthen -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 --- diff --git a/lib/package/INIT.html b/lib/package/INIT.html deleted file mode 100644 index 3389a23c5..000000000 --- a/lib/package/INIT.html +++ /dev/null @@ -1,1007 +0,0 @@ - - - - - - - INIT package - - - - - -
- -

-

INIT package

-The INIT package is required by all but the standalone -and self extracting archive packages. It contains -the package command, support scripts, and utilities. -The package command installs binary packages, makes -source packages, and generates new package tarballs. -Components in this package: -

-

- - - -
-INIT
-

-The software is covered by this license: -

-Individual components may be covered by separate licenses; -refer to the component source and/or binaries for more information. -

-A recent -release change log -is also included. -

-


release change log

-
-
-All recorded changes follow.
-
-
-

-


INIT changes

-
-
-12-07-17 iffe.sh: add C code NOTE("...") to amend --verbose output
-12-06-26 iffe.sh: fix "npt foo" to handle function-like macro foo()
-12-06-20 package.sh: use $KSH for rt in "results test"
-12-06-15 Makefile: add PLUGIN_LIB to $INSTALLROOT/bin/.paths and BUILTIN_LIB => PLUGIN_LIB
-12-06-15 package.sh: add PLUGIN_LIB to $INSTALLROOT/bin/.paths and BUILTIN_LIB => PLUGIN_LIB
-12-06-13 package.sh: handle admin.db column output
-12-06-08 iffe.sh: fix 12-06-06 typo
-12-06-06 iffe.sh: check for -l* in reverse and accumulative order (e.g., for -last & -lm)
-12-06-04 package.sh: always check $INSTALLROOT/lib/package/profile
-12-05-31 Makefile: ID=ast; $(INSTALLROOT)/prototyped.h => $(INSTALLROOT)/$(ID)/prototyped.h
-12-05-28 iffe.sh: API foo YYYYMMDD => FOOAPI(rel) test macro
-12-05-24 package.sh: change admin.db comment => owner attributes
-12-04-25 ratz.c: add sear -k option to keep installation tmp dir on exit
-12-04-17 package.sh: skip sh version logic for ``use''
-12-04-17 cc.ibm.risc*: _LARGEFILE64_SOURCE => _LARGE_FILE_API moved to libast/features
-12-04-09 cc.ibm.risc*: speak aixese for _LARGEFILE64_SOURCE
-12-02-29 cc.darwin.i386*: handle default cc vs kernel bittedness
-12-02-29 C+probe: add __TIMESTAMP__ to the nopredefined list
-12-02-29 package.sh: don't assume grep -q or /usr/local/lib in LD_LIBRARY_PATH
-12-02-29 package.sh: fix ksh vs -lcmd compatibility checks
-12-02-23 iffe.sh: checkcc() before checkread() for sensible diagnostics
-12-02-14 package.mk: { --clobber --compare --link=lib*.a* } for --mam=static
-12-02-14 package.mk: export LICENSEFILEDEFAULT instead of LICENSEFILE
-12-02-14 package.sh: handle @(cc|ld).${HOSTTYPE}* intercepts
-12-02-07 package.sh: add { clean clobber } actions
-12-02-02 regress.sh: fix ulimit -c defaults for --nokeep
-12-01-18 regress.sh: add INPUT|OUTPUT|ERROR -e 'filter' to filter before comparison
-12-01-21 package.sh: fix `admin make' bug that created unused $INSTALLROOT/lib
-12-01-21 Makefile: :PACKAGE: license=ast -- oops
-12-01-20 cc.darwin,cc.mvs.390: tmp=/tmp/cc.${USER:-$LOGNAME}.$$.err
-12-01-12 package.sh: add admin make share closure to handle alternate HOSTTYPEs
-11-12-13 iffe.sh: add /*<NOSTDIO>*/ test code comment to disable default #include <stdio.h>
-11-11-11 C+probe: test for .so before .sl
-11-10-26 package.sh: don't forget about *.pkg for admin update
-11-10-18 cc.*-icc: update and add more
-11-10-11 package.sh: handle package make|view when no source installed
-11-09-11 package.sh: count admin '*** termination code' errors
-11-08-31 mamake.c: add -e, ignore use recursive prereq timestamps
-11-08-29 iffe.sh: add ``set stdio try1.h - try2.h ...''
-11-08-29 iffe.sh: trap EXIT => trap 0 for ancient sh
-11-08-11 iffe.sh: handle ancient sort that doesn't have -k
-11-06-01 make.probe: add more /lib64 logic
-11-05-01 package.sh: fix admin ditto to sync LICENSES too
-11-03-25 package.sh: initialize { $SED $TR } before first use!
-11-03-21 package.sh: fix vpath probes
-11-03-17 iffe.sh: fix cleanup to rm $tmp* instead of $tmp*.*
-11-02-24 package.sh: change curl usage to "curl -L ..."
-11-02-11 package.sh,C+probe,make.probe,mamprobe.sh: add ###.*archaic.*###
-11-02-02 Makefile: add :MAPLIB: check for ancient -lw
-11-02-02 make.probe: handle -print-multi-directory => 64 => /usr/lib64 /lib64
-11-02-02 package.sh: HOSTTYPE=*,*cc*[,-*,...] sets CC [ and CCFLAGS ]
-11-02-02 make.probe: handle gcc $ORIGIN link but exec failure -- gee thanks
-11-01-25 cc.hp.ia64: bundled cc is a pile of shaving cream
-11-01-07 iffe.sh: check debug==3 for is_hdr() failure
-10-11-22 ditto.sh: fix timing problem between |& and exec &p
-10-11-10 package.sh: fix cc cross compile check to use checkcc absolute path
-10-10-10 package.sh: list main env vars at start of make action
-10-10-10 ratz.c: tweak windows delays
-10-09-10 ratz.c: add _SEAR_ARGS for _SEAR_EXEC
-10-09-01 package.sh: fix ratz from source logic
-10-08-25 package.mk: consolidate license file search in .package.licenses.
-10-08-22 ratz.c: run sear bootstrap command detached
-10-08-20 C+probe: version_stamp only if version_flags works
-10-08-17 package.sh: unset makerules *DIR variables in env
-10-08-15 package.sh: "make" action now lists some env values
-10-08-11 mktest.sh: add "DO command ..."
-10-07-27 rt.sh: handle "rt X=Y ..."
-10-06-29 ratz.c: non-option sear args passed to sear_exec()
-10-06-25 iffe.sh: "api" op changed to not do "map-libc" type mappings
-10-06-25 package.sh: "force admin ditto" => no ditto --update option
-10-06-22 C+probe: handle cc that require .[ci] input for version info
-10-06-21 ditto.sh: change default remote access to ssh (about time)
-10-06-12 regress.sh: DIAGNOSTICS [ 1 | 0 | pattern ] and fix EXIT for all
-10-06-09 package.sh: add AT&T to usable nmake check
-10-06-06 iffe.sh,iffe.tst: add { api ver } ops
-10-04-22 package.sh: update "html binary|source" NAME/PASSWORD info
-10-04-15 iffe.sh: don't forget candidate headers for hdr|sys!
-10-04-11 WWW.mk: disable man page metarule -- now done by admin-man(1)
-10-02-14 package.sh: $CC verification needs $INSTALLROOT/bin in PATH
-10-02-11 package.sh: fix package admin make report error count
-10-02-02 package.sh: fix write binary bug that did scp on local fs
-10-02-02 package.mk: up to date binary targets must still be in PACKAGE.*.lst
-10-01-01 package.sh: fix premature $INSTALLROOT/bin during cross compile check
-10-01-01 make.probe: handle ['"] in CC.VERSION.STRING
-09-12-04 iffe.sh: add "opt name" to check for name in $PACKAGE_OPTIONS
-09-11-30 mktest.sh: change RESET to STATE.RESET to make it global
-09-11-14 make.probe: use gcc { -print-multi-directory -print-search-dirs }
-09-11-11 package.sh: re-order and combine cc checks
-09-10-27 C+probe,make.probe,probe.win32: add CC.SUFFIX.DEBUG
-09-10-21 iffe.sh,Makefile: test -e is not in ksh88!
-09-10-06 iffe.sh: handle cc -E #error with 0 exit status (sgi)
-09-10-06 package.sh: stub in ar intercept checks -- not used yet
-09-10-06 ar.ibm.risc: add ar intercept because some AIX require -Xfoo first!!
-09-09-24 regress.sh: fix UMASK logic to create test support files before umask
-09-08-28 release.c: change docs to mention stdin if no file operands
-09-08-24 package.sh: fix isascii() bug that failed on od(1) trailing space
-09-08-20 make.probe: add CC.SHARED.NAME
-09-08-20 regress.sh: add { JOB CONTINUE EXITED KILL FIFO }
-09-08-11 package.sh: filter lines containing : for package results
-09-07-31 make.probe: add CC.AR.ARFLAGS (for AIX ar -xany)
-09-07-31 package.sh,cc.*: fix -dumpmachine to handle 32/64/* bit options
-09-06-24 package.sh: fix admin.db output formatting
-09-05-05 package.sh: export dll hackery environment vars
-09-05-05 package.sh: handle non-identifier hostnames
-09-05-05 mamake.c: pass undefined ${...} identifiers to the shell
-09-05-05 mamake.rt: add macro expansion regression tests
-09-05-01 iffe.sh: fix output initialization *again*
-09-04-28 package.sh: handle admin.db contact field $9
-09-04-15 iffe.sh: add implicit "ini" op to initialize io for subsequent ops
-09-03-31 regress.sh: EXPORT before test => global ENVIRON[]
-09-03-26 package.sh: test fail pattern is 'fail[es]'
-09-03-26 UNIT - ... appends (options) to command line
-09-03-19 TEST.mk: x.tst => x only if x is command target
-09-03-15 regress.sh: add ${MAIN} for base name of main unit
-09-03-10 TEST.mk: add .SOURCE:tests if tests is a dir
-09-03-03 regress.sh: allow command line unit to override UNIT
-09-03-03 mktest.sh: handle IO == $'
-09-02-02 package.sh: delay $INSTALLROOT/bin/.paths generation until mamprobe runs
-09-01-30 cc.mvs.390: c89 balks at [ ()] in -Dname="..."!
-09-01-27 package.sh: add isascii() to use ratz instead of tar
-09-01-20 hurl.sh: add --size=bytes option
-09-01-08 TEST.mk: add test.* prereqs, multiple arg lists with :T=*: binding
-09-01-03 regress.sh: fix UNIT to allow command line override
-09-01-03 mktest.sh: handle TWD
-08-12-24 package.sh: fix cross-compile HOSTTYPE logic
-08-12-15 package.sh,hurl.sh: handle http codes { 301 302 303 }
-08-10-16 make.probe '-fno-stack-protector -fno-stack-protector-all' to cop out!!
-08-09-30 rt.sh: fix ksh93 regression test signal count
-08-09-26 regress.sh: ignore SIGPIPE for SET pipe-input
-08-09-24 package.sh: package only test foo => make --recurse=only recurse tests foo
-08-09-20 make.probe: handle another /usr/bin/file shared lib description
-08-09-20 regress.sh: add --pipefail for SET pipe-input ...
-08-09-17 Makefile: add gdbm1.c for <gdbm-ndbm.h>
-08-09-10 make.probe: add CC.NOPROTECT
-08-08-08 mktest.sh: add --width=width
-08-08-05 dbm.req: favor sleepycat ndbm compatibility
-08-08-04 C+probe: fix stdlib initialization logic
-08-06-24 package.sh: fix $INSTALLROOT/bin/cc intercept time stamp file typo
-08-06-20 TEST.mk: make the localyunit before *.rt => *.tst -- doh
-08-06-20 mktest.sh: prepend $PWD onto PATH for local units -- doh^2
-08-06-11 regress.sh: fix bug that skipped the last test
-08-05-20 regress.sh: add --local to put *.tmp dir in local fs
-08-05-05 regress.sh: add IF command ... ELIF command ... ELSE ... FI
-08-05-01 package.sh: package test => ulimit -c 0
-08-04-28 regress.sh: fix EXPORT quoting
-08-04-28 regress.sh: fix UNIT set check args too
-08-04-24 rt.sh: exit code > 256 => signal termination
-08-04-10 C+probe: change probe_so order to check .so last (Mac OS X ld workaround)
-08-04-01 package.sh: handle multiple admin HOSTTYPEs per HOST
-08-03-28 C+probe: add C++ #include <iostream> (no extension) dir probes
-08-03-17 regress.sh: fix trap on EXIT, add terminated note to final tally
-08-02-28 make.probe: fix probe_warn to include ld!
-08-02-02 make.probe: add CC.RUNPATH to match default -L order
-08-01-31 package.sh: check lib64 for LD_LIBRARY_PATH
-08-01-31 iffe.sh: tweak ancient /bin/sh workarounds
-08-01-28 make.probe: Darwin ld export dynamic is -force_flat_namespace
-08-01-28 C+probe: handle SGI cc error message but exit 0 botch(es)
-08-01-23 package.sh: fix checksum doc typo
-08-01-09 C+probe: add __FUNCTION__ to the undef (don't check) list
-07-12-14 iffe.sh: add set nooptimize
-07-12-03 package.sh: add LC_ALL=C
-07-11-27 package.sh: fix overaggressive *.md5 cleanup
-07-11-20 iffe.sh: treat exit status >= 250 as normal error with no signal
-07-11-05 package.sh: fix write op error count pattern
-07-11-05 package.mk: fix $(~req) .ver binding
-07-08-11 probe.win32: add cl.exe setuid workaround, CC.VERSION[.STRING]
-07-08-01 package.sh: handle 'package read lcl|tgz'
-07-05-08 regress.sh: execute basename instead of absolute path for short $0
-07-04-27 cc.sgi.mips[34]: for #error to exit non-zero -- a no brainer
-07-04-20 mktest.sh: defer to systems without 'grep -q' -- sigh
-07-04-11 mamprobe.sh: handle $(CC.*) => ${mam_cc_*}, $(...) => ${...}
-07-04-11 make.probe: fix CC.PICBIG probe, default { CC.PIC CC.DLL } to BIG
-07-04-04 iffe.sh: prepend ${tst}${ext} to each .c probe
-07-03-28 package.sh: fix binary tgz architecture type duplication
-07-03-28 package.mk: add binary write PACKAGE.$HOSTTYPE.lst
-07-03-28 iffe.sh: add -F header to mac test
-07-03-23 make.probe: handle file(1) that returns 'archive' for .so
-07-03-22 mamprobe.sh: fix STDED probe for implementations that ignore EOF
-07-03-11 package.sh: add nocopyright and tst => nocopyright
-07-03-11 package.mk: add copyright=0
-07-03-08 C+probe: restore IFS after probe.ini
-07-02-26 mamake.c: expand first of ${mam_lib*} for ${AR}
-07-01-05 package.sh: fix "admin write binary" logic
-07-01-01 iffe.sh: add "cmd" --verbose trace
-07-01-01 iffe.sh: sort => LC_ALL=C sort
-07-01-01 C+probe: LC_ALL=C
-06-12-22 make.probe: lean on gcc -v for stdlib, but preserve /usr/local!
-06-11-23 package.sh: *.md5 are not tarballs -- doh
-06-11-23 iffe.sh: add -F, --features=feature-test-header
-06-11-11 make.probe: favor lib64 over lib for hosttype==*64
-06-10-31 make.probe: add "-ignore-source-dir -iquote" test
-06-10-31 iffe.sh: add status{...} code block
-06-10-11 regress.sh: fix DO to handle {...} (time for regress.tst?)
-06-10-11 package.sh: handle already gunzip'd *.tgz
-06-10-06 iffe.sh: add reference for header content tests
-06-09-27 regress.sh: fix UMASK to do DO too (duh)
-06-09-22 iffe.sh: drop -O for npt tests (for msvc intrinsics)
-06-09-14 cc.darwin: drop -O until gcc 4.* gets its act together
-06-09-11 package.sh: { cc ld ldd } intercepts check ${HOSTTYPE%.*} too
-06-09-08 regress.sh: add PIPE INPUT|OUTPUT for pipe io
-06-09-05 C+probe: add { probe_version version_stamp version_string }
-06-09-05 make.probe: add version stamp comment, CC.VERSION[.STRING]
-06-08-27 regress.sh,mktest.sh: add UMASK
-06-08-25 regress.sh: add -b,--ignore-space,IGNORESPACE
-06-08-25 mktest.sh: add IGNORESPACE
-06-08-24 mktest.sh: handle  00 in data
-06-08-24 regress.sh: handle -f* for INPUT|OUTPUT|ERROR
-06-08-16 package.sh: fix 'install flat' logic
-06-08-11 rt.sh: handle style=shell %K date format
-06-07-17 ratz.c: fix __MVS__ FAR definition
-06-07-17 iffe.sh: "header x.h" -- deprecate "include x.h" for .SCAN.iffe
-06-07-17 package.sh: differentiate urls vs. assignments
-06-06-27 rt.sh: add --failed, --heading
-06-06-27 C+probe,TEST.mk,make.probe,mktest.sh,regress.sh: 'ulimit -c 0'
-06-06-26 cc.darwin.ppc: handle -lcc_dynamic disappearance
-06-06-25 mktest.sh: implement PROG
-06-06-11 Makefile: add -ldbm :MAPLIB:, provide public MAPLIB.mk
-06-05-06 package.sh: add PACKAGE_admin_tail_timeout
-06-05-22 ratz.c: upgrade to zlib-1.2.3
-06-05-09 package.sh: fix admin.db docs
-06-03-11 package.sh: fix `package use - command ...'
-06-03-05 make.probe: work around pedantic bash 3.1 mismatched " in `.`
-06-02-14 package.sh: "results failed test" == "results test failed"
-	 cc.sgi.*: add _AST_cc_OPTIONS parameterization, -OPT:Olimit=0
-	 cc.linux.ia64-icc: add for Intel cc
-06-02-02 package.sh: FreeBSD stuck with OS version for all arch
-06-02-01 package.mk: fix locale logic (tw -d requires dir arg)
-06-01-31 package.sh: require $CC only for make|test
-06-01-30 package.sh,hurl.sh: use the backwards-compatible --http-passwd
-	 package.sh: add more pdksh => /bin/sh checks
-06-01-26 package.sh: wget --http-pass => --http-password
-	 package.sh: fix wget error logic
-	 hurl.sh: wget --http-pass => --http-password
-06-01-11 package.mk: pass package.license.class to make --mam too
-	 package.mk: variants=pattern => --variants=pattern
-	 package.sh: Darwin rel<=7 => darwin7.ppc
-	 package.sh: FreeBSD rel<=4 => freebsd4
-	 package.sh: FreeBSD rel<=5 => freebsd5
-05-12-07 iffe.sh: don't emit <stdio.h> if <sfio.h>|<ast.h> (XXX)
-05-12-05 make.probe: disable readonly.exe core dump via ulimit -c 0
-05-09-22 mktest.sh: add EXEC [ ++NOOUTPUT ++NOERROR ++NOEXIT ]
-05-09-21 mktest.sh: fix --style=shell compare to ignore \r
-05-09-12 TEST.mk: all --force to force %.rt regeneration
-05-09-05 TEST.mk: regenerate from %.rt only if newer, :SAVE: %.tst
-05-08-25 mktest.sh: add
-	 TEST.mk: add %.rt=>%.tst for mktest
-05-08-18 package.sh: 'package host cpu' now checks $NPROC first
-05-07-17 iffe.sh: add { define extern include print } ops
-	 iffe.sh: accept output{...}end output on success only -- doh
-05-07-01 package.sh: add TARPROBE for tar B flag probe
-05-06-24 package.sh: fix binary read chmod via *.sum
-05-06-06 package.sh: fix KEEP_HOSTTYPE logic to handle synthesized types
-05-06-01 make.probe: verify that cc_pic works for hosted cc
-	 cc.lynxos.ppc: make -mshared the default
-	 package.sh: note $INSTALLROOT/bin/@(cc|ld|ldd) installation
-05-05-25 make.probe: add CC.INCLUDE.LOCAL instead of -I- in CC.DIALECT
-05-05-24 iffe.sh: really fix grouping logic -- with tests this time
-	 package.sh: pipe/socket configuration mismatches => use /bin/sh
-05-04-28 TEST.mk: add $(TESTS)
-05-04-19 package.sh: package results test uses rt if possible
-	 iffe.sh: fix 'op var - ... - ...' grouping logic
-05-04-15 rt.sh: handle autom4ate style
-05-04-11 regress.sh: fix unit name when command line unit also specified
-	 rt.sh: handle all AST package test output formats
-	 package.sh: fix make docs for options passed to underlying make
-05-04-08 package.sh: cp -p makerules.mo to $OK to preserve mtime
-	 regress.sh: add "TITLE name" to change TEST output title
-05-04-01 rt.sh: add pretty make test + regress.sh wrapper
-05-03-29 package.sh: test -e path => test -f path -o -d path
-05-03-24 make.probe: fix CC.PICBIG probe to prefer -fPIC over -fpic -- doh
-05-03-19 mamake.c: command line name=var also defines name.FORCE=var
-05-03-11 regress.sh: unset LC_ALL when LC_* EXPORT'd
-	 package.sh: old make.out saved in circular make.out.[1-9]
-	 mamake.c: sync with nmake :W=O:
-05-03-01 package.sh: fix flat hierarchy initialization
-	 package.sh: admin action now properly resets sibling remote logs
-	 package.mk: relax unknown/unwritten package messages to warnings
-	 package.sh: handle space in command line name=value
-	 make.probe: add MVS -Wc,dll,exportall,longname,rent to CC.DLL probe
-05-02-24 package.sh: hosttype *.powerpc => *.ppc
-	 cc.lynxos.ppc,ldd.lynxos.ppc: add
-05-02-22 mamake.c: fix { -G --debug-symbols -S --strip-symbols } MAMAKEFLAGS bug
-05-02-20 probe.win32: handle /platformsdk mount
-05-02-19 package.sh,package.mk: add write tst for tgz in tst subdir
-05-02-18 package.sh: accept cc -dumpmachine with 0 or 1 -
-05-02-14 package.sh: handle multiple architectures per host in admin.db
-	 Makefile,package.sh: honor $INSTALLROOT/bin/.paths overrides
-	 package.sh: normalize trailing [-_]bits in host type
-	 iffe.sh: some ksh-compatible shells don't do *(pattern)
-05-02-11 iffe.sh: back out 05-01-11 child process stdin hijack
-	 cc.lynxos.i386: -dynamic instead of -static default
-05-02-10 package.sh: cyg usr/doc => usr/share/doc
-05-02-08 package.sh: drop -m with pax -- delta bug fixed 2005-02-08
-	 iffe.sh: work around old bash 0<... redirection bug
-05-02-06 package.mk: source.tgz: update generated files only when they change
-05-02-02 *.sh,*probe: IFS may be unset and { ash bsh } don't on startup -- wow
-05-01-11 package.sh: update setup docs to include authorize+password
-	 package.mk: fix .source.cyg final directory edit
-	 package.mk: notice=1 for conspicuous empty NOTICE file
-	 WWW.mk: fix *-index.html installation
-	 filter.sh: retain input file suffix in tmp copy
-	 mamexec.c: fix non-contiguous "exec" bug that skipped lines
-	 iffe.sh: fix candidate lib test to try grouping subsequent libs
-	 iffe.sh: fix child process stdin hijack that skipped input lines
-	 iffe.sh: --shell=osh to force read -r compatibility command
-	 iffe.sh: chop iffe input leading space before # for KnR compatibility
-05-01-05 package.sh: add ${TAR} ${TARFLAGS} and tar B flag for pipes
-	 mamake.c: fix makefile scan to ignore lib*.[hH]
-	 iffe.sh: immunize function/symbol tests from aggressive -O
-04-12-28 WWW.mk: add :WWWPAGE: faq.*.mm index generator
-04-12-21 ratz.c: make sure tmp dir is writable -- doh
-04-12-08 iffe.sh: fix dat test for aggressive -O
-04-12-01 iffe.sh: add `include file' to pull in #define's for `exp'
-04-11-11 package.sh: default MAKESKIP is "*[-.]*"
-04-10-22 ratz.c: change docs to note zlib license
-	 mamake.c: handle --debug-symbols and --strip-symbols
-	 package.sh: make (debug|strip)=1 => --(debug|strip)-symbols
-	 package.mk: add :LICENSE: => package.license.class
-	 mamake.c: fix recursive order logic
-04-10-18 package.mk: add :LICENSE:, :OMIT: to omit package subdirs
-04-10-11 package.sh: add 'authorize name' and 'password password'
-04-10-01 iffe.sh: double check $static link with ! $static
-	 Makefile: add BUILTIN_LIB to $INSTALLROOT/bin/.paths
-	 make.probe: add CC.DIALECT EXPORT={ALL,REF,EXT,DLL}
-	 package.sh: add BUILTIN_LIB to $INSTALLROOT/bin/.paths
-04-09-21 package.mk: $(init)$(name) is now an implicit prereq
-04-09-09 package.sh: copy makerules.mo to $INSTALLROOT/bin/ok
-04-09-01 package.mk,package.sh: rename *.txt => *.README
-	 package.mk: add the runtime package type (no *.[ah])
-	 iffe.sh: fix key test reports
-04-08-26 Makefile: { add m2.c m3.c } -lm tests for { frexp[l] ldexp[l] }
-04-08-11 package.mk: handle HOSTTYPE for Solaris > 9
-	 package.sh: add `checkaout proto' for { make view }
-	 package.sh: check for { md5sum md5 }
-	 iffe.sh: add {if|elif|else|endif} test ...
-	 iffe.sh: add 'exp - expression' and '( expression )'
-	 iffe.sh: add 'name = test ...' user defined macros
-	 iffe.sh: add '! test ...' negation
-	 TEST.mk: add implied { .c .sh } generated prereq
-	 cc.darwin.ppc: handle 10.3 -dylib mess
-04-08-01 package.mk: let include handle nested requirements -- duh
-04-07-31 package.sh: attempt a second ping before admin assumes host down
-04-07-26 package.sh: fix hp.ia64 HOSTTYPE
-04-07-23 probe.win32: generalize #include dir order search
-04-07-17 regress.sh: add INPUT -x for chmod +x
-04-07-01 regress.sh: TMP => TWD
-04-06-29 regress.sh: put COMMAND in $TWD too
-04-06-21 regress.sh: mkdir -p INPUT and OUTPUT intermediate dirs
-	 TEST.mk: add :TEST: -- to disable .c .sh search
-04-06-18 TEST.mk: add .SCAN.tst
-04-06-17 regress.sh: TEST returns true if active, false otherwise
-	 regress.sh: add CD to change test pwd from $TWD
-04-06-16 regress.sh: add TWD for ./unit.tmp override
-	 regress.sh: DO now flushes previous test
-	 regress.sh: INPUT and OUTPUT handle -f for printf instead of print
-04-06-11 package.sh: make sure $INSTALLROOT/bin is in front of $PATH
-	 package.sh: skip nmake if older than 2000-10-31
-04-05-20 package.sh: fix arg vs. package parse with - or '' to disambiguate
-04-05-11 package.sh: package verbose update lists closure for package setup
-	 package.sh: add src/lib/libardir to nmake proto bootstrap
-	 regress.sh: probe for rm -u vs. chmod -R u+rwx
-04-05-01 package.sh: $CC must be C, not C++; allow release command on $PATH
-04-04-15 make.probe: check probe_libdir false positives
-	 package.sh: add lib/package/*.lic src package subdirs
-	 package.mk: add mamfile=0 to inhibit Mamfile generation
-	 iffe.sh: config name_DECLARED => HAVE_name_DECL
-	 iffe.sh: fix mac to handle default value
-04-04-11 iffe.sh: normalize sed [\\\\/] quoting
-04-04-04 package.mk: only checksum generated tarballs
-	 mamprobe.sh: add STDCHMOD
-04-04-01 C+probe: set export LANG=C for uniform error messages
-	 make.probe: another CC.STDLIB tweak
-	 package.sh: fix regress core dump pattern, expand [a-z] match ranges
-04-03-31 Makefile: add intl :MAPLIB: test
-	 make.probe: fix CC.STDLIB search; drop CC.* path duplicates
-04-03-28 iffe.sh: drop unused exec $stdin<&0 dup
-04-03-25 Makefile: add iconv :MAPLIB:
-	 package.sh: use ${PING:-ping -c 1 -w 4}, allowing admin.db override
-04-03-24 package.mk: add *.md5 checksum for each *.(c|exe|tgz)
-	 package.sh: update base change on md5 sum instead of size
-	 iffe.sh: adjust case label  and keyword quoting for ancient /bin/sh
-04-03-22 probe.win32: ncc => nld
-04-03-19 CONVERT.mk: change the instructions and old source dir default
-	 package.mk: fix recurse=list check
-	 package.mk: add *.md5 checksum for each *.(c|exe|tgz)
-	 package.sh: fix update base/delta/sync existence check
-04-03-18 iffe.sh: -d2 does not remove core dumps on exit
-04-03-17 package.sh: fix make recurse arg/action order
-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 unnamed { ... } blocks
-	 regress.sh: add COPY from to, like MOVE but comparison still done
-	 regress.sh: rm -rfu to handle test dirs w/o u+rwx
-03-08-14 Makefile: 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 it's *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 uninitialized 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 it's 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 $(") to
-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 variable 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 <sys/types.h> 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 it's 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 <\>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 <stdlib.h> and <string.h>
-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 <sfio.h>
-01-02-14 cc.sgi.mips3,cc.sgi.mips4: handle -mips2 -mips3 -mips4 for cross cc
-	 C+probe: quote "$cc" when it's 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 disappearing 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 OS X 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: verify 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 <sys/types.h>
-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: strengthen -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<abi>_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 ---
-
-

-


- - - - - - -
August 07, 2012
-

- -

- - - diff --git a/lib/package/INIT.pkg b/lib/package/INIT.pkg deleted file mode 100644 index 32f1456de..000000000 --- a/lib/package/INIT.pkg +++ /dev/null @@ -1,12 +0,0 @@ -INIT :PACKAGE: - -:CATEGORY: admin utils - -:INDEX: the package command with support scripts and utilities - -:DESCRIPTION: - The INIT package is required by all but the standalone - and self extracting archive packages. It contains - the package command, support scripts, and utilities. - The package command installs binary packages, makes - source packages, and generates new package tarballs. diff --git a/lib/package/INIT.req b/lib/package/INIT.req deleted file mode 100644 index e69de29bb..000000000 diff --git a/lib/package/INIT.ver b/lib/package/INIT.ver deleted file mode 100644 index 8dc5177fc..000000000 --- a/lib/package/INIT.ver +++ /dev/null @@ -1 +0,0 @@ -INIT 2012-08-01 2012-08-01 1 diff --git a/lib/package/ast-ast.pkg b/lib/package/ast-ast.pkg deleted file mode 100644 index 1fedac86d..000000000 --- a/lib/package/ast-ast.pkg +++ /dev/null @@ -1,11 +0,0 @@ -ast-ast :PACKAGE: libast - -:LICENSE: *.open - -:CATEGORY: devel libs - -:INDEX: the AST library, period - -:DESCRIPTION: - The AT&T Software Technology ast-ast package from AT&T Research - contains the AST library. diff --git a/lib/package/ast-base.pkg b/lib/package/ast-base.pkg deleted file mode 100644 index a6363b787..000000000 --- a/lib/package/ast-base.pkg +++ /dev/null @@ -1,22 +0,0 @@ -ast-base :PACKAGE: \ - ksh93 pax html proto bzip tw builtin libast libardir libcmd \ - libdll libexpr libodelta librecsort libsum libuu libvdelta \ - libbz libz tests 3d coshell cpp cs mam msgcc nmake probe ss \ - libcoshell libcs libmam libpp libcodex paxlib codexlib \ - libdss libpz dsslib libtaso - -:COVERS: ast-make ast-ksh ast-ast - -:LICENSE: *.open - -:CATEGORY: devel libs shells - -:INDEX: ksh, ksh builtin commands, pax, nmake, tw, sfio, and AST libraries - -:DESCRIPTION: - The AT&T Software Technology ast-base package from AT&T Research - contains commands and libraries required by all other AST based - packages. Included are ksh93, ksh93 builtin commands, a pax that - generates compact delta archives, nmake, the 3d user level versioning - filesystem, coshell for network execution, a multi-dialect C preprocessor - and companion library, and libraries shared by the other AST packages. diff --git a/lib/package/ast-base.req b/lib/package/ast-base.req deleted file mode 100644 index e69de29bb..000000000 diff --git a/lib/package/ast-base.ver b/lib/package/ast-base.ver deleted file mode 100644 index 0b7d4a1f8..000000000 --- a/lib/package/ast-base.ver +++ /dev/null @@ -1 +0,0 @@ -ast-base 2012-08-01 2012-08-01 1 diff --git a/lib/package/ast-dss.pkg b/lib/package/ast-dss.pkg deleted file mode 100644 index e090ae4a9..000000000 --- a/lib/package/ast-dss.pkg +++ /dev/null @@ -1,13 +0,0 @@ -ast-dss :PACKAGE: dss libdss libpz dsslib - -:REQUIRES: ast-base - -:LICENSE: *.(open|proprietary|special) - -:CATEGORY: algorithms database utils - -:INDEX: data stream scan command and support libraries - -:DESCRIPTION: - The AT&T Software Technology ast-dss package from AT&T Research - contains the dss command, plugins and support libraries. diff --git a/lib/package/ast-ksh.pkg b/lib/package/ast-ksh.pkg deleted file mode 100644 index ea046c5ee..000000000 --- a/lib/package/ast-ksh.pkg +++ /dev/null @@ -1,89 +0,0 @@ -ast-ksh :PACKAGE: ksh93 libast libcmd libcoshell libsum libdll - -:COVERS: ksh - -:LICENSE: *.open - -:CATEGORY: shells - -:INDEX: ksh and support libraries - -:DESCRIPTION: - The AT&T Software Technology ast-ksh package from AT&T Research - contains ksh and support libraries. This is the minimal set of - components needed to build ksh. - -:DETAILS: cyg - :README: - This package installs a standalone ksh93 executable ksh93.exe - and its man page ksh93.1. If /bin/ksh.exe does not exist then - these symlinks - /bin/ksh.exe => ksh93.exe - /usr/share/man/man1/ksh93.1 => ksh.1 - are created. This allows alternative ksh implementations, - e.g., /bin/pdksh.exe, to be selected by changing the ksh.exe - and ksh.1 symbolic links. In addition, ksh and ksh93 paths are - added to /etc/shells if not already present. - $() - Each builtin or special command accepts the --man and --html - options to show the man page on the standard error. The --??? - option describes the self documenting options available to all - builtin and special commands. - $() - The standlone ksh is statically linked with the AST libcmd - library which provides several builtin versions of /bin - commands. "builtin | grep /opt/ast/bin" lists the libcmd - builtins on the standard output. /opt/ast/bin/FOO accesses - the FOO builtin, whether the /opt/ast/bin directory exists - or not. "builtin FOO" allows /opt/ast/bin/FOO to be accessed - as FOO, bypassing the $PATH setting. To enable all libcmd - builtins do one of the following: - (a) create the directory /opt/ast/bin and the file - /opt/ast/bin/.paths with this line - BUILTIN_LIB=. - and place /opt/ast/bin before /bin and /usr/bin in $PATH - (this will affect all ksh subshells and scripts) - (b) run "builtin $( builtin | sed -e '/\//!d' -e 's,.*/,,' )" - (this will affect only the current shell) - Some scripts may run significantly faster with libcmd builtins - enabled. - $() - The AST library checks the DOSPATHVARS environment variable - for variable path values to convert to and from native windows - format when cross-executing between Cygwin and non-Cygwin - programs. The value is a space separated list of environment - variables to convert. PATH is handled by Cygwin so it is not - converted by the AST library. - $() - The ast-ksh Cygwin source package provides a bootstrap build - environment that is not suited for an edit/build/debug cycle. - If you want to explore and modify the source then you should - install the (non-Cygwinized) ast-base package which includes - AT&T nmake. With ast-base you will also be able to regenerate - the ast-ksh Cygwin source and binary packages. - $() - For more information on ksh and other AT&T AST tools see - http://www.research.att.com/sw/download/ - :EXPORT: - SHOPT_CMDLIB_DIR=1 - bin/ksh93.exe :INSTALL: bin/ksh.exe - share/man/man1/ksh93.1 :INSTALL: man/man1/sh.1 - :POSTINSTALL: - if [ ! -e /bin/ksh.exe ] - then ln -fs ksh93.exe /bin/ksh.exe - ln -fs ksh93.1 /usr/share/man/man1/ksh.1 - else echo "/bin/ksh.exe already exists" - fi - if [ -f /etc/shells ] - then for i in /bin/ksh93 /bin/ksh /usr/bin/ksh93 /usr/bin/ksh - do if grep $i /etc/shells >/dev/null 2>&1 - then echo "$i already in /etc/shells" - else echo $i >> /etc/shells - echo "$i added to /etc/shells" - fi - done - else echo "no /etc/shells file" - fi - exit 0 - :TEST: bin/ksh - KSH=$<; cd src/cmd/ksh93/tests; CYGWIN="$$CYGWIN ntsec binmode" SHELL=$$KSH $$KSH shtests diff --git a/lib/package/ast-ksh.req b/lib/package/ast-ksh.req deleted file mode 100644 index e69de29bb..000000000 diff --git a/lib/package/ast-ksh.ver b/lib/package/ast-ksh.ver deleted file mode 100644 index 45271967b..000000000 --- a/lib/package/ast-ksh.ver +++ /dev/null @@ -1 +0,0 @@ -ast-ksh 2012-08-01 2012-08-01 1 diff --git a/lib/package/ast-make.pkg b/lib/package/ast-make.pkg deleted file mode 100644 index c4fe478af..000000000 --- a/lib/package/ast-make.pkg +++ /dev/null @@ -1,19 +0,0 @@ -ast-make :PACKAGE: \ - nmake cpp probe 3d ksh93 coshell cs ss pax paxlib tw \ - libast libardir libcmd libsum libdll libcoshell libpp - -:AUXILIARY: bin/proto bin/pax - -:LICENSE: *.open - -:COVERS: ast-ksh ast-ast - -:CATEGORY: devel libs shells - -:INDEX: ksh, pax, nmake - -:DESCRIPTION: - The AT&T Software Technology ast-make package from AT&T Research - contains an almost minimal set of commands and libraries required - to run AST nmake. ksh, coshell, pax, tw, and the 3d user-level - filesystem are also included. diff --git a/lib/package/ast-open.pkg b/lib/package/ast-open.pkg deleted file mode 100644 index 927d6cc7c..000000000 --- a/lib/package/ast-open.pkg +++ /dev/null @@ -1,20 +0,0 @@ -ast-open :PACKAGE: \ - ksh93 kshlib pax html proto bzip libast libardir libcmd libdll \ - libexpr libodelta librecsort libsum libuu libvdelta libbz \ - libz tests 3d coshell cpp cs mam msgcc nmake probe ss \ - libcoshell libcs libmam libpp libcodex paxlib codexlib \ - at builtin codex dss dsslib ie mailx mam ncsl pack pzip \ - re sort sortlib std tksh tw warp libdss libpz \ - libtksh libtk vczip libvcodex libvgraph libtaso jcl libjcl - -:COVERS: ast-base ast-dss - -:LICENSE: *.open - -:CATEGORY: devel libs mail shells utils - -:INDEX: ksh, pax, nmake, sfio, and AST open source commands and libraries - -:DESCRIPTION: - The AT&T Software Technology ast-open package from AT&T Research - contains all of the AST open source commands and libraries. diff --git a/lib/package/ast-open.req b/lib/package/ast-open.req deleted file mode 100644 index e69de29bb..000000000 diff --git a/lib/package/ast-open.ver b/lib/package/ast-open.ver deleted file mode 100644 index de483d215..000000000 --- a/lib/package/ast-open.ver +++ /dev/null @@ -1 +0,0 @@ -ast-open 2012-08-01 2012-08-01 1 diff --git a/lib/package/ast.def b/lib/package/ast.def deleted file mode 100644 index c5b77229e..000000000 --- a/lib/package/ast.def +++ /dev/null @@ -1,49 +0,0 @@ -# -# ast default license info -# - -message_set=3 - -contributor+=( - [gsf]="Glenn Fowler " - [dgk]="David Korn " - [kpv]="Phong Vo " - - [aedgar]="Adam Edgar " - [alb]="Adam Buchsbaum " - [ashaikh]="Aman Shaikh " - [bala]="Bala Krishnamurthy " - [brussell]="Brian Russell " - [chen]="Robin Chen " - [dfwc]="Don Caldwell " - [ek]="Lefty Koutsofios " - [gruber]="Bob Gruber " - [jiawang]="Jia Wang " - [jkf]="Jeff Fellin " - [jlk]="Jeff Korn <@google.com>" - [kfisher]="Kathleen Fisher " - [kwc]="Ken Church <@microsoft.com>" - - [bwk]="Brian Kernigham " - [dmr]="Dennis Ritchie " - [doug]="Doug McIlroy " - [ekrell]="Eduardo Krell " - [jjs]="John Snyder " - [rao]="Herman Rao " - - [ast-users]="AST users mailgroup " - [ast-developers]="AST developers mailgroup " -) - -license+=( - organization="Information and Software Systems Research" - domain=research.att.com - parent="AT&T" - corporation="Intellectual Property" - company="Research" - location="Florham Park NJ" - - package=ast - since=1986 - author=gsf+dgk+kpv -) diff --git a/lib/package/ast.lic b/lib/package/ast.lic deleted file mode 100644 index 225faa6ff..000000000 --- a/lib/package/ast.lic +++ /dev/null @@ -1,5 +0,0 @@ -. ast.def -. epl.def -license+=( - start=2011 -) diff --git a/lib/package/bsd.def b/lib/package/bsd.def deleted file mode 100644 index 21a6e33a1..000000000 --- a/lib/package/bsd.def +++ /dev/null @@ -1,45 +0,0 @@ -message_set=18 - -contributor+=( - [bj]="Bill Joy" -) - -license+=( - company="The Regents of the University of California" - - package=BSD - since=1979 - - type=bsd - name="${license.package} Open Source" - url=http://www.opensource.org/licenses/bsd-license - urlmd5=5bfd485a7ffdb6249d1097da94ae75fc - - notice=' -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. -3. Neither the name of the University nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS -OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. -' -) diff --git a/lib/package/bsd.lic b/lib/package/bsd.lic deleted file mode 100644 index 874a89d82..000000000 --- a/lib/package/bsd.lic +++ /dev/null @@ -1 +0,0 @@ -. bsd.def diff --git a/lib/package/epl.def b/lib/package/epl.def deleted file mode 100644 index 60eea6b85..000000000 --- a/lib/package/epl.def +++ /dev/null @@ -1,8 +0,0 @@ -license+=( - type=epl - id=eclipse - name="Eclipse Public License" - version=1.0 - url=http://www.eclipse.org/org/documents/${license.type}-v${license.version//./}.html - urlmd5=b35adb5213ca9657e911e9befb180842 -) diff --git a/lib/package/ksh.pkg b/lib/package/ksh.pkg deleted file mode 100644 index 4783527e4..000000000 --- a/lib/package/ksh.pkg +++ /dev/null @@ -1,14 +0,0 @@ -ksh :PACKAGE: - -:LICENSE: *.open - -:CATEGORY: shells - -:INDEX: standalone AT&T ksh executable - -:DESCRIPTION: - The AT&T Software Technology ksh package from AT&T Research - contains the AT&T ksh executable implemented by David Korn. - The download file is a gzipped ksh executable. If you want - to build ksh from the source then download one of the ast-ksh, - ast-base or ast-open packages. diff --git a/lib/package/zlib.def b/lib/package/zlib.def deleted file mode 100644 index f82f1be53..000000000 --- a/lib/package/zlib.def +++ /dev/null @@ -1,39 +0,0 @@ -message_set=20 - -contributor+=( - [jlg]="Jean-loup Gailly" - [ma]="Mark Adler" -) - -license+=( - company="Jean-loup Gailly and Mark Adler" - - package=zlib - since=1995 - - type=zlib - name="${license.package} Open Source" - url=http://www.opensource.org/licenses/Zlib - urlmd5=4cfd2c17b0340c2f3c80b577a8e45bee - - notice=' -This software is provided "as-is", without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source - distribution. -' -) diff --git a/lib/package/zlib.lic b/lib/package/zlib.lic deleted file mode 100644 index 7b7c52066..000000000 --- a/lib/package/zlib.lic +++ /dev/null @@ -1 +0,0 @@ -. zlib.def diff --git a/src/cmd/INIT/Mamfile b/src/cmd/INIT/Mamfile index a44268cc3..a6618fff5 100644 --- a/src/cmd/INIT/Mamfile +++ b/src/cmd/INIT/Mamfile @@ -17,8 +17,6 @@ setv CCFLAGS ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${mam_cc_OPTIMIZE}? setv CCLDFLAGS ${-strip-symbols?1?${mam_cc_LD_STRIP}??} setv COTEMP $$ setv LDFLAGS -make ${PACKAGEROOT}/lib/package/ast.lic -done ${PACKAGEROOT}/lib/package/ast.lic make install make hurl make hurl.sh diff --git a/src/cmd/INIT/package.sh b/src/cmd/INIT/package.sh index 188b70657..acb5a0844 100644 --- a/src/cmd/INIT/package.sh +++ b/src/cmd/INIT/package.sh @@ -253,10 +253,6 @@ case `(getopts '[-][123:xyz]' opt --xyz; echo 0$opt) 2>/dev/null` in The hierarchy can be rebuilt by \bpackage make\b.] [+contents\b [ \apackage\a ... ]]?List description and components for \apackage\a on the standard output.] - [+copyright\b [ \apackage\a ... ]]?List the general copyright - notice(s) for \apackage\a on the standard output. Note that - individual components in \apackage\a may contain additional or - replacement notices.] [+export\b [ \avariable\a ...]]?List \aname\a=\avalue\a for \avariable\a, one per line. If the \bonly\b attribute is specified then only the variable values are listed. If no @@ -497,15 +493,6 @@ case `(getopts '[-][123:xyz]' opt --xyz; echo 0$opt) 2>/dev/null` in that contain the package name, package components, references to other packages, and a short package description. *\b.pkg\b files are used by \bpackage write\b to generate new source and binary packages.] -[+?\b$PACKAGEROOT/lib/package/\b\agroup\a\b.lic\b files contain license - information that is used by the \bAST\b \bproto\b(1) and \bnmake\b(1) - commands to generate source and binary license strings. \agroup\a is - determined by the first \b:PACKAGE:\b operator name listed in the - component \bnmake\b makefile. \agroup\a\b.lic\b files are part of the - licensing documentation. Each component may have its own \bLICENSE\b file - that overrides the \agroup\a\b.lic\b file. The full text of the licenses - are in the \b$PACKAGEROOT/lib/package/LICENSES\b and - \b$INSTALLROOT/lib/package/LICENSES\b directories.] [+?A few files are generated in \b$PACKAGEROOT/lib/package/gen\b and \b$INSTALLROOT/lib/package/gen\b. \apackage\a\b.ver\b contains one line consisting of \apackage version release\a \b1\b for the most recent @@ -635,7 +622,7 @@ do case $# in 0) set host type ;; esac case $1 in - admin|clean|clobber|contents|copyright|export|host|install|license|list|make|read|regress|release|remove|results|setup|test|update|use|verify|view|write|TEST) + admin|clean|clobber|contents|export|host|install|license|list|make|read|regress|release|remove|results|setup|test|update|use|verify|view|write|TEST) action=$1 shift break @@ -849,15 +836,6 @@ are ${bB}ast${eB} ${Mnmake} makefiles that contain the package name, package com references to other packages, and a short package description. *${bB}.pkg${eB} files are used by ${bF}package write${eF} to generate new source and binary packages. ${bP} -${bB}\$PACKAGEROOT/lib/package/${eB}${bI}GROUP${eI}${bB}.lic${eB} files contain license information that -is used by the ${bB}ast${eB} ${Mproto} and ${Mnmake} commands to generate source and -binary license strings. ${bI}GROUP${eI} is determined by the first ${bB}:PACKAGE:${eB} operator -name listed in the component ${bB}nmake${eB} makefile. ${bI}GROUP${eI}${bB}.lic${eB} files are part of the -licensing documentation. Each component may have its own ${bB}LICENSE${eB} file that -overrides the ${bI}GROUP${eI}${bB}.lic${eB} file. The full text of the licenses are in the -${bB}\$PACKAGEROOT/lib/package/LICENSES${eB} and ${bB}\$INSTALLROOT/lib/package/LICENSES${eB} -directories. -${bP} A few files are generated in ${bB}\$PACKAGEROOT/lib/package/gen${eB} and ${bB}\$INSTALLROOT/lib/package/gen${eB}. ${bI}PACKAGE${eI}${bB}.ver${eB} contains one line consisting of${bX} ${bI}PACKAGE VERSION RELEASE${eI} 1${eX} @@ -1073,10 +1051,6 @@ ${bT}(5)${bD}Read all unread package archive(s):${bX} contents [ package ... ] List description and components for PACKAGE on the standard output. - copyright [ package ... ] - List the general copyright notice(s) for PACKAGE on the - standard output. Note that individual components in PACKAGE - may contain additional or replacement notices. export [ VARIABLE ... ] List NAME=VALUE for each VARIABLE, one per line. If the \"only\" attribute is specified then only the variable @@ -4289,26 +4263,6 @@ get() # host path [ file size ] esac } -# generate copyright notice - -copyright() -{ - if test -f $1.lic - then echo $1 package general copyright notice - echo - proto -c'#' -p -s -l $1.lic -o type=verbose,author='*' /dev/null - return 0 - fi - case $1 in - *-*) eval `echo '' $1 | sed 's/\([^-]*\)-\(.*\)/__j__="\1" __i__="\2"/'` - if copyright $__i__ || copyright $__j__ - then return 0 - fi - ;; - esac - return 1 -} - # run remote make on host remote() # host no-exec-background @@ -5240,32 +5194,6 @@ contents|list) esac ;; -copyright) - # all work in $PACKAGESRC - - cd $PACKAGESRC - - # generate the package list - - set '' $target $package - shift - argc=$# - case $# in - 0) set '' `echo *.lic | sed 's,\.lic,,g'` - shift - case $1 in - '*') echo $command: $action: no packages >&2 - exit 1 - ;; - esac - ;; - esac - checkaout proto || exit - for i - do copyright $i - done - ;; - export) case $INSTALLROOT in $PACKAGEROOT) INSTALLROOT=$INSTALLROOT/arch/$HOSTTYPE diff --git a/src/cmd/INIT/proto.c b/src/cmd/INIT/proto.c index 51434d3a4..cf0cdfa97 100644 --- a/src/cmd/INIT/proto.c +++ b/src/cmd/INIT/proto.c @@ -23,6 +23,41 @@ #pragma clang diagnostic ignored "-Wunused-value" #pragma clang diagnostic ignored "-Wstring-plus-int" +/* + * ksh 93u+m distribution note: + * + * AT&T used proto for two purposes: + * + * 1. To convert ANSI C code to a form compatible with ancient (pre-ANSI) K&R + * C compilers using extremely complex macro voodo. It was similarly + * capable of translating to C++. Theoretically, this entire code base + * should compile on anything from a 1980s K&R C compiler to a modern C++ + * compiler. In practice, given the massive amount of bit rot we + * inherited, I am 99.9% sure that this has been broken for many years. + * + * 2. To automagically insert license comments into source files based on an + * extremely complicated license database system. (In all-too-typical AT&T + * fashion, this second function of proto is completely unrelated to the + * first.) + * + * Function 2 has now been removed because, unlike the AT&T legal department, + * I don't think it's worth going to unspeakably extreme lengths to avoid + * maintaining license information in source code files by hand. + * + * In the process, the code below was cleaned up, but it's still generated + * code; most macros have been expanded to their numeric value, etc. So don't + * expect to understand the code below. The actual source code is in various + * places in these two directories in the ast-open-history repo: + * + * https://github.com/ksh93/ast-open-history/tree/master/src/cmd/proto + * https://github.com/ksh93/ast-open-history/tree/master/src/lib/libpp + * + * Meanwhile, nobody wants to compile ksh with a pre-ANSI K&R C compiler in + * 2021 -- and there's no good reason to be compatible with C++ as standard C + * compilers are universally available. So, proto will go away when I manage to + * figure out how to pry it loose from the innards of this build system. + */ + /* : : generated by proto : : */ #if !defined(__PROTO__) @@ -82,15 +117,11 @@ #if !defined(__LINKAGE__) #define __LINKAGE__ /* 2004-08-11 transition */ #endif -#line 1 "proto.c" - -#line 151 # ifndef __STDC__ # ifndef creat # define creat _huh_creat # endif -# if 1 # ifndef access # define access _huh_access # endif @@ -101,16 +132,11 @@ # define mkdir _huh_mkdir # endif # endif -# endif # include # include # include -# if 1 # include -# else -# include -# endif # ifndef __STDC__ # undef access @@ -157,24 +183,16 @@ # define rename(x,y) ((link(x,y)||remove(x))?-1:0) # endif -# if 1 extern __MANGLE__ int access __PROTO__((const char*, int)); extern __MANGLE__ int mkdir __PROTO__((const char*, int)); -# endif # endif -# if 1 extern __MANGLE__ int utime __PROTO__((const char*, time_t*)); -# endif - - - - - int -replace __PARAM__((const char* newfile, const char* oldfile, int preserve), (newfile, oldfile, preserve)) __OTORP__(const char* newfile; const char* oldfile; int preserve;){ +replace __PARAM__((const char* newfile, const char* oldfile, int preserve), (newfile, oldfile, preserve)) __OTORP__(const char* newfile; const char* oldfile; int preserve;) +{ struct stat st; time_t ut[2]; @@ -200,16 +218,8 @@ replace __PARAM__((const char* newfile, const char* oldfile, int preserve), (new # undef utime # define utime ______utime -#line 1 "../../lib/libpp/ppproto.c" - -#line 13 static const char id[] = "\n@(#)$Id: proto (AT&T Research) 2012-04-14 $\000\n"; -#line 1 "../../lib/libpp/ppfsm.c" - -#line 1 "../../lib/libpp/pplib.h" - -#line 108 struct ppsymbol; struct ppindex; @@ -243,14 +253,6 @@ struct ppinstk char type; }; - - - - - - - - struct pplist { char* value; @@ -316,22 +318,13 @@ struct pathid struct ppfileid id; }; -#line 1 "../../lib/libpp/pp.h" - -#line 206 - -#line 217 - -#line 329 struct ppdirs { char* name; struct ppdirs* next; - unsigned char c; unsigned char index; unsigned char type; union { char* buffer; char* sp; struct ppdirs* subdir; } info; struct ppfileid id; - }; struct ppkeyword @@ -344,11 +337,7 @@ struct ppmacro { int arity; char* value; - - struct pptuple* tuple; char* formals; int size; - - }; struct ppsymbol @@ -357,14 +346,9 @@ struct ppsymbol unsigned long flags; struct ppmacro* macro; __V_* value; - - struct pphide* hidden; - - }; -#line 378 struct ppglobals { const char* version; @@ -374,34 +358,19 @@ struct ppglobals char* token; struct ppsymbol* symbol; - - char* outb; char* outbuf; char* outp; char* oute; unsigned long offset; - struct ppdirs* lcldirs; struct ppdirs* stddirs; int flags; char* symtab; - - struct ppcontext* context; long state; long mode; long option; long test; struct { char* sp; long flags; } filedeps; struct ppdirs* firstdir; struct ppdirs* lastdir; int hide; int column; int pending; char* firstfile; char* lastfile; char* ignore; char* probe; char* filtab; char* prdtab; char* date; char* time; char* maps; long ro_state; long ro_mode; long ro_option; long ro_op[2]; struct pathid cdir; struct pathid hostdir; char* ppdefault; struct ppindex* firstindex; struct ppindex* lastindex; struct oplist* firstop; struct oplist* lastop; struct oplist* firsttx; struct oplist* lasttx; unsigned char arg_file; unsigned char arg_mode; unsigned char arg_style; unsigned char c; unsigned char hosted; unsigned char ignoresrc; unsigned char initialized; unsigned char standalone; unsigned char spare_1; - - char* checkpoint; int constack; struct ppinstk* in; char* addp; char* args; char* addbuf; char* catbuf; char* hdrbuf; char* hidebuf; char* path; char* tmpbuf; char* valbuf; char* optflags; int lastout; char* include; char* prefix; struct ppmember* member; int hidden; int hiding; int level; struct { int input; int output; } pool; struct { long ro_state; long ro_mode; long ro_option; long ro_op[2]; int on; char* symtab; } reset; int truncate; struct ppmacstk* macp; char* maxmac; char* mactop; char* toknxt; long* control; long* maxcon; struct oplist* chop; struct ppfile* insert; struct ppfile* original; struct ppdirs* found; int vendor; char* dirtab; char* strtab; PPBUILTIN builtin; PPCOMMENT comment; PPINCREF incref; PPLINESYNC linesync; PPLINESYNC olinesync; PPMACREF macref; PPOPTARG optarg; PPPRAGMA pragma; struct counter counter; char funbuf[256]; - - }; - - - - - - extern __MANGLE__ struct ppglobals pp; extern __MANGLE__ char _pp_ctype[]; @@ -420,22 +389,8 @@ extern __MANGLE__ void pppragma __PROTO__((char*, char*, char*, char*, int)); extern __MANGLE__ int ppprintf __PROTO__((char*, ...)); extern __MANGLE__ int ppsync __PROTO__((void)); -#line 368 "../../lib/libpp/pplib.h" - -#line 1 "../../lib/libpp/ppdef.h" - -#line 369 "../../lib/libpp/pplib.h" - -#line 1 "../../lib/libpp/ppkey.h" - -#line 16 - -#line 125 extern __MANGLE__ struct ppkeyword ppkey[]; -#line 370 "../../lib/libpp/pplib.h" - -#line 683 struct ppcontext { struct ppdirs* lcldirs; struct ppdirs* stddirs; int flags; char* symtab; @@ -450,8 +405,6 @@ struct ppfile int flags; }; - - struct ppindex { struct ppindex* next; @@ -460,15 +413,12 @@ struct ppindex unsigned long end; }; - - struct ppsymkey { struct ppsymbol sym; int lex; }; -#line 729 # ifdef __STDC__ # include @@ -502,59 +452,6 @@ extern __MANGLE__ int write __PROTO__((int, const __V_*, int)); # endif -#line 802 -extern __MANGLE__ void ppassert __PROTO__((int, char*, char*)); -extern __MANGLE__ void ppbuiltin __PROTO__((void)); -extern __MANGLE__ int ppcall __PROTO__((struct ppsymbol*, int)); -extern __MANGLE__ int ppcontrol __PROTO__((void)); -extern __MANGLE__ void ppdump __PROTO__((void)); -extern __MANGLE__ char* ppexpand __PROTO__((char*)); -extern __MANGLE__ long ppexpr __PROTO__((int*)); -extern __MANGLE__ void ppfsm __PROTO__((int, char*)); -extern __MANGLE__ char* ppinstr __PROTO__((struct ppinstk*)); -extern __MANGLE__ char* ppkeyname __PROTO__((int, int)); -extern __MANGLE__ char* pplexstr __PROTO__((int)); -extern __MANGLE__ void ppload __PROTO__((char*)); -extern __MANGLE__ void ppmapinclude __PROTO__((char*, char*)); -extern __MANGLE__ char* ppmodestr __PROTO__((long)); -extern __MANGLE__ int ppmultiple __PROTO__((struct ppfile*, struct ppsymbol*)); -extern __MANGLE__ void ppnest __PROTO__((void)); -extern __MANGLE__ int ppoption __PROTO__((char*)); -extern __MANGLE__ char* ppoptionstr __PROTO__((long)); -extern __MANGLE__ void pppclose __PROTO__((char*)); -extern __MANGLE__ int pppdrop __PROTO__((char*)); -extern __MANGLE__ char* pppopen __PROTO__((char*, int, char*, char*, char*, char*, int)); -extern __MANGLE__ int pppread __PROTO__((char*)); -extern __MANGLE__ int pppredargs __PROTO__((void)); -extern __MANGLE__ void pppush __PROTO__((int, char*, char*, int)); -extern __MANGLE__ struct ppsymbol* pprefmac __PROTO__((char*, int)); -extern __MANGLE__ int ppsearch __PROTO__((char*, int, int)); -extern __MANGLE__ int ppset __PROTO__((long*, long, int)); -extern __MANGLE__ char* ppstatestr __PROTO__((long)); -extern __MANGLE__ char* pptokstr __PROTO__((char*, int)); -extern __MANGLE__ void pptrace __PROTO__((int)); - -#line 11 "../../lib/libpp/ppfsm.c" - -#line 1 "../../lib/libpp/ppfsm.h" - -#line 185 - -#line 249 -extern __MANGLE__ short _pp_fsmtab[(0+28)+1][255+1]; - - - - - -extern __MANGLE__ char _pp_trigraph[255+1]; - -extern __MANGLE__ void _pp_refill __PROTO__((int)); - -#line 12 "../../lib/libpp/ppfsm.c" - - -#line 67 struct fsminit { int state; @@ -564,7 +461,6 @@ struct fsminit static struct fsminit fsminit[] = { - { 0, { 023 }, ((0+28)+11), }, { 0, { 002 }, (0), }, { 0, { 001 }, (0+23), }, @@ -579,7 +475,6 @@ static struct fsminit fsminit[] = { 0, { '\n' }, ((0+28)+7), }, { 0, { ' ','\t','\f','\013' }, (0+27), }, - { (0+1), { 023 }, ((0+28)+6), }, { (0+1), { 021, 001 }, (0+19), }, { (0+1), { 'a' }, (0+2), }, @@ -593,63 +488,50 @@ static struct fsminit fsminit[] = { (0+1), { 'x' }, (0+10), }, { (0+1), { 'y' }, (0+11), }, - { (0+2), { 023 }, (((0+28)+12)), }, { (0+2), { 021, 001 }, (0+19), }, { (0+2), { '_','s','t','a' }, (0+2), }, { (0+2), { 'r' }, (0+2), }, - { (0+3), { 023 }, (((0+28)+12)), }, { (0+3), { 021, 001 }, (0+19), }, { (0+3), { 't','u','r','n' }, (0+3), }, - { (0+4), { 023 }, (((0+28)+12)), }, { (0+4), { 021, 001 }, (0+19), }, - { (0+5), { 023 }, (((0+28)+12)), }, { (0+5), { 021, 001 }, (0+19), }, { (0+5), { 'i','l','e' }, (0+5), }, - { (0+6), { 023 }, (((0+28)+12)), }, { (0+6), { 021, 001 }, (0+19), }, { (0+6), { 's','e' }, (0+6), }, - { (0+7), { 023 }, (((0+28)+12)), }, { (0+7), { 021, 001 }, (0+19), }, { (0+7), { 'l','i','n','e' }, (0+7), }, - { (0+8), { 023 }, (((0+28)+12)), }, { (0+8), { 021, 001 }, (0+19), }, { (0+8), { 'r','i','d','N' }, (0+8), }, - { (0+9), { 023 }, (((0+28)+12)), }, { (0+9), { 021, 001 }, (0+19), }, { (0+9), { 'a','t','i','c' }, (0+9), }, - { (0+10), { 023 }, (((0+28)+12)), }, { (0+10), { 021, 001 }, (0+19), }, { (0+10), { 't','e','r','n' }, (0+10), }, - { (0+11), { 023 }, (((0+28)+12)), }, { (0+11), { 021, 001 }, (0+19), }, { (0+11), { 'p','e','d','f' }, (0+11), }, - { (0+12), { 023 }, ((0+28)+0), }, { (0+12), { '*' }, (0+13), }, { (0+12), { '/' }, (0+16), }, - - { (0+13), { 023 }, (0+13), }, { (0+13), { '\n', 002 }, ((0+28)+1), }, @@ -657,268 +539,64 @@ static struct fsminit fsminit[] = { (0+13), { '*' }, (0+14), }, { (0+13), { '#', ';', ')' }, ((( (0+13))<<(7+1))|(((0+28)+8))), }, - { (0+14), { 023 }, (0+13), }, { (0+14), { '\n', 002 }, ((0+28)+1), }, { (0+14), { '#', ';', ')' }, ((( (0+13))<<(7+1))|(((0+28)+8))), }, { (0+14), { '*' }, (0+14), }, { (0+14), { '/' }, ((0+28)+1), }, - { (0+15), { 023 }, (0+13), }, { (0+15), { '*', '\n', 002 }, ((0+28)+1), }, { (0+15), { '/' }, (0+15), }, - { (0+16), { 023 }, (0+16), }, { (0+16), { '\n', 002 }, ((0+28)+1), }, { (0+16), { '/' }, (0+17), }, { (0+16), { '*' }, (0+18), }, - { (0+17), { 023 }, (0+16), }, { (0+17), { '*', '\n', 002 }, ((0+28)+1), }, { (0+17), { '/' }, (0+17), }, - { (0+18), { 023 }, (0+16), }, { (0+18), { '\n', 002 }, ((0+28)+1), }, { (0+18), { '*' }, (0+18), }, { (0+18), { '/' }, ((0+28)+1), }, - { (0+19), { 023 }, ((0+28)+6), }, { (0+19), { 021, 001 }, (0+19), }, - { (0+25), { 023 }, ((0+28)+0), }, { (0+25), { '.' }, (0+26), }, { (0+25), { 001 }, (0+23), }, - { (0+26), { 023 }, (((( (0401+1))-0401)<<(7+1))|( ((0+28)+14))), }, { (0+26), { '.' }, (((( (0401+29))-0401)<<(7+1))|( ((0+28)+13))), }, - { (0+20), { 023 }, ((0+28)+6), }, { (0+20), { 021, 001 }, (0+19), }, { (0+20), { '"', '\'' }, ((( (0+21))<<(7+1))|(((0+28)+8))), }, - { (0+21), { 023 }, (0+21), }, { (0+21), { '"', '\'' }, ((0+28)+4), }, { (0+21), { '\n', 002 }, ((0+28)+4), }, { (0+21), { '\\' }, (0+22), }, - { (0+22), { 023 }, ((0+28)+5), }, { (0+22), { '\n', 002 }, ((0+28)+4), }, - { (0+23), { 023 }, (((( (0401+1))-0401)<<(7+1))|( ((0+28)+14))), }, { (0+23), { 021, 001, '.' }, (0+23), }, { (0+23), { 'e', 'E' }, (0+24), }, - { (0+24), { 023 }, (((( (0401+1))-0401)<<(7+1))|( ((0+28)+14))), }, { (0+24), { 021, 001, '.' }, (0+23), }, { (0+24), { '+', '-' }, (0+23), }, - { (0+27), { 023 }, ((0+28)+15), }, { (0+27), { ' ', '\t' }, (0+27), }, { (0+27), { '\f', '\013' }, ((0+28)+10), }, - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#line 528 { (-1), { 0 }, 0, } }; @@ -926,87 +604,31 @@ short _pp_fsmtab[(0+28)+1][255+1]; char _pp_trigraph[255+1]; - static char spl[] = { '\\', '\r', 0 }; static char aln[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_$@"; - - - static char* let = &aln[10]; static char hex[] = "fedcbaFEDCBA9876543210"; static char* dec = &hex[12]; static char* oct = &hex[14]; - - - - - void -ppfsm __PARAM__((int op, register char* s), (op, s)) __OTORP__(int op; register char* s;){ +ppfsm __PARAM__((int op, register char* s), (op, s)) __OTORP__(int op; register char* s;) +{ register int c; register int n; register int i; register short* rp; register struct fsminit* fp; - - - - switch (op) { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - case 4: for (fp = fsminit;; fp++) { if ((n = fp->nextstate) >= (0+28)) n = ~n; if (fp->state == (-1)) - { - - - - - - - - - - - - - break; - } rp = _pp_fsmtab[fp->state]; for (i = 0; i < sizeof(fp->ch) && (c = fp->ch[i]); i++) { @@ -1045,12 +667,6 @@ ppfsm __PARAM__((int op, register char* s), (op, s)) __OTORP__(int op; register rp[c] = n; } } - - - - - - for (i = 0; i < (0+28); i++) { rp = _pp_fsmtab[i]; @@ -1067,230 +683,12 @@ ppfsm __PARAM__((int op, register char* s), (op, s)) __OTORP__(int op; register rp[c] = 0; } _pp_fsmtab[(0+28)][0] = ~((0+28)+2); - - - - - - - - - - - - - - - - - - -#line 707 break; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#line 860 } } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#line 18 "../../lib/libpp/ppproto.c" - -#line 1 "../../../include/ast/hashkey.h" - -#line 24 - - -#line 68 extern __MANGLE__ long strkey __PROTO__((const char*)); -#line 20 "../../lib/libpp/ppproto.c" - -#line 41 typedef struct Key_s { const char* name; @@ -1326,14 +724,8 @@ typedef struct Proto_s char pushback[4]; char variadic[256]; - - - - } Proto_t; - -#line 171 static const Key_t pragmas[] = { { "prototyped",sizeof( "prototyped")-1, 0x01, 1}, @@ -1351,13 +743,9 @@ static const Key_t notices[] = { "PUBLIC DOMAIN",sizeof( "PUBLIC DOMAIN")-1, 0x02, 0}, }; - - - - - static char* -number __PARAM__((register char* p, register long n), (p, n)) __OTORP__(register char* p; register long n;){ +number __PARAM__((register char* p, register long n), (p, n)) __OTORP__(register char* p; register long n;) +{ register long d; for (d = 1000000; d > 1; d /= 10) @@ -1366,30 +754,20 @@ number __PARAM__((register char* p, register long n), (p, n)) __OTORP__(register return p; } - - static int errors; - -#line 224 - - - - static int -sstrlen __PARAM__((register const char* s), (s)) __OTORP__(register const char* s;){ +sstrlen __PARAM__((register const char* s), (s)) __OTORP__(register const char* s;) +{ register const char* b; for (b = s; *s; s++); return s - b; } - - - - static int -sstrncmp __PARAM__((register const char* s, register const char* t, register int n), (s, t, n)) __OTORP__(register const char* s; register const char* t; register int n;){ +sstrncmp __PARAM__((register const char* s, register const char* t, register int n), (s, t, n)) __OTORP__(register const char* s; register const char* t; register int n;) +{ register const char* e = s + n; while (s < e) @@ -1402,20 +780,16 @@ sstrncmp __PARAM__((register const char* s, register const char* t, register int return 0; } - - - - static char* -strcopy __PARAM__((register char* s, register const char* t), (s, t)) __OTORP__(register char* s; register const char* t;){ +strcopy __PARAM__((register char* s, register const char* t), (s, t)) __OTORP__(register char* s; register const char* t;) +{ while (*s++ = *t++); return s - 1; } - - static void -proto_error __PARAM__((char* iob, int level, char* msg, char* arg), (iob, level, msg, arg)) __OTORP__(char* iob; int level; char* msg; char* arg;){ +proto_error __PARAM__((char* iob, int level, char* msg, char* arg), (iob, level, msg, arg)) __OTORP__(char* iob; int level; char* msg; char* arg;) +{ register char* p; char buf[1024]; @@ -1467,1228 +841,33 @@ proto_error __PARAM__((char* iob, int level, char* msg, char* arg), (iob, level, errors++; } - - - - static char* -memcopy __PARAM__((register char* s, register char* t, int n), (s, t, n)) __OTORP__(register char* s; register char* t; int n;){ +memcopy __PARAM__((register char* s, register char* t, int n), (s, t, n)) __OTORP__(register char* s; register char* t; int n;) +{ register char* e = t + n; while (t < e) *s++ = *t++; return s; } -#line 1 "../../lib/libast/port/astlicense.c" - - - -#line 92 -typedef struct Buffer_s -{ - char* buf; - char* nxt; - char* end; - int siz; -} Buffer_t; - -typedef struct Item_s -{ - char* data; - int size; - int quote; -} Item_t; - -typedef struct Id_s -{ - Item_t name; - Item_t value; -} Id_t; - - - - - - - -static const Item_t key[] = -{ - { "author",sizeof( "author")-1,0}, - { "class",sizeof( "class")-1,0}, - { "company",sizeof( "company")-1,0}, - { "component",sizeof( "component")-1,0}, - { "contributor",sizeof( "contributor")-1,0}, - { "corporation",sizeof( "corporation")-1,0}, - { "domain",sizeof( "domain")-1,0}, - { "id",sizeof( "id")-1,0}, - { "incorporation",sizeof( "incorporation")-1,0}, - { "license",sizeof( "license")-1,0}, - { "location",sizeof( "location")-1,0}, - { "name",sizeof( "name")-1,0}, - { "notice",sizeof( "notice")-1,0}, - { "organization",sizeof( "organization")-1,0}, - { "package",sizeof( "package")-1,0}, - { "parent",sizeof( "parent")-1,0}, - { "query",sizeof( "query")-1,0}, - { "since",sizeof( "since")-1,0}, - { "source",sizeof( "source")-1,0}, - { "start",sizeof( "start")-1,0}, - { "type",sizeof( "type")-1,0}, - { "url",sizeof( "url")-1,0}, - { "urlmd5",sizeof( "urlmd5")-1,0}, - { "version",sizeof( "version")-1,0}, - {0} -}; - - - - - -static const Item_t lic[] = -{ - { "none",sizeof( "none")-1, 0}, - { "inline",sizeof( "inline")-1, 12}, - { "test",sizeof( "test")-1, 2}, - { "verbose",sizeof( "verbose")-1, 3}, - { "usage",sizeof( "usage")-1, 4}, - { "open",sizeof( "open")-1, 5}, - { "cpl",sizeof( "cpl")-1, 5}, - { "epl",sizeof( "epl")-1, 5}, - { "bsd",sizeof( "bsd")-1, 5}, - { "zlib",sizeof( "zlib")-1, 5}, - { "mit",sizeof( "mit")-1, 5}, - { "gpl",sizeof( "gpl")-1, 11}, - { "special",sizeof( "special")-1, 12}, - { "nonexclusive",sizeof( "nonexclusive")-1, 12}, - { "noncommercial",sizeof( "noncommercial")-1, 12}, - { "proprietary",sizeof( "proprietary")-1, 15}, - {0} -}; - -typedef struct Notice_s -{ - int test; - int type; - int verbose; - int ids; - Item_t item[(sizeof(key)/sizeof(key[0])-1)]; - Id_t id[64]; - char cc[3]; -} Notice_t; - - - - - -static int -lookup __PARAM__((register const Item_t* item, const char* name, int size), (item, name, size)) __OTORP__(register const Item_t* item; const char* name; int size;){ - register int c; - register int i; - - c = name[0]; - for (i = 0; item[i].data; i++) - if (c == item[i].data[0] && size == item[i].size && !sstrncmp( name, item[i].data, size)) - return i; - return -1; -} - - - - - - -static void -copy __PARAM__((register Buffer_t* b, register char* s, int n), (b, s, n)) __OTORP__(register Buffer_t* b; register char* s; int n;){ - if (n < 0) - n = sstrlen( s); - while (n--) - ((( b)->nxt<( b)->end)?(*( b)->nxt++=( *s++)):(( *s++),(-1))); -} - - -#line 225 -static void -comment __PARAM__((Notice_t* notice, register Buffer_t* b, register char* s, register int n, int u), (notice, b, s, n, u)) __OTORP__(Notice_t* notice; register Buffer_t* b; register char* s; register int n; int u;){ - register int i; - register int m; - register int x; - int cc; - - cc = notice->cc[1]; - if (!s) - { - if (n) - { - ((( b)->nxt<( b)->end)?(*( b)->nxt++=( notice->cc[n > 0 ? 0 : 1])):(( notice->cc[n > 0 ? 0 : 1]),(-1))); - for (i = 0; i < 70; i++) - ((( b)->nxt<( b)->end)?(*( b)->nxt++=( cc)):(( cc),(-1))); - ((( b)->nxt<( b)->end)?(*( b)->nxt++=( notice->cc[n > 0 ? 1 : 2])):(( notice->cc[n > 0 ? 1 : 2]),(-1))); - } - else - s = ""; - } - if (s) - { - if (n > 70) - n = 70; - ((( b)->nxt<( b)->end)?(*( b)->nxt++=( cc)):(( cc),(-1))); - m = (u < 0) ? 1 : (70 - n) / 2; - if ((x = 70 - m - n) < 0) - n--; - while (m-- > 0) - ((( b)->nxt<( b)->end)?(*( b)->nxt++=( ' ')):(( ' '),(-1))); - while (n-- > 0) - { - i = *s++; - if (u > 0 && i >= 'a' && i <= 'z') - i = i - 'a' + 'A'; - ((( b)->nxt<( b)->end)?(*( b)->nxt++=( i)):(( i),(-1))); - } - while (x-- > 0) - ((( b)->nxt<( b)->end)?(*( b)->nxt++=( ' ')):(( ' '),(-1))); - ((( b)->nxt<( b)->end)?(*( b)->nxt++=( cc)):(( cc),(-1))); - } - ((( b)->nxt<( b)->end)?(*( b)->nxt++=( '\n')):(( '\n'),(-1))); -} - - - - - -static void -expand __PARAM__((Notice_t* notice, register Buffer_t* b, const Item_t* item), (notice, b, item)) __OTORP__(Notice_t* notice; register Buffer_t* b; const Item_t* item;){ - register char* t; - register char* e; - register int q; - register char* x; - register char* z; - register int c; - int m; - int i; - int k; - - if (t = item->data) - { - q = item->quote; - e = t + item->size; - i = 0; - while (t < e) - { - if (*t == '$' && t < (e + 2) && *(t + 1) == '{') - { - k = m = 0; - x = t += 2; - while (t < e && (c = *t++) != '}') - if (c == '.') - x = t; - else if (c == '-') - { - k = 1; - break; - } - else if (c == '/') - { - m = 1; - break; - } - if ((c = lookup(key, x, t - x - 1)) >= 0 && (x = notice->item[c].data)) - { - z = x + notice->item[c].size; - while (x < z) - { - c = *x++; - if (!m || c >= '0' && c <= '9') - ((( b)->nxt<( b)->end)?(*( b)->nxt++=( c)):(( c),(-1))); - } - } - else if (k) - { - k = 0; - i++; - } - if (k || m) - { - k = 1; - while (t < e) - if ((c = *t++) == '{') - k++; - else if (c == '}' && !--k) - break; - } - } - else if (q > 0 && *t == '\\' && (*(t + 1) == q || *(t + 1) == '\\')) - t++; - else if (*t == '}' && i) - { - t++; - i--; - } - else - ((( b)->nxt<( b)->end)?(*( b)->nxt++=( *t++)):(( *t++),(-1))); - } - } -} - - - - - -static void -copyright __PARAM__((Notice_t* notice, register Buffer_t* b), (notice, b)) __OTORP__(Notice_t* notice; register Buffer_t* b;){ - register char* x; - register char* t; - time_t clock; - - copy(b, "Copyright (c) ", -1); - if (notice->test) - { - clock = (time_t)1000212300; - t = ctime(&clock) + 20; - } - else if (!(t = notice->item[18].data)) - { - time(&clock); - t = ctime(&clock) + 20; - } - if ((x = notice->item[19].data) && sstrncmp( t, x, 4) < 0) - t = x; - if ((x = notice->item[17].data) && sstrncmp( x, t, 4) < 0) - { - expand(notice, b, ¬ice->item[17]); - ((( b)->nxt<( b)->end)?(*( b)->nxt++=( '-')):(( '-'),(-1))); - } - copy(b, t, 4); - if (notice->item[15].data) - { - ((( b)->nxt<( b)->end)?(*( b)->nxt++=( ' ')):(( ' '),(-1))); - expand(notice, b, ¬ice->item[15]); - } - if (notice->item[5].data) - { - ((( b)->nxt<( b)->end)?(*( b)->nxt++=( ' ')):(( ' '),(-1))); - expand(notice, b, ¬ice->item[5]); - if (notice->item[8].data) - { - ((( b)->nxt<( b)->end)?(*( b)->nxt++=( ' ')):(( ' '),(-1))); - expand(notice, b, ¬ice->item[8]); - } - } - else if (notice->item[2].data) - { - ((( b)->nxt<( b)->end)?(*( b)->nxt++=( ' ')):(( ' '),(-1))); - expand(notice, b, ¬ice->item[2]); - } -} - -typedef struct Stack_s -{ - char* info; - char* file; - int line; - int size; -} Stack_t; - -static int -push __PARAM__((Stack_t* sp, char* file, char* parent, char* info, int size, Buffer_t* buf), (sp, file, parent, info, size, buf)) __OTORP__(Stack_t* sp; char* file; char* parent; char* info; int size; Buffer_t* buf;){ - char* s; - char* t; - int i; - int n; - char path[1024]; - - if (size <= 8) - { - copy(buf, file, -1); - copy(buf, ": no space", -1); - ((( buf)->nxt<( buf)->end)?(*( buf)->nxt++=( 0)):(( 0),(-1))); - return -1; - } - if (*file != '/' && parent && (s = strrchr(parent, '/'))) - { - n = s - parent + 1; - if ((sstrlen( file) + n + 1) <= sizeof(path)) - { - memcopy( path, parent, n); - strcopy( path + n, file); - file = path; - } - } - if ((i = open(file, O_RDONLY|0)) < 0) - { - - if (file == path) - for (s = path; *s; s++) - if (s[0] == '/' && s[1] == 'a' && s[2] == 'r' && s[3] == 'c' && s[4] == 'h' && s[5] == '/') - { - t = s; - for (s += 6; *s && *s != '/'; s++); - while (*t++ = *s++); - i = open(file, O_RDONLY|0); - } - if (i < 0) - { - copy(buf, file, -1); - copy(buf, ": cannot open", -1); - ((( buf)->nxt<( buf)->end)?(*( buf)->nxt++=( 0)):(( 0),(-1))); - return -1; - } - } - n = read(i, info, size - 1); - close(i); - if (n < 0) - { - copy(buf, file, -1); - copy(buf, ": cannot read", -1); - ((( buf)->nxt<( buf)->end)?(*( buf)->nxt++=( 0)):(( 0),(-1))); - return -1; - } - info[n++] = 0; - sp->file = file; - sp->info = info; - sp->line = 0; - sp->size = n; - return 0; -} - - - - - - - -int -astlicense __PARAM__((char* p, int size, char* file, char* options, int cc1, int cc2, int cc3), (p, size, file, options, cc1, cc2, cc3)) __OTORP__(char* p; int size; char* file; char* options; int cc1; int cc2; int cc3;){ - register char* s; - register char* v; - register char* x; - register int c; - int i; - int h; - int k; - int n; - int q; - int contributor; - int first; - int level; - int quote; - char* data; - char tmpbuf[(70+4)]; - char info[8 * 1024]; - Stack_t input[4]; - Notice_t notice; - Item_t item; - Buffer_t buf; - Buffer_t tmp; - - buf.end = (buf.buf = buf.nxt = p) + size; - tmp.end = (tmp.buf = tmp.nxt = tmpbuf) + sizeof(tmpbuf); - level = 0; - data = info; - level = -1; - if (options) - { - level++; - input[level].file = ""; - input[level].info = options; - input[level].line = 0; - } - if (file && *file) - { - if (push(&input[++level], file, 0, data, &info[sizeof(info)] - data, &buf)) - return -1; - data += input[level].size; - } - if (level < 0) - return 0; - s = input[level].info; - notice.test = 0; - notice.type = 0; - notice.verbose = 0; - notice.ids = 0; - notice.cc[0] = cc1; - notice.cc[1] = cc2; - notice.cc[2] = cc3; - for (i = 0; i < (sizeof(key)/sizeof(key[0])-1); i++) - notice.item[i].data = 0; - notice.item[20] = notice.item[1] = lic[notice.type]; - notice.item[20].quote = notice.item[1].quote = 0; - contributor = i = k = 0; - for (;;) - { - first = 1; - while (c = *s) - { - while (c == ' ' || c == '\t' || c == '\n' && ++input[level].line || c == '\r' || c == ',' || c == ';' || c == ')') - c = *++s; - if (!c) - break; - if (c == '#') - { - while (*++s && *s != '\n'); - if (*s) - s++; - input[level].line++; - continue; - } - if (c == '.') - { - while ((c = *++s) && (c == ' ' || c == '\t')); - file = s; - while (c && c != ' ' && c != '\t' && c != '\r' && c != '\n') - c = *++s; - *s = 0; - while (c && c != '\n') - c = *++s; - if (*file) - { - input[level].info = s + (c != 0); - if (++level >= (sizeof(input) / sizeof(input[0])) || push(&input[level], file, input[level-1].file, data, &info[sizeof(info)] - data, &buf)) - return -1; - data += input[level].size; - s = input[level].info; - } - continue; - } - if (c == '\n') - { - s++; - input[level].line++; - continue; - } - if (c == '[') - c = *++s; - x = s; - n = 0; - while (c && c != '+' && c != '=' && c != ']' && c != ')' && c != ',' && c != ' ' && c != '\t' && c != '\n' && c != '\r') - c = *++s; - n = s - x; - h = lookup(key, x, n); - if (c == '+' || c == ']') - c = *++s; - quote = 0; - if (c == '=' || first) - { - if (c == '=') - { - q = ((c = *++s) == '"' || c == '\'') ? *s++ : 0; - if (c == '(') - { - s++; - if (h == 9) - contributor = 0; - else if (h == 4) - contributor = 1; - else - { - q = 1; - i = 0; - for (;;) - { - switch (*s++) - { - case 0: - s--; - break; - case '(': - if (!i) - q++; - continue; - case ')': - if (!i && !--q) - break; - continue; - case '"': - case '\'': - if (!i) - i = *(s - 1); - else if (i == *(s - 1)) - i = 0; - continue; - case '\\': - if (*s == i && i == '"') - i++; - continue; - case '\n': - input[level].line++; - continue; - default: - continue; - } - break; - } - } - continue; - } - v = s; - while ((c = *s) && (q == '"' && (c == '\\' && (*(s + 1) == '"' || *(s + 1) == '\\') && s++ && (quote = q)) || q && c != q || !q && c != ' ' && c != '\t' && c != '\n' && c != '\r' && c != ',' && c != ';')) - { - if (c == '\n') - input[level].line++; - s++; - } - } - else - { - h = 20; - v = x; - } - if (c == '\n') - input[level].line++; - if (contributor) - { - for (i = 0; i < notice.ids; i++) - if (n == notice.id[i].name.size && !sstrncmp( x, notice.id[i].name.data, n)) - break; - if (i < 64) - { - notice.id[i].name.data = x; - notice.id[i].name.size = n; - notice.id[i].name.quote = 0; - notice.id[i].value.data = v; - notice.id[i].value.size = s - v; - notice.id[i].value.quote = quote; - if (notice.ids <= i) - notice.ids = i + 1; - } - } - else if (h == 16) - { - if ((s - v) == 3 && v[0] == 'a' && v[1] == 'l' && v[2] == 'l') - { - for (i = 0; i < (sizeof(key)/sizeof(key[0])-1); i++) - if (notice.item[i].size) - { - expand(¬ice, &buf, &key[i]); - ((( &buf)->nxt<( &buf)->end)?(*( &buf)->nxt++=( '=')):(( '='),(-1))); - for (h = 0;; h++) - if (h >= notice.item[i].size) - { - h = 0; - break; - } - else if (notice.item[i].data[h] == ' ' || notice.item[i].data[h] == '\t') - break; - if (h) - ((( &buf)->nxt<( &buf)->end)?(*( &buf)->nxt++=( '\'')):(( '\''),(-1))); - expand(¬ice, &buf, ¬ice.item[i]); - if (h) - ((( &buf)->nxt<( &buf)->end)?(*( &buf)->nxt++=( '\'')):(( '\''),(-1))); - ((( &buf)->nxt<( &buf)->end)?(*( &buf)->nxt++=( '\n')):(( '\n'),(-1))); - } - } - else - { - if ((h = lookup(key, v, s - v)) < 0) - { - item.data = v; - item.size = s - v; - item.quote = 0; - expand(¬ice, &buf, &item); - } - else - expand(¬ice, &buf, ¬ice.item[h]); - ((( &buf)->nxt<( &buf)->end)?(*( &buf)->nxt++=( '\n')):(( '\n'),(-1))); - } - return (*(( &buf)->nxt>=( &buf)->end?(( &buf)->nxt=( &buf)->end-1):( &buf)->nxt)=0,( &buf)->nxt-( &buf)->buf); - } - else - { - if (h == 20) - switch (c = lookup(lic, v, s - v)) - { - case 0: - return 0; - case 2: - notice.test = 1; - h = -1; - break; - case 3: - notice.verbose = 1; - h = -1; - break; - case 4: - notice.type = c; - h = -1; - break; - case -1: - c = 12; - /* FALLTHROUGH */ - default: - notice.type = c; - notice.item[1].data = lic[lic[c].quote].data; - notice.item[1].size = lic[lic[c].quote].size; - if (notice.item[20].data != lic[0].data) - h = -1; - break; - } - if (h >= 0) - { - notice.item[h].data = (notice.item[h].size = s - v) ? v : (char*)0; - notice.item[h].quote = quote; - k = 1; - } - } - } - else - { - if (input[level].file) - { - copy(&buf, "\"", -1); - copy(&buf, input[level].file, -1); - copy(&buf, "\", line ", -1); - x = &tmpbuf[sizeof(tmpbuf)]; - *--x = 0; - n = ++input[level].line; - do *--x = ("0123456789")[n % 10]; while (n /= 10); - copy(&buf, x, -1); - copy(&buf, ": ", -1); - } - copy(&buf, "option error: assignment expected", -1); - ((( &buf)->nxt<( &buf)->end)?(*( &buf)->nxt++=( 0)):(( 0),(-1))); - return -1; - } - if (*s) - s++; - first = 0; - } - if (!level--) - break; - s = input[level].info; - } - if (!k) - return 0; - if (notice.type == 1 && (!notice.verbose || !notice.item[12].data)) - return 0; - if (notice.type != 4) - { - if (!notice.type) - notice.type = 12; - comment(¬ice, &buf, ((char*)0), 1, 0); - comment(¬ice, &buf, ((char*)0), 0, 0); - if (notice.item[14].data) - { - copy(&tmp, "This software is part of the ", -1); - expand(¬ice, &tmp, ¬ice.item[14]); - copy(&tmp, " package", -1); - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0); - } - if (notice.type >= 5) - { - copyright(¬ice, &tmp); - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0); - if (notice.type >= 12) - comment( ¬ice, &buf, "All Rights Reserved",sizeof( "All Rights Reserved")-1, 0); - } - if (notice.type == 6 || notice.type == 7) - { - copy(&tmp, notice.item[14].data ? "and": "This software", -1); - copy(&tmp, " is licensed under the", -1); - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0); - if (notice.type == 7) - copy(&tmp, "Eclipse Public License", -1); - else - copy(&tmp, "Common Public License", -1); - if (notice.item[23].data) - { - copy(&tmp, ", Version ", -1); - expand(¬ice, &tmp, ¬ice.item[23]); - } - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0); - if (notice.item[5].data || notice.item[2].data) - { - copy(&tmp, "by ", -1); - if (notice.item[15].data) - { - expand(¬ice, &tmp, ¬ice.item[15]); - copy(&tmp, " ", -1); - } - if (notice.item[5].data) - { - expand(¬ice, &tmp, ¬ice.item[5]); - if (notice.item[8].data) - { - copy(&tmp, " ", -1); - expand(¬ice, &tmp, ¬ice.item[8]); - } - } - else if (notice.item[2].data) - expand(¬ice, &tmp, ¬ice.item[2]); - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0); - } - comment(¬ice, &buf, ((char*)0), 0, 0); - comment( ¬ice, &buf, "A copy of the License is available at",sizeof( "A copy of the License is available at")-1, 0); - if (notice.item[21].data) - { - expand(¬ice, &tmp, ¬ice.item[21]); - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0); - if (notice.item[22].data) - { - copy(&tmp, "(with md5 checksum ", -1); - expand(¬ice, &tmp, ¬ice.item[22]); - copy(&tmp, ")", -1); - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0); - } - } - else if (notice.type == 7) - comment( ¬ice, &buf, "http://www.eclipse.org/org/documents/epl-v10.html",sizeof( "http://www.eclipse.org/org/documents/epl-v10.html")-1, 0); - else - comment( ¬ice, &buf, "http://www.opensource.org/licenses/cpl",sizeof( "http://www.opensource.org/licenses/cpl")-1, 0); - comment(¬ice, &buf, ((char*)0), 0, 0); - } - else if (notice.type == 5) - { - copy(&tmp, notice.item[14].data ? "and it": "This software", -1); - copy(&tmp, " may only be used by you under license from", -1); - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0); - if (notice.item[i = 5].data) - { - if (notice.item[15].data) - { - expand(¬ice, &tmp, ¬ice.item[i = 15]); - copy(&tmp, " ", -1); - } - expand(¬ice, &tmp, ¬ice.item[5]); - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0); - } - else if (notice.item[i = 2].data) - { - if (notice.item[15].data) - { - expand(¬ice, &tmp, ¬ice.item[i = 15]); - copy(&tmp, " ", -1); - } - expand(¬ice, &tmp, ¬ice.item[2]); - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0); - } - else - i = -1; - if (notice.item[21].data) - { - comment( ¬ice, &buf, "A copy of the Source Code Agreement is available",sizeof( "A copy of the Source Code Agreement is available")-1, 0); - copy(&tmp, "at the ", -1); - if (i >= 0) - expand(¬ice, &tmp, ¬ice.item[i]); - copy(&tmp, " Internet web site URL", -1); - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0); - comment(¬ice, &buf, ((char*)0), 0, 0); - expand(¬ice, &tmp, ¬ice.item[21]); - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0); - if (notice.item[22].data) - { - copy(&tmp, "(with an md5 checksum of ", -1); - expand(¬ice, &tmp, ¬ice.item[22]); - copy(&tmp, ")", -1); - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0); - } - comment(¬ice, &buf, ((char*)0), 0, 0); - } - comment( ¬ice, &buf, "If you have copied or used this software without agreeing",sizeof( "If you have copied or used this software without agreeing")-1, 0); - comment( ¬ice, &buf, "to the terms of the license you are infringing on",sizeof( "to the terms of the license you are infringing on")-1, 0); - comment( ¬ice, &buf, "the license and copyright and are violating",sizeof( "the license and copyright and are violating")-1, 0); - if (i >= 0) - expand(¬ice, &tmp, ¬ice.item[i]); - copy(&tmp, "'s", -1); - if (n >= (70-32)) - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0); - else - ((( &tmp)->nxt<( &tmp)->end)?(*( &tmp)->nxt++=( ' ')):(( ' '),(-1))); - copy(&tmp, "intellectual property rights.", -1); - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0); - comment(¬ice, &buf, ((char*)0), 0, 0); - } - else if (notice.type == 11) - { - comment(¬ice, &buf, ((char*)0), 0, 0); - comment( ¬ice, &buf, "This is free software; you can redistribute it and/or",sizeof( "This is free software; you can redistribute it and/or")-1, 0); - comment( ¬ice, &buf, "modify it under the terms of the GNU General Public License",sizeof( "modify it under the terms of the GNU General Public License")-1, 0); - comment( ¬ice, &buf, "as published by the Free Software Foundation;",sizeof( "as published by the Free Software Foundation;")-1, 0); - comment( ¬ice, &buf, "either version 2, or (at your option) any later version.",sizeof( "either version 2, or (at your option) any later version.")-1, 0); - comment(¬ice, &buf, ((char*)0), 0, 0); - comment( ¬ice, &buf, "This software is distributed in the hope that it",sizeof( "This software is distributed in the hope that it")-1, 0); - comment( ¬ice, &buf, "will be useful, but WITHOUT ANY WARRANTY;",sizeof( "will be useful, but WITHOUT ANY WARRANTY;")-1, 0); - comment( ¬ice, &buf, "without even the implied warranty of MERCHANTABILITY",sizeof( "without even the implied warranty of MERCHANTABILITY")-1, 0); - comment( ¬ice, &buf, "or FITNESS FOR A PARTICULAR PURPOSE.",sizeof( "or FITNESS FOR A PARTICULAR PURPOSE.")-1, 0); - comment( ¬ice, &buf, "See the GNU General Public License for more details.",sizeof( "See the GNU General Public License for more details.")-1, 0); - comment(¬ice, &buf, ((char*)0), 0, 0); - comment( ¬ice, &buf, "You should have received a copy of the",sizeof( "You should have received a copy of the")-1, 0); - comment( ¬ice, &buf, "GNU General Public License",sizeof( "GNU General Public License")-1, 0); - comment( ¬ice, &buf, "along with this software (see the file COPYING).",sizeof( "along with this software (see the file COPYING).")-1, 0); - comment( ¬ice, &buf, "If not, a copy is available at",sizeof( "If not, a copy is available at")-1, 0); - comment( ¬ice, &buf, "http://www.gnu.org/copyleft/gpl.html",sizeof( "http://www.gnu.org/copyleft/gpl.html")-1, 0); - comment(¬ice, &buf, ((char*)0), 0, 0); - } - else if (notice.type == 8) - { - comment(¬ice, &buf, ((char*)0), 0, 0); - comment( ¬ice, &buf, "Redistribution and use in source and binary forms, with or",sizeof( "Redistribution and use in source and binary forms, with or")-1, -1); - comment( ¬ice, &buf, "without modification, are permitted provided that the following",sizeof( "without modification, are permitted provided that the following")-1, -1); - comment( ¬ice, &buf, "conditions are met:",sizeof( "conditions are met:")-1, -1); - comment(¬ice, &buf, ((char*)0), 0, 0); - comment( ¬ice, &buf, " 1. Redistributions of source code must retain the above",sizeof( " 1. Redistributions of source code must retain the above")-1, -1); - comment( ¬ice, &buf, " copyright notice, this list of conditions and the",sizeof( " copyright notice, this list of conditions and the")-1, -1); - comment( ¬ice, &buf, " following disclaimer.",sizeof( " following disclaimer.")-1, -1); - comment(¬ice, &buf, ((char*)0), 0, 0); - comment( ¬ice, &buf, " 2. Redistributions in binary form must reproduce the above",sizeof( " 2. Redistributions in binary form must reproduce the above")-1, -1); - comment( ¬ice, &buf, " copyright notice, this list of conditions and the",sizeof( " copyright notice, this list of conditions and the")-1, -1); - comment( ¬ice, &buf, " following disclaimer in the documentation and/or other",sizeof( " following disclaimer in the documentation and/or other")-1, -1); - comment( ¬ice, &buf, " materials provided with the distribution.",sizeof( " materials provided with the distribution.")-1, -1); - comment(¬ice, &buf, ((char*)0), 0, 0); - copy(&tmp, " 3. Neither the name of ", -1); - if (notice.item[i = 15].data || notice.item[i = 5].data || notice.item[i = 2].data) - expand(¬ice, &tmp, ¬ice.item[i]); - else - copy(&tmp, "the copyright holder", -1); - copy(&tmp, " nor the", -1); - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), -1); - comment( ¬ice, &buf, " names of its contributors may be used to endorse or",sizeof( " names of its contributors may be used to endorse or")-1, -1); - comment( ¬ice, &buf, " promote products derived from this software without",sizeof( " promote products derived from this software without")-1, -1); - comment( ¬ice, &buf, " specific prior written permission.",sizeof( " specific prior written permission.")-1, -1); - comment(¬ice, &buf, ((char*)0), 0, 0); - comment( ¬ice, &buf, "THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND",sizeof( "THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND")-1, -1); - comment( ¬ice, &buf, "CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES,",sizeof( "CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES,")-1, -1); - comment( ¬ice, &buf, "INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF",sizeof( "INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF")-1, -1); - comment( ¬ice, &buf, "MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE",sizeof( "MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE")-1, -1); - comment( ¬ice, &buf, "DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS",sizeof( "DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS")-1, -1); - comment( ¬ice, &buf, "BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,",sizeof( "BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,")-1, -1); - comment( ¬ice, &buf, "EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED",sizeof( "EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED")-1, -1); - comment( ¬ice, &buf, "TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,",sizeof( "TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,")-1, -1); - comment( ¬ice, &buf, "DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON",sizeof( "DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON")-1, -1); - comment( ¬ice, &buf, "ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,",sizeof( "ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,")-1, -1); - comment( ¬ice, &buf, "OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY",sizeof( "OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY")-1, -1); - comment( ¬ice, &buf, "OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE",sizeof( "OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE")-1, -1); - comment( ¬ice, &buf, "POSSIBILITY OF SUCH DAMAGE.",sizeof( "POSSIBILITY OF SUCH DAMAGE.")-1, -1); - comment(¬ice, &buf, ((char*)0), 0, 0); - } - else if (notice.type == 9) - { - comment(¬ice, &buf, ((char*)0), 0, 0); - comment( ¬ice, &buf, "This software is provided 'as-is', without any express or implied",sizeof( "This software is provided 'as-is', without any express or implied")-1, -1); - comment( ¬ice, &buf, "warranty. In no event will the authors be held liable for any",sizeof( "warranty. In no event will the authors be held liable for any")-1, -1); - comment( ¬ice, &buf, "damages arising from the use of this software.",sizeof( "damages arising from the use of this software.")-1, -1); - comment(¬ice, &buf, ((char*)0), 0, 0); - comment( ¬ice, &buf, "Permission is granted to anyone to use this software for any",sizeof( "Permission is granted to anyone to use this software for any")-1, -1); - comment( ¬ice, &buf, "purpose, including commercial applications, and to alter it and",sizeof( "purpose, including commercial applications, and to alter it and")-1, -1); - comment( ¬ice, &buf, "redistribute it freely, subject to the following restrictions:",sizeof( "redistribute it freely, subject to the following restrictions:")-1, -1); - comment(¬ice, &buf, ((char*)0), 0, 0); - comment( ¬ice, &buf, " 1. The origin of this software must not be misrepresented;",sizeof( " 1. The origin of this software must not be misrepresented;")-1, -1); - comment( ¬ice, &buf, " you must not claim that you wrote the original software. If",sizeof( " you must not claim that you wrote the original software. If")-1, -1); - comment( ¬ice, &buf, " you use this software in a product, an acknowledgment in the",sizeof( " you use this software in a product, an acknowledgment in the")-1, -1); - comment( ¬ice, &buf, " product documentation would be appreciated but is not",sizeof( " product documentation would be appreciated but is not")-1, -1); - comment( ¬ice, &buf, " required.",sizeof( " required.")-1, -1); - comment(¬ice, &buf, ((char*)0), 0, 0); - comment( ¬ice, &buf, " 2. Altered source versions must be plainly marked as such,",sizeof( " 2. Altered source versions must be plainly marked as such,")-1, -1); - comment( ¬ice, &buf, " and must not be misrepresented as being the original",sizeof( " and must not be misrepresented as being the original")-1, -1); - comment( ¬ice, &buf, " software.",sizeof( " software.")-1, -1); - comment(¬ice, &buf, ((char*)0), 0, 0); - comment( ¬ice, &buf, " 3. This notice may not be removed or altered from any source",sizeof( " 3. This notice may not be removed or altered from any source")-1, -1); - comment( ¬ice, &buf, " distribution.",sizeof( " distribution.")-1, -1); - comment(¬ice, &buf, ((char*)0), 0, 0); - } - else if (notice.type == 10) - { - comment(¬ice, &buf, ((char*)0), 0, 0); - comment( ¬ice, &buf, "Permission is hereby granted, free of charge, to any person",sizeof( "Permission is hereby granted, free of charge, to any person")-1, 0); - comment( ¬ice, &buf, "obtaining a copy of this software and associated",sizeof( "obtaining a copy of this software and associated")-1, 0); - comment( ¬ice, &buf, "documentation files (the \"Software\"), to deal in the",sizeof( "documentation files (the \"Software\"), to deal in the")-1, 0); - comment( ¬ice, &buf, "Software without restriction, including without limitation",sizeof( "Software without restriction, including without limitation")-1, 0); - comment( ¬ice, &buf, "the rights to use, copy, modify, merge, publish, distribute,",sizeof( "the rights to use, copy, modify, merge, publish, distribute,")-1, 0); - comment( ¬ice, &buf, "sublicense, and/or sell copies of the Software, and to",sizeof( "sublicense, and/or sell copies of the Software, and to")-1, 0); - comment( ¬ice, &buf, "permit persons to whom the Software is furnished to do so,",sizeof( "permit persons to whom the Software is furnished to do so,")-1, 0); - comment( ¬ice, &buf, "subject to the following conditions:",sizeof( "subject to the following conditions:")-1, 0); - comment(¬ice, &buf, ((char*)0), 0, 0); - comment( ¬ice, &buf, "The above copyright notice and this permission notice shall",sizeof( "The above copyright notice and this permission notice shall")-1, 0); - comment( ¬ice, &buf, "be included in all copies or substantial portions of the",sizeof( "be included in all copies or substantial portions of the")-1, 0); - comment( ¬ice, &buf, "Software.",sizeof( "Software.")-1, 0); - comment(¬ice, &buf, ((char*)0), 0, 0); - comment( ¬ice, &buf, "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY",sizeof( "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY")-1, 0); - comment( ¬ice, &buf, "KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE",sizeof( "KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE")-1, 0); - comment( ¬ice, &buf, "WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR",sizeof( "WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR")-1, 0); - comment( ¬ice, &buf, "PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS",sizeof( "PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS")-1, 0); - comment( ¬ice, &buf, "OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR",sizeof( "OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR")-1, 0); - comment( ¬ice, &buf, "OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR",sizeof( "OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR")-1, 0); - comment( ¬ice, &buf, "OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE",sizeof( "OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE")-1, 0); - comment( ¬ice, &buf, "SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",sizeof( "SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.")-1, 0); - comment(¬ice, &buf, ((char*)0), 0, 0); - } - else - { - if (notice.type == 15) - { - if (notice.item[i = 15].data || notice.item[i = 5].data || notice.item[i = 2].data) - { - expand(¬ice, &tmp, ¬ice.item[i]); - copy(&tmp, " - ", -1); - } - else - i = -1; - copy(&tmp, "Proprietary", -1); - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 1); - comment(¬ice, &buf, ((char*)0), 0, 0); - if (notice.item[21].data) - { - copy(&tmp, "This is proprietary source code", -1); - if (i >= 0) - copy(&tmp, " licensed by", -1); - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 1); - if (notice.item[15].data) - { - expand(¬ice, &tmp, ¬ice.item[15]); - copy(&tmp, " ", -1); - } - if (notice.item[5].data) - { - expand(¬ice, &tmp, ¬ice.item[5]); - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 1); - } - else if (notice.item[2].data) - { - expand(¬ice, &tmp, ¬ice.item[2]); - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 1); - } - } - else - { - copy(&tmp, "This is unpublished proprietary source code", -1); - if (i >= 0) - copy(&tmp, " of", -1); - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 1); - if (notice.item[i = 15].data || notice.item[i = 5].data) - expand(¬ice, &tmp, ¬ice.item[i]); - if (notice.item[2].data) - { - if ((( &tmp)->nxt-( &tmp)->buf)) - ((( &tmp)->nxt<( &tmp)->end)?(*( &tmp)->nxt++=( ' ')):(( ' '),(-1))); - expand(¬ice, &tmp, ¬ice.item[2]); - } - if ((( &tmp)->nxt-( &tmp)->buf)) - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 1); - comment( ¬ice, &buf, "and is not to be disclosed or used except in",sizeof( "and is not to be disclosed or used except in")-1, 1); - comment( ¬ice, &buf, "accordance with applicable agreements",sizeof( "accordance with applicable agreements")-1, 1); - } - comment(¬ice, &buf, ((char*)0), 0, 0); - } - else if (notice.type == 13) - { - comment( ¬ice, &buf, "For nonexclusive individual use",sizeof( "For nonexclusive individual use")-1, 1); - comment(¬ice, &buf, ((char*)0), 0, 0); - } - else if (notice.type == 14) - { - comment( ¬ice, &buf, "For noncommercial use",sizeof( "For noncommercial use")-1, 1); - comment(¬ice, &buf, ((char*)0), 0, 0); - } - if (notice.type >= 15 && !notice.item[21].data) - { - comment( ¬ice, &buf, "Unpublished & Not for Publication",sizeof( "Unpublished & Not for Publication")-1, 0); - comment(¬ice, &buf, ((char*)0), 0, 0); - } - if (notice.item[21].data) - { - copy(&tmp, "This software is licensed", -1); - if (notice.item[5].data || notice.item[2].data) - { - copy(&tmp, " by", -1); - if ((notice.item[15].size + (notice.item[5].data ? (notice.item[5].size + notice.item[8].size) : notice.item[2].size)) >= ((70-32) - 6)) - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0); - else - ((( &tmp)->nxt<( &tmp)->end)?(*( &tmp)->nxt++=( ' ')):(( ' '),(-1))); - if (notice.item[15].data) - { - expand(¬ice, &tmp, ¬ice.item[15]); - copy(&tmp, " ", -1); - } - if (notice.item[5].data) - { - expand(¬ice, &tmp, ¬ice.item[5]); - if (notice.item[8].data) - { - copy(&tmp, " ", -1); - expand(¬ice, &tmp, ¬ice.item[8]); - } - } - else if (notice.item[2].data) - expand(¬ice, &tmp, ¬ice.item[2]); - } - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0); - comment( ¬ice, &buf, "under the terms and conditions of the license in",sizeof( "under the terms and conditions of the license in")-1, 0); - expand(¬ice, &tmp, ¬ice.item[21]); - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0); - if (notice.item[22].data) - { - copy(&tmp, "(with an md5 checksum of ", -1); - expand(¬ice, &tmp, ¬ice.item[22]); - copy(&tmp, ")", -1); - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0); - } - comment(¬ice, &buf, ((char*)0), 0, 0); - } - else if (notice.type == 15) - { - comment( ¬ice, &buf, "The copyright notice above does not evidence any",sizeof( "The copyright notice above does not evidence any")-1, 0); - comment( ¬ice, &buf, "actual or intended publication of such source code",sizeof( "actual or intended publication of such source code")-1, 0); - comment(¬ice, &buf, ((char*)0), 0, 0); - } - } - if (v = notice.item[12].data) - { - x = v + notice.item[12].size; - if (*v == '\n') - v++; - item.quote = notice.item[12].quote; - do - { - for (item.data = v; v < x && *v != '\n'; v++); - if ((item.size = v - item.data) && *item.data == '\t') - { - item.data++; - item.size--; - h = 0; - } - else - h = -1; - expand(¬ice, &tmp, &item); - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), h); - } while (v++ < x); - if (item.size) - comment(¬ice, &buf, ((char*)0), 0, 0); - } - if (notice.item[13].data) - { - expand(¬ice, &tmp, ¬ice.item[13]); - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0); - if (notice.item[i = 15].data || notice.item[i = 5].data) - expand(¬ice, &tmp, ¬ice.item[i]); - if (notice.item[2].data) - { - if ((( &tmp)->nxt-( &tmp)->buf)) - ((( &tmp)->nxt<( &tmp)->end)?(*( &tmp)->nxt++=( ' ')):(( ' '),(-1))); - expand(¬ice, &tmp, ¬ice.item[2]); - } - if ((( &tmp)->nxt-( &tmp)->buf)) - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0); - if (notice.item[10].data) - { - expand(¬ice, &tmp, ¬ice.item[10]); - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0); - } - comment(¬ice, &buf, ((char*)0), 0, 0); - } - } - if (v = notice.item[0].data) - { - x = v + notice.item[0].size; - q = (x - v) == 1 && (*v == '*' || *v == '-'); - k = q && notice.type != 4 ? -1 : 0; - for (;;) - { - if (!q) - { - while (v < x && (*v == ' ' || *v == '\t' || *v == '\r' || *v == '\n' || *v == ',' || *v == '+')) - v++; - if (v >= x) - break; - item.data = v; - while (v < x && *v != ',' && *v != '+' && *v++ != '>'); - item.size = v - item.data; - item.quote = notice.item[0].quote; - } - h = 0; - for (i = 0; i < notice.ids; i++) - if (q || item.size == notice.id[i].name.size && !sstrncmp( item.data, notice.id[i].name.data, item.size)) - { - h = 1; - if (notice.type == 4) - { - copy(&buf, "[-author?", -1); - expand(¬ice, &buf, ¬ice.id[i].value); - ((( &buf)->nxt<( &buf)->end)?(*( &buf)->nxt++=( ']')):(( ']'),(-1))); - } - else - { - if (k < 0) - { - comment( ¬ice, &buf, "CONTRIBUTORS",sizeof( "CONTRIBUTORS")-1, 0); - comment(¬ice, &buf, ((char*)0), 0, 0); - } - k = 1; - expand(¬ice, &tmp, ¬ice.id[i].value); - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0); - } - if (!q) - break; - } - if (q) - break; - if (!h) - { - if (notice.type == 4) - { - copy(&buf, "[-author?", -1); - expand(¬ice, &buf, &item); - ((( &buf)->nxt<( &buf)->end)?(*( &buf)->nxt++=( ']')):(( ']'),(-1))); - } - else - { - if (k < 0) - { - comment( ¬ice, &buf, "CONTRIBUTORS",sizeof( "CONTRIBUTORS")-1, 0); - comment(¬ice, &buf, ((char*)0), 0, 0); - } - k = 1; - expand(¬ice, &tmp, &item); - comment(¬ice, &buf, (( &tmp)->buf), (( &tmp)->siz=( &tmp)->nxt-( &tmp)->buf,( &tmp)->nxt=( &tmp)->buf,( &tmp)->siz), 0); - } - } - } - if (k > 0) - comment(¬ice, &buf, ((char*)0), 0, 0); - } - if (notice.type == 4) - { - copy(&buf, "[-copyright?", -1); - copyright(¬ice, &buf); - ((( &buf)->nxt<( &buf)->end)?(*( &buf)->nxt++=( ']')):(( ']'),(-1))); - if (notice.item[21].data) - { - copy(&buf, "[-license?", -1); - expand(¬ice, &buf, ¬ice.item[21]); - ((( &buf)->nxt<( &buf)->end)?(*( &buf)->nxt++=( ']')):(( ']'),(-1))); - } - ((( &buf)->nxt<( &buf)->end)?(*( &buf)->nxt++=( '\n')):(( '\n'),(-1))); - } - else - comment(¬ice, &buf, ((char*)0), -1, 0); - return (*(( &buf)->nxt>=( &buf)->end?(( &buf)->nxt=( &buf)->end-1):( &buf)->nxt)=0,( &buf)->nxt-( &buf)->buf); -} -#line 336 "../../lib/libpp/ppproto.c" - -#line 348 static char* -linesync __PARAM__((register Proto_t* proto, register char* p, register long n), (proto, p, n)) __OTORP__(register Proto_t* proto; register char* p; register long n;){ - +linesync __PARAM__((register Proto_t* proto, register char* p, register long n), (proto, p, n)) __OTORP__(register Proto_t* proto; register char* p; register long n;) +{ if (proto->flags & (1L<<13)) - { p = strcopy(p, "\n#line "); - - p = number(p, n); *p++ = '\n'; } return p; } - - - - - static char* -init __PARAM__((Proto_t* proto, char* op, int flags), (proto, op, flags)) __OTORP__(Proto_t* proto; char* op; int flags;){ +init __PARAM__((Proto_t* proto, char* op, int flags), (proto, op, flags)) __OTORP__(Proto_t* proto; char* op; int flags;) +{ register char* s; - if (flags & (1L<<10)) { op = strcopy(op, "\ @@ -2802,19 +981,17 @@ init __PARAM__((Proto_t* proto, char* op, int flags), (proto, op, flags)) __OTOR return op; } - -#line 422 static char* -nns __PARAM__((register char* s), (s)) __OTORP__(register char* s;){ +nns __PARAM__((register char* s), (s)) __OTORP__(register char* s;) +{ while (*s == ' ' || *s == '\t' || *s == '\n') s++; return s; } - -#line 439 static int -directive __PARAM__((register char* s, int dir), (s, dir)) __OTORP__(register char* s; int dir;){ +directive __PARAM__((register char* s, int dir), (s, dir)) __OTORP__(register char* s; int dir;) +{ switch (*(s = nns(s))) { case 'e': @@ -2837,14 +1014,9 @@ directive __PARAM__((register char* s, int dir), (s, dir)) __OTORP__(register ch return dir; } - - - - - - static int -lex __PARAM__((register Proto_t* proto, register long flags), (proto, flags)) __OTORP__(register Proto_t* proto; register long flags;){ +lex __PARAM__((register Proto_t* proto, register long flags), (proto, flags)) __OTORP__(register Proto_t* proto; register long flags;) +{ register char* ip; register char* op; register int c; @@ -2881,7 +1053,6 @@ lex __PARAM__((register Proto_t* proto, register long flags), (proto, flags)) __ int qn = 0; int args = 0; - do{(ip=proto->ip);(op=proto->op);call=proto->call;}while(0); if (flags & (1L<<5)) (ko=op); @@ -2901,7 +1072,37 @@ lex __PARAM__((register Proto_t* proto, register long flags), (proto, flags)) __ if ((n = ip - bp - 1) > 0) { ip = bp; - do switch( n) { default : memcopy( op, ip, n); op += n; ip += n; break; case 7 : * op++ = * ip++; /* FALLTHROUGH */ case 6 : * op++ = * ip++; /* FALLTHROUGH */ case 5 : * op++ = * ip++; /* FALLTHROUGH */ case 4 : * op++ = * ip++; /* FALLTHROUGH */ case 3 : * op++ = * ip++; /* FALLTHROUGH */ case 2 : * op++ = * ip++; /* FALLTHROUGH */ case 1 : * op++ = * ip++; /* FALLTHROUGH */ case 0 : break; } while (0); + do switch(n) + { + default: + memcopy(op, ip, n); + op += n; + ip += n; + break; + case 7: + *op++ = *ip++; + /*FALLTHROUGH */ + case 6: + *op++ = *ip++; + /*FALLTHROUGH */ + case 5: + *op++ = *ip++; + /*FALLTHROUGH */ + case 4: + *op++ = *ip++; + /*FALLTHROUGH */ + case 3: + *op++ = *ip++; + /*FALLTHROUGH */ + case 2: + *op++ = *ip++; + /*FALLTHROUGH */ + case 1: + *op++ = *ip++; + /*FALLTHROUGH */ + case 0: + break; + } while (0); ip++; } state = ~state; @@ -3017,7 +1218,7 @@ lex __PARAM__((register Proto_t* proto, register long flags), (proto, flags)) __ } if (state & (1<<7)) goto fsm_splice; - + if (!(flags & (1L<<21)) && (state = rp[c = (255+1)])) { bp = ip; @@ -3400,13 +1601,11 @@ lex __PARAM__((register Proto_t* proto, register long flags), (proto, flags)) __ case '(': if (!(flags & (1L<<0)) || proto->brace == 0) - { if (paren++ == 0) { if (!(flags & (1L<<0)) || group <= 1) - { args = 0; @@ -3613,7 +1812,7 @@ if !defined(va_start)\n\ } else break; - + case '{': if (proto->brace++ == 0 && paren == 0) { @@ -3633,33 +1832,33 @@ if !defined(va_start)\n\ proto_error((char*)proto + sizeof(Proto_t), 2, op, ((char*)0)); } ip--; - - v = ie; - while (ie < ip) - if (*ie++ == '/' && *ie == '*') - { - e = ie - 1; - while (++ie < ip) - { - if (*ie == '*') - { - while (ie < ip && *ie == '*') ie++; - if (ie < ip && *ie == '/') - { - while (++ie < ip && (*ie == ' ' || *ie == '\t')); - while (e > v && (*(e - 1) == ' ' || *(e - 1) == '\t')) e--; - if (e > v && *e != '\n') *e++ = ' '; - t = ie; - while (--e >= v) - *--t = *e; - v = t; - break; - } - } - } - } - ie = v; - + + v = ie; + while (ie < ip) + if (*ie++ == '/' && *ie == '*') + { + e = ie - 1; + while (++ie < ip) + { + if (*ie == '*') + { + while (ie < ip && *ie == '*') ie++; + if (ie < ip && *ie == '/') + { + while (++ie < ip && (*ie == ' ' || *ie == '\t')); + while (e > v && (*(e - 1) == ' ' || *(e - 1) == '\t')) e--; + if (e > v && *e != '\n') *e++ = ' '; + t = ie; + while (--e >= v) + *--t = *e; + v = t; + break; + } + } + } + } + ie = v; + op = om++; if (flags & (1L<<5)) { @@ -3701,98 +1900,95 @@ if !defined(va_start)\n\ (*op++=( '(')); t = op; e = 0; - - while (ie < ip) - { - if ((c = *ie) == ' ' || c == '\t' || c == '\n') - { - while ((c = *++ie) == ' ' || c == '\t' || c == '\n'); - if (ie >= ip) break; - if (c != '*' && op > om) (*op++=( ' ')); - } - if ((n = ((c = *ie) == ',')) || c == ';') - { - if (flags & (1L<<5)) - { - m = op; - while (op > om && ((c = *(op - 1)) == '(' || c == ')' || c == '[' || c == ']')) - op--; - v = op; - while (op > om && (c = *(op - 1)) != ' ' && c != '*') - op--; - while (*(op - 1) == ' ') - op--; - if (!e) - { - e = op; - while (e > om && *(e - 1) == '*') - e--; - } + while (ie < ip) + { + if ((c = *ie) == ' ' || c == '\t' || c == '\n') + { + while ((c = *++ie) == ' ' || c == '\t' || c == '\n'); + if (ie >= ip) break; + if (c != '*' && op > om) (*op++=( ' ')); + } + if ((n = ((c = *ie) == ',')) || c == ';') + { + if (flags & (1L<<5)) + { + m = op; + while (op > om && ((c = *(op - 1)) == '(' || c == ')' || c == '[' || c == ']')) + op--; + v = op; + while (op > om && (c = *(op - 1)) != ' ' && c != '*') + op--; + while (*(op - 1) == ' ') + op--; + if (!e) + { + e = op; + while (e > om && *(e - 1) == '*') + e--; + } + if (op <= om) + op = strcopy(op, "int"); + else if (*(op - 1) == ',') + op = strcopy(op, " int"); + while (v < m) + (*op++=( *v++)); + } + (*op++=( ',')); + if (n) + { + if (x = !e) e = op - 1; + (*op++=( ' ')); + m = t; + while (m < e) + (*op++=( *m++)); + if (x) + { + m = e; + while (*--e != ' '); + while (*(e - 1) == '*') e--; + op -= m - e; + } + } + while ((c = *++ie) == ' ' || c == '\t' || c == '\n'); + if (ie >= ip) (op--); + else (*op++=( ' ')); + if (!n) + { + t = op; + e = 0; + } + } + else if (*ie == '*') + { + if (op > om && (c = *(op - 1)) == ' ') op--; + while (*ie == '*') (*op++=( *ie++)); + while (*ie == ' ' || *ie == '\t' || *ie == '\n') ie++; + if (c != '(') (*op++=( ' ')); + } + else if (*ie == '(') + { + if (op > om && *(op - 1) == ' ') op--; + (*op++=( *ie++)); + while (*ie == ' ' || *ie == '\t' || *ie == '\n') ie++; + } + else if (*ie == ')') + { + if (op > om && *(op - 1) == '(') + proto_error((char*)proto + sizeof(Proto_t), 1, "function pointer argument prototype omitted", ((char*)0)); + (*op++=( *ie++)); + while (*ie == ' ' || *ie == '\t' || *ie == '\n') ie++; + } + else if ((flags & (1L<<5)) && (op == om || *(op - 1) == ' ') && *ie == 'r' && !sstrncmp( ie, "register", 8) && (*(ie + 8) == ' ' || *(ie + 8) == '\t' || *(ie + 8) == '\n')) + { + ie += 8; + if (op > om) (op--); + } + else (*op++=( *ie++)); + } - if (op <= om) - op = strcopy(op, "int"); - else if (*(op - 1) == ',') - op = strcopy(op, " int"); - - while (v < m) - (*op++=( *v++)); - } - (*op++=( ',')); - if (n) - { - if (x = !e) e = op - 1; - (*op++=( ' ')); - m = t; - while (m < e) - (*op++=( *m++)); - if (x) - { - m = e; - while (*--e != ' '); - while (*(e - 1) == '*') e--; - op -= m - e; - } - } - while ((c = *++ie) == ' ' || c == '\t' || c == '\n'); - if (ie >= ip) (op--); - else (*op++=( ' ')); - if (!n) - { - t = op; - e = 0; - } - } - else if (*ie == '*') - { - if (op > om && (c = *(op - 1)) == ' ') op--; - while (*ie == '*') (*op++=( *ie++)); - while (*ie == ' ' || *ie == '\t' || *ie == '\n') ie++; - if (c != '(') (*op++=( ' ')); - } - else if (*ie == '(') - { - if (op > om && *(op - 1) == ' ') op--; - (*op++=( *ie++)); - while (*ie == ' ' || *ie == '\t' || *ie == '\n') ie++; - } - else if (*ie == ')') - { - if (op > om && *(op - 1) == '(') - proto_error((char*)proto + sizeof(Proto_t), 1, "function pointer argument prototype omitted", ((char*)0)); - (*op++=( *ie++)); - while (*ie == ' ' || *ie == '\t' || *ie == '\n') ie++; - } - else if ((flags & (1L<<5)) && (op == om || *(op - 1) == ' ') && *ie == 'r' && !sstrncmp( ie, "register", 8) && (*(ie + 8) == ' ' || *(ie + 8) == '\t' || *(ie + 8) == '\n')) - { - ie += 8; - if (op > om) (op--); - } - else (*op++=( *ie++)); - } - if (op <= om) op = strcopy(op, "void"); (*op++=( ')')); if (flags & (1L<<5)) @@ -3955,7 +2151,7 @@ if !defined(va_start)\n\ } if (paren == 0 && (flags & (1L<<1))) *(op - 1) = c = ';'; - + case ';': fsm_statement: if (flags & (1L<<9)) ; @@ -4342,7 +2538,6 @@ if !defined(va_start)\n\ case '[': if ((flags & (1L<<0)) && paren == 0 && group <= 2) flags |= (1L<<23); - default: fsm_other: @@ -4377,9 +2572,6 @@ if !defined(va_start)\n\ if (*t++ == 'i' && *t++ == 'f' && *t++ == 'n' && *t++ == 'd' && *t++ == 'e' && *t++ == 'f') { - - - t = 0; } } @@ -4393,9 +2585,6 @@ if !defined(va_start)\n\ ip -= n; op -= n; - - - } else while (*ip != '\n') @@ -4410,22 +2599,18 @@ if !defined(va_start)\n\ return c; } - - - - void -pppclose __PARAM__((char* iob), (iob)) __OTORP__(char* iob;){ +pppclose __PARAM__((char* iob), (iob)) __OTORP__(char* iob;) +{ register Proto_t* proto = (Proto_t*)(iob - sizeof(Proto_t)); if (proto->flags & (1L<<16)) close(proto->fd); free((char*)proto); } - -#line 2055 char* -pppopen __PARAM__((char* file, int fd, char* notice, char* options, char* package, char* comment, int flags), (file, fd, notice, options, package, comment, flags)) __OTORP__(char* file; int fd; char* notice; char* options; char* package; char* comment; int flags;){ +pppopen __PARAM__((char* file, int fd, char* package, char* comment, int flags), (file, fd, package, comment, flags)) __OTORP__(char* file; int fd; char* package; char* comment; int flags;) +{ register Proto_t* proto; register char* iob; register long n; @@ -4438,50 +2623,19 @@ pppopen __PARAM__((char* file, int fd, char* notice, char* options, char* packag int z; char* b; - int comlen; char com[80]; int m = 0; static int retain; - - - - - if (flags & (1<<0)) flags &= ~(1<<5); if (flags & (1<<11)) flags &= ~retain; else retain &= (1<<6); if (file && (fd = open(file, O_RDONLY)) < 0) return 0; - - - - - - - - - - - - - - - - - - - - - { - - - - n = (16*1024); if (!(proto = (( 0)?( Proto_t*)realloc((char*)( 0),sizeof( Proto_t)*( 1)+( 5 * n + 2)):( Proto_t*)calloc(1,sizeof( Proto_t)*( 1)+( 5 * n + 2))))) return 0; @@ -4497,8 +2651,6 @@ pppopen __PARAM__((char* file, int fd, char* notice, char* options, char* packag if (m) proto->options |= (1L<<0); if (!comment) comment = "/*"; - if (!(proto->cc[0] = comment[0])) - notice = options = 0; else if (comment[1]) { proto->cc[1] = comment[1]; @@ -4507,10 +2659,6 @@ pppopen __PARAM__((char* file, int fd, char* notice, char* options, char* packag else proto->cc[1] = proto->cc[2] = comment[0]; - - - - n = read(fd, proto->ip, proto->iz); if (!(proto->flags & (1L<<16))) close(fd); @@ -4521,12 +2669,10 @@ pppopen __PARAM__((char* file, int fd, char* notice, char* options, char* packag } *(proto->ip + n) = 0; - -#line 2165 - if (!notice && !options || (comlen = astlicense(com, sizeof(com), ((char*)0), "type=check", proto->cc[0], proto->cc[1], proto->cc[2])) <= 0) - *com = 0; + /* license comment */ + *com = 0; - hit = (notice || options) ? 0 : 0x02; + hit = 0x02; pragma = -1; s = proto->ip; m = 80; @@ -4554,9 +2700,6 @@ pppopen __PARAM__((char* file, int fd, char* notice, char* options, char* packag hit |= pragmas[i].hit; switch (pragmas[i].hit) { - case 0x02: - notice = options = 0; - break; case 0x01: pragma = pragmas[i].val; break; @@ -4577,53 +2720,19 @@ pppopen __PARAM__((char* file, int fd, char* notice, char* options, char* packag pragma = 0; break; } - else if (*s == '%' && *(s + 1) == '{') proto->flags |= (1L<<29); - else if (!(hit & 0x02)) - { - if (*s == *com && !sstrncmp( s, com, comlen)) - { - hit |= 0x02; - notice = options = 0; - } - else - for (; *s && *s != '\n' && !(hit & 0x02); s++) - for (i = 0; i < (sizeof( notices)/sizeof( notices[0])); i++) - if (*s == notices[i].name[0] && !sstrncmp( s, notices[i].name, notices[i].size)) - { - s += notices[i].size; - if (notices[i].val) - { - while (*s == ' ' || *s == '\t') - s++; - if (*s == '(' && (*(s + 1) == 'c' || *(s + 1) == 'C') && *(s + 2) == ')' || *s >= '0' && *s <= '9' && *(s + 1) >= '0' && *(s + 1) <= '9') - { - hit |= notices[i].hit; - notice = options = 0; - } - } - else - { - hit |= notices[i].hit; - notice = options = 0; - } - break; - } - } - - while (*s && *s++ != '\n'); + while (*s && *s++ != '\n') + ; } if (flags & (1<<10)) proto->flags |= (1L<<20); if (flags & (1<<12)) proto->test = 1; if (flags & (1<<2)) proto->options |= (1L<<6); - if (flags & (1<<0)) pragma = -pragma; if (flags & (1<<1)) pragma = 0; if (flags & (1<<7)) proto->flags |= (1L<<13); if (!(proto->flags & (1L<<29)) && file && (m = sstrlen( file)) > 2 && file[--m] == 'y' && file[--m] == '.') proto->flags |= (1L<<29); - if (pragma <= 0) { if (flags & (1<<10)) @@ -4642,30 +2751,6 @@ pppopen __PARAM__((char* file, int fd, char* notice, char* options, char* packag if (proto->flags & (1L<<16)) proto->oz += proto->iz; proto->iz = n; - if (notice || options) - { - if (proto->cc[0] == '#' && proto->ip[0] == '#' && proto->ip[1] == '!') - { - s = proto->ip; - while (*s && *s++ != '\n'); - m = s - proto->ip; - proto->op = memcopy(proto->op, proto->ip, m); - proto->ip = s; - proto->iz = n -= m; - } - - if (proto->cc[0]) - { - if ((comlen = astlicense(proto->op, proto->oz, notice, options, proto->cc[0], proto->cc[1], proto->cc[2])) < 0) - proto_error((char*)proto + sizeof(Proto_t), 1, proto->op, ((char*)0)); - else - proto->op += comlen; - } - if (!(flags & (1<<0)) && !(proto->flags & (1L<<29))) - - proto->op = linesync(proto, proto->op, 1); - proto->iz += proto->op - proto->ob; - } memcopy(proto->op, proto->ip, n); return iob; } @@ -4679,17 +2764,8 @@ pppopen __PARAM__((char* file, int fd, char* notice, char* options, char* packag proto->line = 1; - if (notice || options || (flags & ((1<<4)|(1<<5)))) + if (flags & ((1<<4)|(1<<5))) { - - if (notice || options) - { - if ((comlen = astlicense(proto->op, proto->oz, notice, options, proto->cc[0], proto->cc[1], proto->cc[2])) < 0) - proto_error((char*)proto + sizeof(Proto_t), 1, proto->op, ((char*)0)); - else - proto->op += comlen; - } - if (flags & (1<<5)) { proto->flags |= (1L<<11); @@ -4717,13 +2793,13 @@ pppopen __PARAM__((char* file, int fd, char* notice, char* options, char* packag { if (proto->flags & (1L<<29)) { - proto->op = strcopy(proto->op, "\n%{\n"+ !notice); + proto->op = strcopy(proto->op, "%{\n"); proto->op = strcopy(proto->op, "/* : : generated by proto : : */\n"); proto->op = strcopy(proto->op, "%}\n"); } else { - if (n || notice || options) + if (n) *proto->op++ = '\n'; proto->op = strcopy(proto->op, "/* : : generated by proto : : */\n"); if (n) @@ -4735,7 +2811,6 @@ pppopen __PARAM__((char* file, int fd, char* notice, char* options, char* packag } - proto->file = file; if (flags & (1<<0)) { @@ -4746,13 +2821,9 @@ pppopen __PARAM__((char* file, int fd, char* notice, char* options, char* packag return iob; } - - - - - int -pppread __PARAM__((char* iob), (iob)) __OTORP__(char* iob;){ +pppread __PARAM__((char* iob), (iob)) __OTORP__(char* iob;) +{ register Proto_t* proto = (Proto_t*)(iob - sizeof(Proto_t)); register int n; @@ -4841,25 +2912,9 @@ pppread __PARAM__((char* iob), (iob)) __OTORP__(char* iob;){ return n; } - - - - - - - - - - - -#line 269 "proto.c" - - - - - static int -proto __PARAM__((char* file, char* license, char* options, char* package, char* copy, char* comment, int flags), (file, license, options, package, copy, comment, flags)) __OTORP__(char* file; char* license; char* options; char* package; char* copy; char* comment; int flags;){ +proto __PARAM__((char* file, char* package, char* copy, char* comment, int flags), (file, package, copy, comment, flags)) __OTORP__(char* file; char* package; char* copy; char* comment; int flags;) +{ char* b; char* e; char* p; @@ -4871,7 +2926,7 @@ proto __PARAM__((char* file, char* license, char* options, char* package, char* if (file && access(file, 4)) proto_error(((char*)0), 2, file, "not found"); - else if (b = pppopen(file, 0, license, options, package, comment, flags)) + else if (b = pppopen(file, 0, package, comment, flags)) { if (!file) fd = 1; @@ -4964,10 +3019,6 @@ proto __PARAM__((char* file, char* license, char* options, char* package, char* return flags; } - - - - typedef struct Sufcom_s { char suffix[4]; @@ -5014,12 +3065,9 @@ static const Sufcom_t sufcom[] = "Y", "/*", }; - - - - static char* -type __PARAM__((register char* file, char* comment), (file, comment)) __OTORP__(register char* file; char* comment;){ +type __PARAM__((register char* file, char* comment), (file, comment)) __OTORP__(register char* file; char* comment;) +{ register char* suffix; register int i; @@ -5038,7 +3086,8 @@ type __PARAM__((register char* file, char* comment), (file, comment)) __OTORP__( } int -main __PARAM__((int argc, char** argv), (argc, argv)) __OTORP__(int argc; char** argv;){ +main __PARAM__((int argc, char** argv), (argc, argv)) __OTORP__(int argc; char** argv;) +{ char* b; char* file; int fd; @@ -5048,15 +3097,11 @@ main __PARAM__((int argc, char** argv), (argc, argv)) __OTORP__(int argc; char** char* comment = 0; char* copy = 0; char* list = 0; - char* license = 0; - char* options = 0; char* package = 0; int flags = (1<<4); char buf[1024]; char opt[4 * 1024]; - ; - while ((file = *++argv) && *file == '-' && *(file + 1)) { for (;;) @@ -5088,37 +3133,9 @@ main __PARAM__((int argc, char** argv), (argc, argv)) __OTORP__(int argc; char** case 'i': flags |= (1<<0); continue; - case 'l': - if (!*(license = ++file) && !(license = *++argv)) - { - file = "??"; - continue; - } - break; case 'n': flags |= (1<<7); continue; - case 'o': - if (!*(b = ++file) && !(b = *++argv)) - { - file = "??"; - continue; - } - if (!options) - { - options = op = opt; - oe = op + sizeof(opt) - 1; - } - n = sstrlen( b); - if ((n + 1) >= (oe - op)) - proto_error(((char*)0), 3, b, "too many options"); - else - { - *op++ = '\n'; - memcopy( op, b, n + 1); - op += n; - } - break; case 'p': flags |= (1<<9); continue; @@ -5165,106 +3182,13 @@ main __PARAM__((int argc, char** argv), (argc, argv)) __OTORP__(int argc; char** proto_error(((char*)0), 2, file, "unknown option"); /* FALLTHROUGH */ case '?': - b = "Usage: proto [-dfhinprstvzP+S] [-C directory] [-e package] [-l file]\n [-o \"name='value' ...\"] [-L file] file ...\n"; + b = "Usage: proto [-dfhinprstvzP+S] [-C directory] [-e package]\n [-L file] file ...\n"; write(2, b, sstrlen( b)); return 2; } break; } } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (list) { if (*list == '-' && !*(list + 1)) @@ -5277,15 +3201,15 @@ main __PARAM__((int argc, char** argv), (argc, argv)) __OTORP__(int argc; char** if (b > buf) { *b = 0; - flags = proto(buf, license, options, package, copy, type(buf, comment), flags); + flags = proto(buf, package, copy, type(buf, comment), flags); } } while (n > 0); if (fd > 0) close(fd); } if (file) - do flags = proto(file, license, options, package, copy, type(file, comment), flags); while (file = *++argv); + do flags = proto(file, package, copy, type(file, comment), flags); while (file = *++argv); else if (!list) - flags = proto(file, license, options, package, copy, type(file, comment), flags); + flags = proto(file, package, copy, type(file, comment), flags); return errors ? 1 : (flags & ((1<<13)<<0)) ? 2 : 0; } diff --git a/src/cmd/builtin/Mamfile b/src/cmd/builtin/Mamfile index 20f5e7a2a..34d463a18 100644 --- a/src/cmd/builtin/Mamfile +++ b/src/cmd/builtin/Mamfile @@ -19,8 +19,6 @@ setv CCFLAGS ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${mam_cc_OPTIMIZE}? setv CCLDFLAGS ${-strip-symbols?1?${mam_cc_LD_STRIP}??} setv IFFEFLAGS setv LDFLAGS -make ${PACKAGEROOT}/lib/package/ast.lic -done ${PACKAGEROOT}/lib/package/ast.lic make .INIT make ${PACKAGE_ast_INCLUDE}/cmdlist.h make ${PACKAGE_ast_INCLUDE}/prototyped.h implicit diff --git a/src/cmd/ksh93/Mamfile b/src/cmd/ksh93/Mamfile index 80f52e04e..873858a8d 100644 --- a/src/cmd/ksh93/Mamfile +++ b/src/cmd/ksh93/Mamfile @@ -22,8 +22,6 @@ setv COTEMP $$ setv IFFEFLAGS setv LDFLAGS setv SH_DICT \"libshell\" -make ${PACKAGEROOT}/lib/package/ast.lic -done ${PACKAGEROOT}/lib/package/ast.lic make install make ksh make SHOPT.sh implicit @@ -1510,7 +1508,7 @@ make install make ${PACKAGE_ast_INCLUDE}/nval.h prev ${PACKAGE_ast_INCLUDE} prev include/nval.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1982,author=dgk' include/nval.h > 1.${COTEMP}.x + exec - proto -p -s include/nval.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${PACKAGE_ast_INCLUDE}/nval.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${PACKAGE_ast_INCLUDE}/nval.h @@ -1518,7 +1516,7 @@ make install done ${PACKAGE_ast_INCLUDE}/nval.h generated make ${PACKAGE_ast_INCLUDE}/shell.h prev include/shell.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1982,author=dgk' include/shell.h > 1.${COTEMP}.x + exec - proto -p -s include/shell.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${PACKAGE_ast_INCLUDE}/shell.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${PACKAGE_ast_INCLUDE}/shell.h @@ -1526,7 +1524,7 @@ make install done ${PACKAGE_ast_INCLUDE}/shell.h generated make ${PACKAGE_ast_INCLUDE}/history.h prev include/history.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1982,author=dgk' include/history.h > 1.${COTEMP}.x + exec - proto -p -s include/history.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${PACKAGE_ast_INCLUDE}/history.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${PACKAGE_ast_INCLUDE}/history.h diff --git a/src/lib/libast/Mamfile b/src/lib/libast/Mamfile index 8137fd633..ce9572062 100644 --- a/src/lib/libast/Mamfile +++ b/src/lib/libast/Mamfile @@ -19,8 +19,6 @@ setv CCLDFLAGS ${-strip-symbols?1?${mam_cc_LD_STRIP}??} setv COTEMP $$ setv IFFEFLAGS setv LDFLAGS -make ${PACKAGEROOT}/lib/package/ast.lic -done ${PACKAGEROOT}/lib/package/ast.lic make install make ast make libast.a archive @@ -999,7 +997,7 @@ make install make port/lc.tab done port/lc.tab exec - ./lcgen ${COTEMP}.1 ${COTEMP}.2 < port/lc.tab - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' ${COTEMP}.1 > ${COTEMP}.3 + exec - proto -p -s ${COTEMP}.1 > ${COTEMP}.3 exec - rm -f ${COTEMP}.1 exec - if cmp 2>/dev/null -s ${COTEMP}.3 lc.h exec - then rm ${COTEMP}.3 @@ -5559,14 +5557,6 @@ make install prev port/astdynamic.c exec - ${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} -I. -Icomp -Iport -Isfio -Iinclude -Istd -I${INSTALLROOT}/include -D_PACKAGE_ast -c port/astdynamic.c done astdynamic.o generated - make astlicense.o - make port/astlicense.c - prev include/ast.h implicit - done port/astlicense.c - meta astlicense.o %.c>%.o port/astlicense.c astlicense - prev port/astlicense.c - exec - ${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd -D_PACKAGE_ast -c port/astlicense.c - done astlicense.o generated make astquery.o make port/astquery.c prev include/error.h implicit @@ -6101,7 +6091,7 @@ make install exec - ${AR} rc libast.a strntonll.o strntol.o strntoll.o strntoul.o strntoull.o strcasecmp.o strncasecmp.o strerror.o mktemp.o tmpnam.o fsync.o execlp.o execve.o execvp.o execvpe.o spawnveg.o vfork.o killpg.o hsearch.o tsearch.o getlogin.o putenv.o setenv.o unsetenv.o lstat.o statvfs.o eaccess.o gross.o omitted.o readlink.o symlink.o getpgrp.o setpgid.o setsid.o waitpid.o creat64.o fcntl.o open.o atexit.o getdents.o getwd.o dup2.o errno.o getpreroot.o ispreroot.o realopen.o setpreroot.o getgroups.o mount.o system.o iblocks.o modedata.o tmdata.o memfatal.o sfkeyprintf.o sfdcdio.o sfdcdos.o sfdcfilter.o sfdcseekable.o sfdcslow.o sfdcsubstr.o sfdctee.o sfdcunion.o sfdcmore.o sfdcprefix.o wc.o wc2utf8.o basename.o closelog.o dirname.o fmtmsglib.o fnmatch.o ftw.o getdate.o getsubopt.o glob.o nftw.o openlog.o re_comp.o resolvepath.o realpath.o regcmp.o regexp.o setlogmask.o strftime.o strptime.o swab.o syslog.o tempnam.o wordexp.o mktime.o regalloc.o regclass.o regcoll.o regcomp.o regcache.o regdecomp.o regerror.o regexec.o regfatal.o reginit.o exec - ${AR} rc libast.a regnexec.o regsubcomp.o regsubexec.o regsub.o regrecord.o regrexec.o regstat.o dtclose.o dtdisc.o dthash.o dtlist.o dtmethod.o dtopen.o dtstat.o dtstrhash.o dttree.o dtuser.o dtview.o dtwalk.o dtnew.o dtcomp.o sfclose.o sfclrlock.o sfdisc.o sfdlen.o sfexcept.o sfgetl.o sfgetu.o sfcvt.o sfecvt.o sffcvt.o sfextern.o sffilbuf.o sfflsbuf.o sfprints.o sfgetd.o sfgetr.o sfllen.o sfmode.o sfmove.o sfnew.o sfpkrd.o sfnotify.o sfnputc.o sfopen.o sfpeek.o sfpoll.o sfpool.o sfpopen.o sfprintf.o sfputd.o sfputl.o sfputr.o sfputu.o sfrd.o sfread.o sfreserve.o sfscanf.o sfseek.o sfset.o sfsetbuf.o sfsetfd.o sfsize.o sfsk.o sfstack.o sfstrtod.o sfsync.o sfswap.o sftable.o sftell.o sftmp.o sfungetc.o sfvprintf.o sfvscanf.o sfwr.o sfwrite.o sfpurge.o sfraise.o sfwalk.o sfgetm.o sfmutex.o sfputm.o sfresize.o _sfclrerr.o _sfeof.o _sferror.o _sffileno.o _sfopen.o _sfstacked.o _sfvalue.o _sfgetc.o _sfgetl.o _sfgetl2.o _sfgetu.o _sfgetu2.o _sfdlen.o _sfllen.o _sfslen.o _sfulen.o _sfputc.o _sfputd.o _sfputl.o _sfputm.o exec - ${AR} rc libast.a _sfputu.o clearerr.o fclose.o fdopen.o feof.o ferror.o fflush.o fgetc.o fgetpos.o fgets.o fileno.o fopen.o fprintf.o fpurge.o fputc.o fputs.o fread.o freopen.o fscanf.o fseek.o fseeko.o fsetpos.o ftell.o ftello.o fwrite.o flockfile.o ftrylockfile.o funlockfile.o getc.o getchar.o getw.o pclose.o popen.o printf.o putc.o putchar.o puts.o putw.o rewind.o scanf.o setbuf.o setbuffer.o setlinebuf.o setvbuf.o snprintf.o sprintf.o sscanf.o asprintf.o vasprintf.o tmpfile.o ungetc.o vfprintf.o vfscanf.o vprintf.o vscanf.o vsnprintf.o vsprintf.o vsscanf.o _doprnt.o _doscan.o _filbuf.o _flsbuf.o _stdfun.o _stdopen.o _stdprintf.o _stdscanf.o _stdsprnt.o _stdvbuf.o _stdvsnprnt.o _stdvsprnt.o _stdvsscn.o fgetwc.o fwprintf.o putwchar.o vfwscanf.o wprintf.o fgetws.o fwscanf.o swprintf.o vswprintf.o wscanf.o fputwc.o getwc.o swscanf.o vswscanf.o fputws.o getwchar.o ungetwc.o vwprintf.o fwide.o putwc.o vfwprintf.o vwscanf.o stdio_c99.o fcloseall.o fmemopen.o getdelim.o getline.o frexp.o frexpl.o astcopy.o - exec - ${AR} rc libast.a astconf.o astdynamic.o astlicense.o astquery.o astwinsize.o conftab.o aststatic.o getopt.o getoptl.o aso.o asolock.o asometh.o asorelax.o aso-sem.o aso-fcntl.o vmbest.o vmclear.o vmclose.o vmdcheap.o vmdebug.o vmdisc.o vmexit.o vmlast.o vmopen.o vmpool.o vmprivate.o vmprofile.o vmregion.o vmsegment.o vmset.o vmstat.o vmstrdup.o vmtrace.o vmwalk.o vmmopen.o malloc.o vmgetmem.o a64l.o acosh.o asinh.o atanh.o cbrt.o crypt.o erf.o err.o exp.o exp__E.o expm1.o gamma.o getpass.o lgamma.o log.o log1p.o log__L.o rand48.o random.o rcmd.o rint.o support.o sfstrtmp.o + exec - ${AR} rc libast.a astconf.o astdynamic.o astquery.o astwinsize.o conftab.o aststatic.o getopt.o getoptl.o aso.o asolock.o asometh.o asorelax.o aso-sem.o aso-fcntl.o vmbest.o vmclear.o vmclose.o vmdcheap.o vmdebug.o vmdisc.o vmexit.o vmlast.o vmopen.o vmpool.o vmprivate.o vmprofile.o vmregion.o vmsegment.o vmset.o vmstat.o vmstrdup.o vmtrace.o vmwalk.o vmmopen.o malloc.o vmgetmem.o a64l.o acosh.o asinh.o atanh.o cbrt.o crypt.o erf.o err.o exp.o exp__E.o expm1.o gamma.o getpass.o lgamma.o log.o log1p.o log__L.o rand48.o random.o rcmd.o rint.o support.o sfstrtmp.o exec - (ranlib libast.a) >/dev/null 2>&1 || true done libast.a generated done ast virtual @@ -6431,7 +6421,7 @@ make install make ${INSTALLROOT}/include/ast/ast_common.h prev ${INSTALLROOT}/include/ast prev ast_common.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' ast_common.h > 1.${COTEMP}.x + exec - proto -p -s ast_common.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_common.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_common.h @@ -6439,7 +6429,7 @@ make install done ${INSTALLROOT}/include/ast/ast_common.h generated make ${INSTALLROOT}/include/ast/ast.h prev include/ast.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/ast.h > 1.${COTEMP}.x + exec - proto -p -s include/ast.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast.h @@ -6447,7 +6437,7 @@ make install done ${INSTALLROOT}/include/ast/ast.h generated make ${INSTALLROOT}/include/ast/ast_dir.h prev include/ast_dir.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/ast_dir.h > 1.${COTEMP}.x + exec - proto -p -s include/ast_dir.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_dir.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_dir.h @@ -6455,7 +6445,7 @@ make install done ${INSTALLROOT}/include/ast/ast_dir.h generated make ${INSTALLROOT}/include/ast/ast_getopt.h prev include/ast_getopt.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/ast_getopt.h > 1.${COTEMP}.x + exec - proto -p -s include/ast_getopt.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_getopt.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_getopt.h @@ -6463,7 +6453,7 @@ make install done ${INSTALLROOT}/include/ast/ast_getopt.h generated make ${INSTALLROOT}/include/ast/ast_std.h prev include/ast_std.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/ast_std.h > 1.${COTEMP}.x + exec - proto -p -s include/ast_std.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_std.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_std.h @@ -6471,7 +6461,7 @@ make install done ${INSTALLROOT}/include/ast/ast_std.h generated make ${INSTALLROOT}/include/ast/ast_namval.h prev ast_namval.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' ast_namval.h > 1.${COTEMP}.x + exec - proto -p -s ast_namval.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_namval.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_namval.h @@ -6479,7 +6469,7 @@ make install done ${INSTALLROOT}/include/ast/ast_namval.h generated make ${INSTALLROOT}/include/ast/ast_windows.h prev include/ast_windows.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/ast_windows.h > 1.${COTEMP}.x + exec - proto -p -s include/ast_windows.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_windows.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_windows.h @@ -6487,7 +6477,7 @@ make install done ${INSTALLROOT}/include/ast/ast_windows.h generated make ${INSTALLROOT}/include/ast/ccode.h prev include/ccode.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/ccode.h > 1.${COTEMP}.x + exec - proto -p -s include/ccode.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ccode.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ccode.h @@ -6495,7 +6485,7 @@ make install done ${INSTALLROOT}/include/ast/ccode.h generated make ${INSTALLROOT}/include/ast/cdt.h prev include/cdt.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/cdt.h > 1.${COTEMP}.x + exec - proto -p -s include/cdt.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/cdt.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/cdt.h @@ -6503,7 +6493,7 @@ make install done ${INSTALLROOT}/include/ast/cdt.h generated make ${INSTALLROOT}/include/ast/cdtlib.h prev cdt/cdtlib.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' cdt/cdtlib.h > 1.${COTEMP}.x + exec - proto -p -s cdt/cdtlib.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/cdtlib.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/cdtlib.h @@ -6511,7 +6501,7 @@ make install done ${INSTALLROOT}/include/ast/cdtlib.h generated make ${INSTALLROOT}/include/ast/cmdarg.h prev include/cmdarg.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/cmdarg.h > 1.${COTEMP}.x + exec - proto -p -s include/cmdarg.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/cmdarg.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/cmdarg.h @@ -6519,7 +6509,7 @@ make install done ${INSTALLROOT}/include/ast/cmdarg.h generated make ${INSTALLROOT}/include/ast/debug.h prev include/debug.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/debug.h > 1.${COTEMP}.x + exec - proto -p -s include/debug.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/debug.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/debug.h @@ -6527,7 +6517,7 @@ make install done ${INSTALLROOT}/include/ast/debug.h generated make ${INSTALLROOT}/include/ast/dt.h prev include/dt.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/dt.h > 1.${COTEMP}.x + exec - proto -p -s include/dt.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/dt.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/dt.h @@ -6535,7 +6525,7 @@ make install done ${INSTALLROOT}/include/ast/dt.h generated make ${INSTALLROOT}/include/ast/error.h prev include/error.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/error.h > 1.${COTEMP}.x + exec - proto -p -s include/error.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/error.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/error.h @@ -6543,7 +6533,7 @@ make install done ${INSTALLROOT}/include/ast/error.h generated make ${INSTALLROOT}/include/ast/find.h prev include/find.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/find.h > 1.${COTEMP}.x + exec - proto -p -s include/find.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/find.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/find.h @@ -6551,7 +6541,7 @@ make install done ${INSTALLROOT}/include/ast/find.h generated make ${INSTALLROOT}/include/ast/ftw.h prev comp/ftw.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' comp/ftw.h > 1.${COTEMP}.x + exec - proto -p -s comp/ftw.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ftw.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ftw.h @@ -6559,7 +6549,7 @@ make install done ${INSTALLROOT}/include/ast/ftw.h generated make ${INSTALLROOT}/include/ast/ftwalk.h prev include/ftwalk.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/ftwalk.h > 1.${COTEMP}.x + exec - proto -p -s include/ftwalk.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ftwalk.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ftwalk.h @@ -6567,7 +6557,7 @@ make install done ${INSTALLROOT}/include/ast/ftwalk.h generated make ${INSTALLROOT}/include/ast/fts.h prev include/fts.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/fts.h > 1.${COTEMP}.x + exec - proto -p -s include/fts.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/fts.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/fts.h @@ -6575,7 +6565,7 @@ make install done ${INSTALLROOT}/include/ast/fts.h generated make ${INSTALLROOT}/include/ast/getopt.h prev comp/getopt.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' comp/getopt.h > 1.${COTEMP}.x + exec - proto -p -s comp/getopt.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/getopt.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/getopt.h @@ -6583,7 +6573,7 @@ make install done ${INSTALLROOT}/include/ast/getopt.h generated make ${INSTALLROOT}/include/ast/glob.h prev include/glob.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/glob.h > 1.${COTEMP}.x + exec - proto -p -s include/glob.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/glob.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/glob.h @@ -6591,7 +6581,7 @@ make install done ${INSTALLROOT}/include/ast/glob.h generated make ${INSTALLROOT}/include/ast/hash.h prev include/hash.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/hash.h > 1.${COTEMP}.x + exec - proto -p -s include/hash.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/hash.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/hash.h @@ -6599,7 +6589,7 @@ make install done ${INSTALLROOT}/include/ast/hash.h generated make ${INSTALLROOT}/include/ast/hashkey.h prev include/hashkey.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/hashkey.h > 1.${COTEMP}.x + exec - proto -p -s include/hashkey.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/hashkey.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/hashkey.h @@ -6607,7 +6597,7 @@ make install done ${INSTALLROOT}/include/ast/hashkey.h generated make ${INSTALLROOT}/include/ast/hashpart.h prev include/hashpart.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/hashpart.h > 1.${COTEMP}.x + exec - proto -p -s include/hashpart.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/hashpart.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/hashpart.h @@ -6615,7 +6605,7 @@ make install done ${INSTALLROOT}/include/ast/hashpart.h generated make ${INSTALLROOT}/include/ast/ip6.h prev include/ip6.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/ip6.h > 1.${COTEMP}.x + exec - proto -p -s include/ip6.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ip6.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ip6.h @@ -6623,7 +6613,7 @@ make install done ${INSTALLROOT}/include/ast/ip6.h generated make ${INSTALLROOT}/include/ast/lc.h prev lc.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' lc.h > 1.${COTEMP}.x + exec - proto -p -s lc.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/lc.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/lc.h @@ -6631,7 +6621,7 @@ make install done ${INSTALLROOT}/include/ast/lc.h generated make ${INSTALLROOT}/include/ast/ls.h prev include/ls.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/ls.h > 1.${COTEMP}.x + exec - proto -p -s include/ls.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ls.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ls.h @@ -6639,7 +6629,7 @@ make install done ${INSTALLROOT}/include/ast/ls.h generated make ${INSTALLROOT}/include/ast/magic.h prev include/magic.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/magic.h > 1.${COTEMP}.x + exec - proto -p -s include/magic.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/magic.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/magic.h @@ -6647,7 +6637,7 @@ make install done ${INSTALLROOT}/include/ast/magic.h generated make ${INSTALLROOT}/include/ast/mc.h prev include/mc.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/mc.h > 1.${COTEMP}.x + exec - proto -p -s include/mc.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/mc.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/mc.h @@ -6655,7 +6645,7 @@ make install done ${INSTALLROOT}/include/ast/mc.h generated make ${INSTALLROOT}/include/ast/mime.h prev include/mime.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/mime.h > 1.${COTEMP}.x + exec - proto -p -s include/mime.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/mime.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/mime.h @@ -6663,7 +6653,7 @@ make install done ${INSTALLROOT}/include/ast/mime.h generated make ${INSTALLROOT}/include/ast/mnt.h prev include/mnt.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/mnt.h > 1.${COTEMP}.x + exec - proto -p -s include/mnt.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/mnt.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/mnt.h @@ -6671,7 +6661,7 @@ make install done ${INSTALLROOT}/include/ast/mnt.h generated make ${INSTALLROOT}/include/ast/modecanon.h prev include/modecanon.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/modecanon.h > 1.${COTEMP}.x + exec - proto -p -s include/modecanon.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/modecanon.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/modecanon.h @@ -6679,7 +6669,7 @@ make install done ${INSTALLROOT}/include/ast/modecanon.h generated make ${INSTALLROOT}/include/ast/modex.h prev include/modex.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/modex.h > 1.${COTEMP}.x + exec - proto -p -s include/modex.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/modex.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/modex.h @@ -6687,7 +6677,7 @@ make install done ${INSTALLROOT}/include/ast/modex.h generated make ${INSTALLROOT}/include/ast/namval.h prev include/namval.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/namval.h > 1.${COTEMP}.x + exec - proto -p -s include/namval.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/namval.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/namval.h @@ -6695,7 +6685,7 @@ make install done ${INSTALLROOT}/include/ast/namval.h generated make ${INSTALLROOT}/include/ast/option.h prev include/option.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/option.h > 1.${COTEMP}.x + exec - proto -p -s include/option.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/option.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/option.h @@ -6703,7 +6693,7 @@ make install done ${INSTALLROOT}/include/ast/option.h generated make ${INSTALLROOT}/include/ast/proc.h prev include/proc.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/proc.h > 1.${COTEMP}.x + exec - proto -p -s include/proc.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/proc.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/proc.h @@ -6711,7 +6701,7 @@ make install done ${INSTALLROOT}/include/ast/proc.h generated make ${INSTALLROOT}/include/ast/re_comp.h prev comp/re_comp.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' comp/re_comp.h > 1.${COTEMP}.x + exec - proto -p -s comp/re_comp.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/re_comp.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/re_comp.h @@ -6719,7 +6709,7 @@ make install done ${INSTALLROOT}/include/ast/re_comp.h generated make ${INSTALLROOT}/include/ast/recfmt.h prev include/recfmt.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/recfmt.h > 1.${COTEMP}.x + exec - proto -p -s include/recfmt.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/recfmt.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/recfmt.h @@ -6727,7 +6717,7 @@ make install done ${INSTALLROOT}/include/ast/recfmt.h generated make ${INSTALLROOT}/include/ast/regex.h prev include/regex.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/regex.h > 1.${COTEMP}.x + exec - proto -p -s include/regex.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/regex.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/regex.h @@ -6735,7 +6725,7 @@ make install done ${INSTALLROOT}/include/ast/regex.h generated make ${INSTALLROOT}/include/ast/regexp.h prev comp/regexp.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' comp/regexp.h > 1.${COTEMP}.x + exec - proto -p -s comp/regexp.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/regexp.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/regexp.h @@ -6743,7 +6733,7 @@ make install done ${INSTALLROOT}/include/ast/regexp.h generated make ${INSTALLROOT}/include/ast/sfio.h prev include/sfio.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/sfio.h > 1.${COTEMP}.x + exec - proto -p -s include/sfio.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/sfio.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/sfio.h @@ -6751,7 +6741,7 @@ make install done ${INSTALLROOT}/include/ast/sfio.h generated make ${INSTALLROOT}/include/ast/sfio_s.h prev include/sfio_s.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/sfio_s.h > 1.${COTEMP}.x + exec - proto -p -s include/sfio_s.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/sfio_s.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/sfio_s.h @@ -6759,7 +6749,7 @@ make install done ${INSTALLROOT}/include/ast/sfio_s.h generated make ${INSTALLROOT}/include/ast/sfio_t.h prev include/sfio_t.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/sfio_t.h > 1.${COTEMP}.x + exec - proto -p -s include/sfio_t.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/sfio_t.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/sfio_t.h @@ -6767,7 +6757,7 @@ make install done ${INSTALLROOT}/include/ast/sfio_t.h generated make ${INSTALLROOT}/include/ast/sfdisc.h prev include/sfdisc.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/sfdisc.h > 1.${COTEMP}.x + exec - proto -p -s include/sfdisc.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/sfdisc.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/sfdisc.h @@ -6775,7 +6765,7 @@ make install done ${INSTALLROOT}/include/ast/sfdisc.h generated make ${INSTALLROOT}/include/ast/shcmd.h prev include/shcmd.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/shcmd.h > 1.${COTEMP}.x + exec - proto -p -s include/shcmd.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/shcmd.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/shcmd.h @@ -6783,7 +6773,7 @@ make install done ${INSTALLROOT}/include/ast/shcmd.h generated make ${INSTALLROOT}/include/ast/stack.h prev include/stack.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/stack.h > 1.${COTEMP}.x + exec - proto -p -s include/stack.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/stack.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/stack.h @@ -6791,7 +6781,7 @@ make install done ${INSTALLROOT}/include/ast/stack.h generated make ${INSTALLROOT}/include/ast/stak.h prev include/stak.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/stak.h > 1.${COTEMP}.x + exec - proto -p -s include/stak.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/stak.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/stak.h @@ -6799,7 +6789,7 @@ make install done ${INSTALLROOT}/include/ast/stak.h generated make ${INSTALLROOT}/include/ast/stk.h prev include/stk.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/stk.h > 1.${COTEMP}.x + exec - proto -p -s include/stk.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/stk.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/stk.h @@ -6807,7 +6797,7 @@ make install done ${INSTALLROOT}/include/ast/stk.h generated make ${INSTALLROOT}/include/ast/swap.h prev include/swap.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/swap.h > 1.${COTEMP}.x + exec - proto -p -s include/swap.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/swap.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/swap.h @@ -6816,7 +6806,7 @@ make install make ${INSTALLROOT}/include/ast/tar.h make include/tar.h done include/tar.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/tar.h > 1.${COTEMP}.x + exec - proto -p -s include/tar.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/tar.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/tar.h @@ -6824,7 +6814,7 @@ make install done ${INSTALLROOT}/include/ast/tar.h generated make ${INSTALLROOT}/include/ast/times.h prev include/times.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/times.h > 1.${COTEMP}.x + exec - proto -p -s include/times.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/times.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/times.h @@ -6832,7 +6822,7 @@ make install done ${INSTALLROOT}/include/ast/times.h generated make ${INSTALLROOT}/include/ast/tm.h prev include/tm.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/tm.h > 1.${COTEMP}.x + exec - proto -p -s include/tm.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/tm.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/tm.h @@ -6840,7 +6830,7 @@ make install done ${INSTALLROOT}/include/ast/tm.h generated make ${INSTALLROOT}/include/ast/tok.h prev include/tok.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/tok.h > 1.${COTEMP}.x + exec - proto -p -s include/tok.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/tok.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/tok.h @@ -6849,7 +6839,7 @@ make install make ${INSTALLROOT}/include/ast/usage.h make include/usage.h done include/usage.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/usage.h > 1.${COTEMP}.x + exec - proto -p -s include/usage.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/usage.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/usage.h @@ -6858,7 +6848,7 @@ make install make ${INSTALLROOT}/include/ast/vdb.h make include/vdb.h done include/vdb.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/vdb.h > 1.${COTEMP}.x + exec - proto -p -s include/vdb.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/vdb.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/vdb.h @@ -6866,7 +6856,7 @@ make install done ${INSTALLROOT}/include/ast/vdb.h generated make ${INSTALLROOT}/include/ast/vecargs.h prev include/vecargs.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/vecargs.h > 1.${COTEMP}.x + exec - proto -p -s include/vecargs.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/vecargs.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/vecargs.h @@ -6874,7 +6864,7 @@ make install done ${INSTALLROOT}/include/ast/vecargs.h generated make ${INSTALLROOT}/include/ast/vmalloc.h prev include/vmalloc.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/vmalloc.h > 1.${COTEMP}.x + exec - proto -p -s include/vmalloc.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/vmalloc.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/vmalloc.h @@ -6882,7 +6872,7 @@ make install done ${INSTALLROOT}/include/ast/vmalloc.h generated make ${INSTALLROOT}/include/ast/wait.h prev include/wait.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/wait.h > 1.${COTEMP}.x + exec - proto -p -s include/wait.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/wait.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/wait.h @@ -6890,7 +6880,7 @@ make install done ${INSTALLROOT}/include/ast/wait.h generated make ${INSTALLROOT}/include/ast/wordexp.h prev comp/wordexp.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' comp/wordexp.h > 1.${COTEMP}.x + exec - proto -p -s comp/wordexp.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/wordexp.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/wordexp.h @@ -6898,7 +6888,7 @@ make install done ${INSTALLROOT}/include/ast/wordexp.h generated make ${INSTALLROOT}/include/ast/bytesex.h prev std/bytesex.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' std/bytesex.h > 1.${COTEMP}.x + exec - proto -p -s std/bytesex.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/bytesex.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/bytesex.h @@ -6906,7 +6896,7 @@ make install done ${INSTALLROOT}/include/ast/bytesex.h generated make ${INSTALLROOT}/include/ast/endian.h prev std/endian.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' std/endian.h > 1.${COTEMP}.x + exec - proto -p -s std/endian.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/endian.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/endian.h @@ -6914,7 +6904,7 @@ make install done ${INSTALLROOT}/include/ast/endian.h generated make ${INSTALLROOT}/include/ast/fnmatch.h prev comp/fnmatch.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' comp/fnmatch.h > 1.${COTEMP}.x + exec - proto -p -s comp/fnmatch.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/fnmatch.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/fnmatch.h @@ -6924,7 +6914,7 @@ make install make include/magicid.h prev ast_common.h implicit done include/magicid.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/magicid.h > 1.${COTEMP}.x + exec - proto -p -s include/magicid.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/magicid.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/magicid.h @@ -6932,7 +6922,7 @@ make install done ${INSTALLROOT}/include/ast/magicid.h generated make ${INSTALLROOT}/include/ast/fnv.h prev include/fnv.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/fnv.h > 1.${COTEMP}.x + exec - proto -p -s include/fnv.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/fnv.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/fnv.h @@ -6940,7 +6930,7 @@ make install done ${INSTALLROOT}/include/ast/fnv.h generated make ${INSTALLROOT}/include/ast/aso.h prev include/aso.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' include/aso.h > 1.${COTEMP}.x + exec - proto -p -s include/aso.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/aso.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/aso.h @@ -6948,7 +6938,7 @@ make install done ${INSTALLROOT}/include/ast/aso.h generated make ${INSTALLROOT}/include/ast/dirent.h prev std/dirent.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' std/dirent.h > 1.${COTEMP}.x + exec - proto -p -s std/dirent.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/dirent.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/dirent.h @@ -6956,7 +6946,7 @@ make install done ${INSTALLROOT}/include/ast/dirent.h generated make ${INSTALLROOT}/include/ast/iconv.h prev std/iconv.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' std/iconv.h > 1.${COTEMP}.x + exec - proto -p -s std/iconv.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/iconv.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/iconv.h @@ -6964,7 +6954,7 @@ make install done ${INSTALLROOT}/include/ast/iconv.h generated make ${INSTALLROOT}/include/ast/nl_types.h prev std/nl_types.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' std/nl_types.h > 1.${COTEMP}.x + exec - proto -p -s std/nl_types.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/nl_types.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/nl_types.h @@ -6972,7 +6962,7 @@ make install done ${INSTALLROOT}/include/ast/nl_types.h generated make ${INSTALLROOT}/include/ast/stdio.h prev std/stdio.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' std/stdio.h > 1.${COTEMP}.x + exec - proto -p -s std/stdio.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/stdio.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/stdio.h @@ -6980,7 +6970,7 @@ make install done ${INSTALLROOT}/include/ast/stdio.h generated make ${INSTALLROOT}/include/ast/wchar.h prev std/wchar.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' std/wchar.h > 1.${COTEMP}.x + exec - proto -p -s std/wchar.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/wchar.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/wchar.h @@ -6988,7 +6978,7 @@ make install done ${INSTALLROOT}/include/ast/wchar.h generated make ${INSTALLROOT}/include/ast/wctype.h prev std/wctype.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' std/wctype.h > 1.${COTEMP}.x + exec - proto -p -s std/wctype.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/wctype.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/wctype.h @@ -6996,7 +6986,7 @@ make install done ${INSTALLROOT}/include/ast/wctype.h generated make ${INSTALLROOT}/include/ast/align.h prev align.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' align.h > 1.${COTEMP}.x + exec - proto -p -s align.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/align.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/align.h @@ -7004,7 +6994,7 @@ make install done ${INSTALLROOT}/include/ast/align.h generated make ${INSTALLROOT}/include/ast/preroot.h prev preroot.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' preroot.h > 1.${COTEMP}.x + exec - proto -p -s preroot.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/preroot.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/preroot.h @@ -7012,7 +7002,7 @@ make install done ${INSTALLROOT}/include/ast/preroot.h generated make ${INSTALLROOT}/include/ast/sig.h prev sig.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' sig.h > 1.${COTEMP}.x + exec - proto -p -s sig.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/sig.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/sig.h @@ -7020,7 +7010,7 @@ make install done ${INSTALLROOT}/include/ast/sig.h generated make ${INSTALLROOT}/include/ast/tmx.h prev tmx.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' tmx.h > 1.${COTEMP}.x + exec - proto -p -s tmx.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/tmx.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/tmx.h @@ -7028,7 +7018,7 @@ make install done ${INSTALLROOT}/include/ast/tmx.h generated make ${INSTALLROOT}/include/ast/tv.h prev tv.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' tv.h > 1.${COTEMP}.x + exec - proto -p -s tv.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/tv.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/tv.h @@ -7036,7 +7026,7 @@ make install done ${INSTALLROOT}/include/ast/tv.h generated make ${INSTALLROOT}/include/ast/ast_api.h prev ast_api.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' ast_api.h > 1.${COTEMP}.x + exec - proto -p -s ast_api.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_api.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_api.h @@ -7044,7 +7034,7 @@ make install done ${INSTALLROOT}/include/ast/ast_api.h generated make ${INSTALLROOT}/include/ast/ast_botch.h prev ast_botch.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' ast_botch.h > 1.${COTEMP}.x + exec - proto -p -s ast_botch.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_botch.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_botch.h @@ -7052,7 +7042,7 @@ make install done ${INSTALLROOT}/include/ast/ast_botch.h generated make ${INSTALLROOT}/include/ast/ast_ccode.h prev ast_ccode.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' ast_ccode.h > 1.${COTEMP}.x + exec - proto -p -s ast_ccode.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_ccode.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_ccode.h @@ -7060,7 +7050,7 @@ make install done ${INSTALLROOT}/include/ast/ast_ccode.h generated make ${INSTALLROOT}/include/ast/ast_fcntl.h prev ast_fcntl.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' ast_fcntl.h > 1.${COTEMP}.x + exec - proto -p -s ast_fcntl.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_fcntl.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_fcntl.h @@ -7072,7 +7062,7 @@ make install exec - cmp 2>/dev/null -s FEATURE/float ast_float.h || { rm -f ast_float.h; silent test -d . || mkdir .; ${STDCP} FEATURE/float ast_float.h; } prev ast_common.h implicit done ast_float.h generated - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' ast_float.h > 1.${COTEMP}.x + exec - proto -p -s ast_float.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_float.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_float.h @@ -7080,7 +7070,7 @@ make install done ${INSTALLROOT}/include/ast/ast_float.h generated make ${INSTALLROOT}/include/ast/ast_fs.h prev ast_fs.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' ast_fs.h > 1.${COTEMP}.x + exec - proto -p -s ast_fs.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_fs.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_fs.h @@ -7088,7 +7078,7 @@ make install done ${INSTALLROOT}/include/ast/ast_fs.h generated make ${INSTALLROOT}/include/ast/ast_lib.h prev ast_lib.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' ast_lib.h > 1.${COTEMP}.x + exec - proto -p -s ast_lib.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_lib.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_lib.h @@ -7096,7 +7086,7 @@ make install done ${INSTALLROOT}/include/ast/ast_lib.h generated make ${INSTALLROOT}/include/ast/ast_map.h prev ast_map.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' ast_map.h > 1.${COTEMP}.x + exec - proto -p -s ast_map.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_map.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_map.h @@ -7104,7 +7094,7 @@ make install done ${INSTALLROOT}/include/ast/ast_map.h generated make ${INSTALLROOT}/include/ast/ast_mmap.h prev ast_mmap.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' ast_mmap.h > 1.${COTEMP}.x + exec - proto -p -s ast_mmap.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_mmap.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_mmap.h @@ -7112,7 +7102,7 @@ make install done ${INSTALLROOT}/include/ast/ast_mmap.h generated make ${INSTALLROOT}/include/ast/ast_mode.h prev ast_mode.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' ast_mode.h > 1.${COTEMP}.x + exec - proto -p -s ast_mode.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_mode.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_mode.h @@ -7129,7 +7119,7 @@ make install done FEATURE/ndbm generated exec - cmp 2>/dev/null -s FEATURE/ndbm ast_ndbm.h || { rm -f ast_ndbm.h; silent test -d . || mkdir .; ${STDCP} FEATURE/ndbm ast_ndbm.h; } done ast_ndbm.h generated - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' ast_ndbm.h > 1.${COTEMP}.x + exec - proto -p -s ast_ndbm.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_ndbm.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_ndbm.h @@ -7137,7 +7127,7 @@ make install done ${INSTALLROOT}/include/ast/ast_ndbm.h generated make ${INSTALLROOT}/include/ast/ast_param.h prev ast_param.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' ast_param.h > 1.${COTEMP}.x + exec - proto -p -s ast_param.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_param.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_param.h @@ -7145,7 +7135,7 @@ make install done ${INSTALLROOT}/include/ast/ast_param.h generated make ${INSTALLROOT}/include/ast/ast_sys.h prev ast_sys.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' ast_sys.h > 1.${COTEMP}.x + exec - proto -p -s ast_sys.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_sys.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_sys.h @@ -7153,7 +7143,7 @@ make install done ${INSTALLROOT}/include/ast/ast_sys.h generated make ${INSTALLROOT}/include/ast/ast_time.h prev ast_time.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' ast_time.h > 1.${COTEMP}.x + exec - proto -p -s ast_time.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_time.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_time.h @@ -7161,7 +7151,7 @@ make install done ${INSTALLROOT}/include/ast/ast_time.h generated make ${INSTALLROOT}/include/ast/ast_tty.h prev ast_tty.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' ast_tty.h > 1.${COTEMP}.x + exec - proto -p -s ast_tty.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_tty.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_tty.h @@ -7169,7 +7159,7 @@ make install done ${INSTALLROOT}/include/ast/ast_tty.h generated make ${INSTALLROOT}/include/ast/ast_vfork.h prev ast_vfork.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' ast_vfork.h > 1.${COTEMP}.x + exec - proto -p -s ast_vfork.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_vfork.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_vfork.h @@ -7177,7 +7167,7 @@ make install done ${INSTALLROOT}/include/ast/ast_vfork.h generated make ${INSTALLROOT}/include/ast/ast_wait.h prev ast_wait.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' ast_wait.h > 1.${COTEMP}.x + exec - proto -p -s ast_wait.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_wait.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_wait.h @@ -7185,7 +7175,7 @@ make install done ${INSTALLROOT}/include/ast/ast_wait.h generated make ${INSTALLROOT}/include/ast/ast_limits.h prev ast_limits.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' ast_limits.h > 1.${COTEMP}.x + exec - proto -p -s ast_limits.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_limits.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_limits.h @@ -7193,7 +7183,7 @@ make install done ${INSTALLROOT}/include/ast/ast_limits.h generated make ${INSTALLROOT}/include/ast/ast_standards.h prev ast_standards.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' ast_standards.h > 1.${COTEMP}.x + exec - proto -p -s ast_standards.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_standards.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_standards.h @@ -7209,7 +7199,7 @@ make install done FEATURE/sizeof generated exec - cmp 2>/dev/null -s FEATURE/sizeof ast_sizeof.h || { rm -f ast_sizeof.h; silent test -d . || mkdir .; ${STDCP} FEATURE/sizeof ast_sizeof.h; } done ast_sizeof.h generated - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' ast_sizeof.h > 1.${COTEMP}.x + exec - proto -p -s ast_sizeof.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_sizeof.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_sizeof.h @@ -7217,7 +7207,7 @@ make install done ${INSTALLROOT}/include/ast/ast_sizeof.h generated make ${INSTALLROOT}/include/ast/ast_dirent.h prev ast_dirent.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' ast_dirent.h > 1.${COTEMP}.x + exec - proto -p -s ast_dirent.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_dirent.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_dirent.h @@ -7225,7 +7215,7 @@ make install done ${INSTALLROOT}/include/ast/ast_dirent.h generated make ${INSTALLROOT}/include/ast/ast_iconv.h prev ast_iconv.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' ast_iconv.h > 1.${COTEMP}.x + exec - proto -p -s ast_iconv.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_iconv.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_iconv.h @@ -7233,7 +7223,7 @@ make install done ${INSTALLROOT}/include/ast/ast_iconv.h generated make ${INSTALLROOT}/include/ast/ast_nl_types.h prev ast_nl_types.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' ast_nl_types.h > 1.${COTEMP}.x + exec - proto -p -s ast_nl_types.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_nl_types.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_nl_types.h @@ -7241,7 +7231,7 @@ make install done ${INSTALLROOT}/include/ast/ast_nl_types.h generated make ${INSTALLROOT}/include/ast/ast_stdio.h prev ast_stdio.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' ast_stdio.h > 1.${COTEMP}.x + exec - proto -p -s ast_stdio.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_stdio.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_stdio.h @@ -7249,7 +7239,7 @@ make install done ${INSTALLROOT}/include/ast/ast_stdio.h generated make ${INSTALLROOT}/include/ast/ast_wchar.h prev ast_wchar.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' ast_wchar.h > 1.${COTEMP}.x + exec - proto -p -s ast_wchar.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_wchar.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_wchar.h @@ -7257,7 +7247,7 @@ make install done ${INSTALLROOT}/include/ast/ast_wchar.h generated make ${INSTALLROOT}/include/ast/ast_wctype.h prev ast_wctype.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' ast_wctype.h > 1.${COTEMP}.x + exec - proto -p -s ast_wctype.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/ast_wctype.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/ast_wctype.h @@ -7277,14 +7267,14 @@ make install prev comp/fmtmsg.h prev ast_lib.h exec - case ${mam_cc_HOSTTYPE} in - exec - win32.*)proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' comp/fmtmsg.h > 1.${COTEMP}.x + exec - win32.*)proto -p -s comp/fmtmsg.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/fmtmsg.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/fmtmsg.h exec - fi exec - ;; exec - *) silent grep -l 'define[ ][ ]*_[hl][di][rb]_fmtmsg' ast_lib.h > /dev/null || { - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' comp/fmtmsg.h > 1.${COTEMP}.x + exec - proto -p -s comp/fmtmsg.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/fmtmsg.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/fmtmsg.h @@ -7295,14 +7285,14 @@ make install prev comp/libgen.h prev ast_lib.h exec - case ${mam_cc_HOSTTYPE} in - exec - win32.*)proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' comp/libgen.h > 1.${COTEMP}.x + exec - win32.*)proto -p -s comp/libgen.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/libgen.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/libgen.h exec - fi exec - ;; exec - *) silent grep -l 'define[ ][ ]*_[hl][di][rb]_libgen' ast_lib.h > /dev/null || { - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' comp/libgen.h > 1.${COTEMP}.x + exec - proto -p -s comp/libgen.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/libgen.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/libgen.h @@ -7313,14 +7303,14 @@ make install prev comp/syslog.h prev ast_lib.h exec - case ${mam_cc_HOSTTYPE} in - exec - win32.*)proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' comp/syslog.h > 1.${COTEMP}.x + exec - win32.*)proto -p -s comp/syslog.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/syslog.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/syslog.h exec - fi exec - ;; exec - *) silent grep -l 'define[ ][ ]*_[hl][di][rb]_syslog' ast_lib.h > /dev/null || { - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' comp/syslog.h > 1.${COTEMP}.x + exec - proto -p -s comp/syslog.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${INSTALLROOT}/include/ast/syslog.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${INSTALLROOT}/include/ast/syslog.h diff --git a/src/lib/libast/include/ast.h b/src/lib/libast/include/ast.h index 9093e1f51..c97df1930 100644 --- a/src/lib/libast/include/ast.h +++ b/src/lib/libast/include/ast.h @@ -280,7 +280,6 @@ extern char* astconf(const char*, const char*, const char*); extern Ast_confdisc_f astconfdisc(Ast_confdisc_f); extern void astconflist(Sfio_t*, const char*, int, const char*); extern off_t astcopy(int, int, off_t); -extern int astlicense(char*, int, char*, char*, int, int, int); extern int astquery(int, const char*, ...); extern void astwinsize(int, int*, int*); #if _lib_sysconf diff --git a/src/lib/libast/port/astlicense.c b/src/lib/libast/port/astlicense.c deleted file mode 100644 index d8349f975..000000000 --- a/src/lib/libast/port/astlicense.c +++ /dev/null @@ -1,1304 +0,0 @@ -/*********************************************************************** -* * -* This software is part of the ast package * -* Copyright (c) 1985-2012 AT&T Intellectual Property * -* Copyright (c) 2020-2021 Contributors to ksh 93u+m * -* and is licensed under the * -* Eclipse Public License, Version 1.0 * -* by AT&T Intellectual Property * -* * -* A copy of the License is available at * -* http://www.eclipse.org/org/documents/epl-v10.html * -* (with md5 checksum b35adb5213ca9657e911e9befb180842) * -* * -* Information and Software Systems Research * -* AT&T Research * -* Florham Park NJ * -* * -* Glenn Fowler * -* David Korn * -* Phong Vo * -* * -***********************************************************************/ -#pragma prototyped - -/* - * Glenn Fowler - * AT&T Research - * - * generate a license comment -- see proto(1) - * - * NOTE: coded for minimal library dependence - * not so for the legal department - */ - -#ifndef _PPLIB_H -#include -#include -#endif - -#ifndef O_cloexec -#ifdef O_CLOEXEC -#define O_cloexec 0 -#else -#define O_cloexec 0 -#endif -#endif - -#undef copy -#undef BSD /* guess who defines this */ -#undef END -#undef INLINE -#undef TEST -#undef VERBOSE - -#define NONE 0 -#define INLINE 1 -#define TEST 2 -#define VERBOSE 3 -#define USAGE 4 -#define OPEN 5 -#define CPL 6 -#define EPL 7 -#define BSD 8 -#define ZLIB 9 -#define MIT 10 -#define GPL 11 -#define SPECIAL 12 -#define NONEXCLUSIVE 13 -#define NONCOMMERCIAL 14 -#define PROPRIETARY 15 - -#define AUTHOR 0 -#define CLASS 1 -#define COMPANY 2 -#define COMPONENT 3 -#define CONTRIBUTOR 4 -#define CORPORATION 5 -#define DOMAIN 6 -#define ID 7 -#define INCORPORATION 8 -#define LICENSE 9 -#define LOCATION 10 -#define NAME 11 -#define NOTICE 12 -#define ORGANIZATION 13 -#define PACKAGE 14 -#define PARENT 15 -#define QUERY 16 -#define SINCE 17 -#define SOURCE 18 -#define START 19 -#define STYLE 20 -#define URL 21 -#define URLMD5 22 -#define VERSION 23 - -#define IDS 64 - -#define COMDATA 70 -#define COMLINE (COMDATA+4) -#define COMLONG (COMDATA-32) -#define COMMENT(x,b,s,u) comment(x,b,s,sizeof(s)-1,u) - -#define PUT(b,c) (((b)->nxt<(b)->end)?(*(b)->nxt++=(c)):((c),(-1))) -#define BUF(b) ((b)->buf) -#define USE(b) ((b)->siz=(b)->nxt-(b)->buf,(b)->nxt=(b)->buf,(b)->siz) -#define SIZ(b) ((b)->nxt-(b)->buf) -#define END(b) (*((b)->nxt>=(b)->end?((b)->nxt=(b)->end-1):(b)->nxt)=0,(b)->nxt-(b)->buf) - -#ifndef NiL -#define NiL ((char*)0) -#endif - -typedef struct Buffer_s -{ - char* buf; - char* nxt; - char* end; - int siz; -} Buffer_t; - -typedef struct Item_s -{ - char* data; - int size; - int quote; -} Item_t; - -typedef struct Id_s -{ - Item_t name; - Item_t value; -} Id_t; - -/* - * NOTE: key[] element order must match the corresponding macro - */ - -#define KEY(s) {s,sizeof(s)-1,0} - -static const Item_t key[] = -{ - KEY("author"), - KEY("class"), - KEY("company"), - KEY("component"), - KEY("contributor"), - KEY("corporation"), - KEY("domain"), - KEY("id"), - KEY("incorporation"), - KEY("license"), - KEY("location"), - KEY("name"), - KEY("notice"), - KEY("organization"), - KEY("package"), - KEY("parent"), - KEY("query"), - KEY("since"), - KEY("source"), - KEY("start"), - KEY("type"), - KEY("url"), - KEY("urlmd5"), - KEY("version"), - {0} -}; - -#define ITEMS (sizeof(key)/sizeof(key[0])-1) - -#define LIC(s,c) {s,sizeof(s)-1,c} - -static const Item_t lic[] = -{ - LIC("none", NONE), - LIC("inline", SPECIAL), - LIC("test", TEST), - LIC("verbose", VERBOSE), - LIC("usage", USAGE), - LIC("open", OPEN), - LIC("cpl", OPEN), - LIC("epl", OPEN), - LIC("bsd", OPEN), - LIC("zlib", OPEN), - LIC("mit", OPEN), - LIC("gpl", GPL), - LIC("special", SPECIAL), - LIC("nonexclusive", SPECIAL), - LIC("noncommercial", SPECIAL), - LIC("proprietary", PROPRIETARY), - {0} -}; - -typedef struct Notice_s -{ - int test; - int type; - int verbose; - int ids; - Item_t item[ITEMS]; - Id_t id[IDS]; - char cc[3]; -} Notice_t; - -/* - * return index given - */ - -static int -lookup(register const Item_t* item, const char* name, int size) -{ - register int c; - register int i; - - c = name[0]; - for (i = 0; item[i].data; i++) - if (c == item[i].data[0] && size == item[i].size && !strncmp(name, item[i].data, size)) - return i; - return -1; -} - -/* - * copy s of size n to b - * n<0 means 0 terminated string - */ - -static void -copy(register Buffer_t* b, register char* s, int n) -{ - if (n < 0) - n = strlen(s); - while (n--) - PUT(b, *s++); -} - -/* - * center and copy comment line s to p - * if s==0 then - * n>0 first frame line - * n=0 blank line - * n<0 last frame line - * if u>0 then s converted to upper case - * if u<0 then s is left justified - */ - -static void -comment(Notice_t* notice, register Buffer_t* b, register char* s, register int n, int u) -{ - register int i; - register int m; - register int x; - int cc; - - cc = notice->cc[1]; - if (!s) - { - if (n) - { - PUT(b, notice->cc[n > 0 ? 0 : 1]); - for (i = 0; i < COMDATA; i++) - PUT(b, cc); - PUT(b, notice->cc[n > 0 ? 1 : 2]); - } - else - s = ""; - } - if (s) - { - if (n > COMDATA) - n = COMDATA; - PUT(b, cc); - m = (u < 0) ? 1 : (COMDATA - n) / 2; - if ((x = COMDATA - m - n) < 0) - n--; - while (m-- > 0) - PUT(b, ' '); - while (n-- > 0) - { - i = *s++; - if (u > 0 && i >= 'a' && i <= 'z') - i = i - 'a' + 'A'; - PUT(b, i); - } - while (x-- > 0) - PUT(b, ' '); - PUT(b, cc); - } - PUT(b, '\n'); -} - -/* - * expand simple ${...} - */ - -static void -expand(Notice_t* notice, register Buffer_t* b, const Item_t* item) -{ - register char* t; - register char* e; - register int q; - register char* x; - register char* z; - register int c; - int m; - int i; - int k; - - if (t = item->data) - { - q = item->quote; - e = t + item->size; - i = 0; - while (t < e) - { - if (*t == '$' && t < (e + 2) && *(t + 1) == '{') - { - k = m = 0; - x = t += 2; - while (t < e && (c = *t++) != '}') - if (c == '.') - x = t; - else if (c == '-') - { - k = 1; - break; - } - else if (c == '/') - { - m = 1; - break; - } - if ((c = lookup(key, x, t - x - 1)) >= 0 && (x = notice->item[c].data)) - { - z = x + notice->item[c].size; - while (x < z) - { - c = *x++; - if (!m || c >= '0' && c <= '9') - PUT(b, c); - } - } - else if (k) - { - k = 0; - i++; - } - if (k || m) - { - k = 1; - while (t < e) - if ((c = *t++) == '{') - k++; - else if (c == '}' && !--k) - break; - } - } - else if (q > 0 && *t == '\\' && (*(t + 1) == q || *(t + 1) == '\\')) - t++; - else if (*t == '}' && i) - { - t++; - i--; - } - else - PUT(b, *t++); - } - } -} - -/* - * generate a copyright notice - */ - -static void -copyright(Notice_t* notice, register Buffer_t* b) -{ - register char* x; - register char* t; - time_t clock; - - copy(b, "Copyright (c) ", -1); - if (notice->test) - { - clock = (time_t)1000212300; - t = ctime(&clock) + 20; - } - else if (!(t = notice->item[SOURCE].data)) - { - time(&clock); - t = ctime(&clock) + 20; - } - if ((x = notice->item[START].data) && strncmp(t, x, 4) < 0) - t = x; - if ((x = notice->item[SINCE].data) && strncmp(x, t, 4) < 0) - { - expand(notice, b, ¬ice->item[SINCE]); - PUT(b, '-'); - } - copy(b, t, 4); - if (notice->item[PARENT].data) - { - PUT(b, ' '); - expand(notice, b, ¬ice->item[PARENT]); - } - if (notice->item[CORPORATION].data) - { - PUT(b, ' '); - expand(notice, b, ¬ice->item[CORPORATION]); - if (notice->item[INCORPORATION].data) - { - PUT(b, ' '); - expand(notice, b, ¬ice->item[INCORPORATION]); - } - } - else if (notice->item[COMPANY].data) - { - PUT(b, ' '); - expand(notice, b, ¬ice->item[COMPANY]); - } -} - -typedef struct Stack_s -{ - char* info; - char* file; - int line; - int size; -} Stack_t; - -static int -push(Stack_t* sp, char* file, char* parent, char* info, int size, Buffer_t* buf) -{ - char* s; - char* t; - int i; - int n; - char path[1024]; - - if (size <= 8) - { - copy(buf, file, -1); - copy(buf, ": no space", -1); - PUT(buf, 0); - return -1; - } - if (*file != '/' && parent && (s = strrchr(parent, '/'))) - { - n = s - parent + 1; - if ((strlen(file) + n + 1) <= sizeof(path)) - { - memcpy(path, parent, n); - strcpy(path + n, file); - file = path; - } - } - if ((i = open(file, O_RDONLY|O_cloexec)) < 0) - { - /* this hack viewpath lookup works for default package setups */ - if (file == path) - for (s = path; *s; s++) - if (s[0] == '/' && s[1] == 'a' && s[2] == 'r' && s[3] == 'c' && s[4] == 'h' && s[5] == '/') - { - t = s; - for (s += 6; *s && *s != '/'; s++); - while (*t++ = *s++); - i = open(file, O_RDONLY|O_cloexec); - } - if (i < 0) - { - copy(buf, file, -1); - copy(buf, ": cannot open", -1); - PUT(buf, 0); - return -1; - } - } - n = read(i, info, size - 1); - close(i); - if (n < 0) - { - copy(buf, file, -1); - copy(buf, ": cannot read", -1); - PUT(buf, 0); - return -1; - } - info[n++] = 0; - sp->file = file; - sp->info = info; - sp->line = 0; - sp->size = n; - return 0; -} - -/* - * read the license file and generate a comment in p, length size - * license length in p returned, -1 on error - * -1 return places 0 terminated error string in p - */ - -int -astlicense(char* p, int size, char* file, char* options, int cc1, int cc2, int cc3) -{ - register char* s; - register char* v; - register char* x; - register int c; - int i; - int h; - int k; - int n; - int q; - int contributor; - int first; - int level; - int quote; - char* data; - char tmpbuf[COMLINE]; - char info[8 * 1024]; - Stack_t input[4]; - Notice_t notice; - Item_t item; - Buffer_t buf; - Buffer_t tmp; - - buf.end = (buf.buf = buf.nxt = p) + size; - tmp.end = (tmp.buf = tmp.nxt = tmpbuf) + sizeof(tmpbuf); - level = 0; - data = info; - level = -1; - if (options) - { - level++; - input[level].file = ""; - input[level].info = options; - input[level].line = 0; - } - if (file && *file) - { - if (push(&input[++level], file, 0, data, &info[sizeof(info)] - data, &buf)) - return -1; - data += input[level].size; - } - if (level < 0) - return 0; - s = input[level].info; - notice.test = 0; - notice.type = NONE; - notice.verbose = 0; - notice.ids = 0; - notice.cc[0] = cc1; - notice.cc[1] = cc2; - notice.cc[2] = cc3; - for (i = 0; i < ITEMS; i++) - notice.item[i].data = 0; - notice.item[STYLE] = notice.item[CLASS] = lic[notice.type]; - notice.item[STYLE].quote = notice.item[CLASS].quote = 0; - contributor = i = k = 0; - for (;;) - { - first = 1; - while (c = *s) - { - while (c == ' ' || c == '\t' || c == '\n' && ++input[level].line || c == '\r' || c == ',' || c == ';' || c == ')') - c = *++s; - if (!c) - break; - if (c == '#') - { - while (*++s && *s != '\n'); - if (*s) - s++; - input[level].line++; - continue; - } - if (c == '.') - { - while ((c = *++s) && (c == ' ' || c == '\t')); - file = s; - while (c && c != ' ' && c != '\t' && c != '\r' && c != '\n') - c = *++s; - *s = 0; - while (c && c != '\n') - c = *++s; - if (*file) - { - input[level].info = s + (c != 0); - if (++level >= (sizeof(input) / sizeof(input[0])) || push(&input[level], file, input[level-1].file, data, &info[sizeof(info)] - data, &buf)) - return -1; - data += input[level].size; - s = input[level].info; - } - continue; - } - if (c == '\n') - { - s++; - input[level].line++; - continue; - } - if (c == '[') - c = *++s; - x = s; - n = 0; - while (c && c != '+' && c != '=' && c != ']' && c != ')' && c != ',' && c != ' ' && c != '\t' && c != '\n' && c != '\r') - c = *++s; - n = s - x; - h = lookup(key, x, n); - if (c == '+' || c == ']') - c = *++s; - quote = 0; - if (c == '=' || first) - { - if (c == '=') - { - q = ((c = *++s) == '"' || c == '\'') ? *s++ : 0; - if (c == '(') - { - s++; - if (h == LICENSE) - contributor = 0; - else if (h == CONTRIBUTOR) - contributor = 1; - else - { - q = 1; - i = 0; - for (;;) - { - switch (*s++) - { - case 0: - s--; - break; - case '(': - if (!i) - q++; - continue; - case ')': - if (!i && !--q) - break; - continue; - case '"': - case '\'': - if (!i) - i = *(s - 1); - else if (i == *(s - 1)) - i = 0; - continue; - case '\\': - if (*s == i && i == '"') - i++; - continue; - case '\n': - input[level].line++; - continue; - default: - continue; - } - break; - } - } - continue; - } - v = s; - while ((c = *s) && (q == '"' && (c == '\\' && (*(s + 1) == '"' || *(s + 1) == '\\') && s++ && (quote = q)) || q && c != q || !q && c != ' ' && c != '\t' && c != '\n' && c != '\r' && c != ',' && c != ';')) - { - if (c == '\n') - input[level].line++; - s++; - } - } - else - { - h = STYLE; - v = x; - } - if (c == '\n') - input[level].line++; - if (contributor) - { - for (i = 0; i < notice.ids; i++) - if (n == notice.id[i].name.size && !strncmp(x, notice.id[i].name.data, n)) - break; - if (i < IDS) - { - notice.id[i].name.data = x; - notice.id[i].name.size = n; - notice.id[i].name.quote = 0; - notice.id[i].value.data = v; - notice.id[i].value.size = s - v; - notice.id[i].value.quote = quote; - if (notice.ids <= i) - notice.ids = i + 1; - } - } - else if (h == QUERY) - { - if ((s - v) == 3 && v[0] == 'a' && v[1] == 'l' && v[2] == 'l') - { - for (i = 0; i < ITEMS; i++) - if (notice.item[i].size) - { - expand(¬ice, &buf, &key[i]); - PUT(&buf, '='); - for (h = 0;; h++) - if (h >= notice.item[i].size) - { - h = 0; - break; - } - else if (notice.item[i].data[h] == ' ' || notice.item[i].data[h] == '\t') - break; - if (h) - PUT(&buf, '\''); - expand(¬ice, &buf, ¬ice.item[i]); - if (h) - PUT(&buf, '\''); - PUT(&buf, '\n'); - } - } - else - { - if ((h = lookup(key, v, s - v)) < 0) - { - item.data = v; - item.size = s - v; - item.quote = 0; - expand(¬ice, &buf, &item); - } - else - expand(¬ice, &buf, ¬ice.item[h]); - PUT(&buf, '\n'); - } - return END(&buf); - } - else - { - if (h == STYLE) - switch (c = lookup(lic, v, s - v)) - { - case NONE: - return 0; - case TEST: - notice.test = 1; - h = -1; - break; - case VERBOSE: - notice.verbose = 1; - h = -1; - break; - case USAGE: - notice.type = c; - h = -1; - break; - case -1: - c = SPECIAL; - /* FALLTHROUGH */ - default: - notice.type = c; - notice.item[CLASS].data = lic[lic[c].quote].data; - notice.item[CLASS].size = lic[lic[c].quote].size; - if (notice.item[STYLE].data != lic[NONE].data) - h = -1; - break; - } - if (h >= 0) - { - notice.item[h].data = (notice.item[h].size = s - v) ? v : (char*)0; - notice.item[h].quote = quote; - k = 1; - } - } - } - else - { - if (input[level].file) - { - copy(&buf, "\"", -1); - copy(&buf, input[level].file, -1); - copy(&buf, "\", line ", -1); - x = &tmpbuf[sizeof(tmpbuf)]; - *--x = 0; - n = ++input[level].line; - do *--x = ("0123456789")[n % 10]; while (n /= 10); - copy(&buf, x, -1); - copy(&buf, ": ", -1); - } - copy(&buf, "option error: assignment expected", -1); - PUT(&buf, 0); - return -1; - } - if (*s) - s++; - first = 0; - } - if (!level--) - break; - s = input[level].info; - } - if (!k) - return 0; - if (notice.type == INLINE && (!notice.verbose || !notice.item[NOTICE].data)) - return 0; - if (notice.type != USAGE) - { - if (!notice.type) - notice.type = SPECIAL; - comment(¬ice, &buf, NiL, 1, 0); - comment(¬ice, &buf, NiL, 0, 0); - if (notice.item[PACKAGE].data) - { - copy(&tmp, "This software is part of the ", -1); - expand(¬ice, &tmp, ¬ice.item[PACKAGE]); - copy(&tmp, " package", -1); - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), 0); - } - if (notice.type >= OPEN) - { - copyright(¬ice, &tmp); - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), 0); - if (notice.type >= SPECIAL) - COMMENT(¬ice, &buf, "All Rights Reserved", 0); - } - if (notice.type == CPL || notice.type == EPL) - { - copy(&tmp, notice.item[PACKAGE].data ? "and" : "This software", -1); - copy(&tmp, " is licensed under the", -1); - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), 0); - if (notice.type == EPL) - copy(&tmp, "Eclipse Public License", -1); - else - copy(&tmp, "Common Public License", -1); - if (notice.item[VERSION].data) - { - copy(&tmp, ", Version ", -1); - expand(¬ice, &tmp, ¬ice.item[VERSION]); - } - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), 0); - if (notice.item[CORPORATION].data || notice.item[COMPANY].data) - { - copy(&tmp, "by ", -1); - if (notice.item[PARENT].data) - { - expand(¬ice, &tmp, ¬ice.item[PARENT]); - copy(&tmp, " ", -1); - } - if (notice.item[CORPORATION].data) - { - expand(¬ice, &tmp, ¬ice.item[CORPORATION]); - if (notice.item[INCORPORATION].data) - { - copy(&tmp, " ", -1); - expand(¬ice, &tmp, ¬ice.item[INCORPORATION]); - } - } - else if (notice.item[COMPANY].data) - expand(¬ice, &tmp, ¬ice.item[COMPANY]); - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), 0); - } - comment(¬ice, &buf, NiL, 0, 0); - COMMENT(¬ice, &buf, "A copy of the License is available at", 0); - if (notice.item[URL].data) - { - expand(¬ice, &tmp, ¬ice.item[URL]); - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), 0); - if (notice.item[URLMD5].data) - { - copy(&tmp, "(with md5 checksum ", -1); - expand(¬ice, &tmp, ¬ice.item[URLMD5]); - copy(&tmp, ")", -1); - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), 0); - } - } - else if (notice.type == EPL) - COMMENT(¬ice, &buf, "http://www.eclipse.org/org/documents/epl-v10.html", 0); - else - COMMENT(¬ice, &buf, "http://www.opensource.org/licenses/cpl", 0); - comment(¬ice, &buf, NiL, 0, 0); - } - else if (notice.type == OPEN) - { - copy(&tmp, notice.item[PACKAGE].data ? "and it" : "This software", -1); - copy(&tmp, " may only be used by you under license from", -1); - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), 0); - if (notice.item[i = CORPORATION].data) - { - if (notice.item[PARENT].data) - { - expand(¬ice, &tmp, ¬ice.item[i = PARENT]); - copy(&tmp, " ", -1); - } - expand(¬ice, &tmp, ¬ice.item[CORPORATION]); - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), 0); - } - else if (notice.item[i = COMPANY].data) - { - if (notice.item[PARENT].data) - { - expand(¬ice, &tmp, ¬ice.item[i = PARENT]); - copy(&tmp, " ", -1); - } - expand(¬ice, &tmp, ¬ice.item[COMPANY]); - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), 0); - } - else - i = -1; - if (notice.item[URL].data) - { - COMMENT(¬ice, &buf, "A copy of the Source Code Agreement is available", 0); - copy(&tmp, "at the ", -1); - if (i >= 0) - expand(¬ice, &tmp, ¬ice.item[i]); - copy(&tmp, " Internet web site URL", -1); - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), 0); - comment(¬ice, &buf, NiL, 0, 0); - expand(¬ice, &tmp, ¬ice.item[URL]); - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), 0); - if (notice.item[URLMD5].data) - { - copy(&tmp, "(with an md5 checksum of ", -1); - expand(¬ice, &tmp, ¬ice.item[URLMD5]); - copy(&tmp, ")", -1); - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), 0); - } - comment(¬ice, &buf, NiL, 0, 0); - } - COMMENT(¬ice, &buf, "If you have copied or used this software without agreeing", 0); - COMMENT(¬ice, &buf, "to the terms of the license you are infringing on", 0); - COMMENT(¬ice, &buf, "the license and copyright and are violating", 0); - if (i >= 0) - expand(¬ice, &tmp, ¬ice.item[i]); - copy(&tmp, "'s", -1); - if (n >= COMLONG) - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), 0); - else - PUT(&tmp, ' '); - copy(&tmp, "intellectual property rights.", -1); - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), 0); - comment(¬ice, &buf, NiL, 0, 0); - } - else if (notice.type == GPL) - { - comment(¬ice, &buf, NiL, 0, 0); - COMMENT(¬ice, &buf, "This is free software; you can redistribute it and/or", 0); - COMMENT(¬ice, &buf, "modify it under the terms of the GNU General Public License", 0); - COMMENT(¬ice, &buf, "as published by the Free Software Foundation;", 0); - COMMENT(¬ice, &buf, "either version 2, or (at your option) any later version.", 0); - comment(¬ice, &buf, NiL, 0, 0); - COMMENT(¬ice, &buf, "This software is distributed in the hope that it", 0); - COMMENT(¬ice, &buf, "will be useful, but WITHOUT ANY WARRANTY;", 0); - COMMENT(¬ice, &buf, "without even the implied warranty of MERCHANTABILITY", 0); - COMMENT(¬ice, &buf, "or FITNESS FOR A PARTICULAR PURPOSE.", 0); - COMMENT(¬ice, &buf, "See the GNU General Public License for more details.", 0); - comment(¬ice, &buf, NiL, 0, 0); - COMMENT(¬ice, &buf, "You should have received a copy of the", 0); - COMMENT(¬ice, &buf, "GNU General Public License", 0); - COMMENT(¬ice, &buf, "along with this software (see the file COPYING).", 0); - COMMENT(¬ice, &buf, "If not, a copy is available at", 0); - COMMENT(¬ice, &buf, "http://www.gnu.org/copyleft/gpl.html", 0); - comment(¬ice, &buf, NiL, 0, 0); - } - else if (notice.type == BSD) - { - comment(¬ice, &buf, NiL, 0, 0); - COMMENT(¬ice, &buf, "Redistribution and use in source and binary forms, with or", -1); - COMMENT(¬ice, &buf, "without modification, are permitted provided that the following", -1); - COMMENT(¬ice, &buf, "conditions are met:", -1); - comment(¬ice, &buf, NiL, 0, 0); - COMMENT(¬ice, &buf, " 1. Redistributions of source code must retain the above", -1); - COMMENT(¬ice, &buf, " copyright notice, this list of conditions and the", -1); - COMMENT(¬ice, &buf, " following disclaimer.", -1); - comment(¬ice, &buf, NiL, 0, 0); - COMMENT(¬ice, &buf, " 2. Redistributions in binary form must reproduce the above", -1); - COMMENT(¬ice, &buf, " copyright notice, this list of conditions and the", -1); - COMMENT(¬ice, &buf, " following disclaimer in the documentation and/or other", -1); - COMMENT(¬ice, &buf, " materials provided with the distribution.", -1); - comment(¬ice, &buf, NiL, 0, 0); - copy(&tmp, " 3. Neither the name of ", -1); - if (notice.item[i = PARENT].data || notice.item[i = CORPORATION].data || notice.item[i = COMPANY].data) - expand(¬ice, &tmp, ¬ice.item[i]); - else - copy(&tmp, "the copyright holder", -1); - copy(&tmp, " nor the", -1); - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), -1); - COMMENT(¬ice, &buf, " names of its contributors may be used to endorse or", -1); - COMMENT(¬ice, &buf, " promote products derived from this software without", -1); - COMMENT(¬ice, &buf, " specific prior written permission.", -1); - comment(¬ice, &buf, NiL, 0, 0); - COMMENT(¬ice, &buf, "THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND", -1); - COMMENT(¬ice, &buf, "CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES,", -1); - COMMENT(¬ice, &buf, "INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF", -1); - COMMENT(¬ice, &buf, "MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE", -1); - COMMENT(¬ice, &buf, "DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS", -1); - COMMENT(¬ice, &buf, "BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,", -1); - COMMENT(¬ice, &buf, "EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED", -1); - COMMENT(¬ice, &buf, "TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,", -1); - COMMENT(¬ice, &buf, "DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON", -1); - COMMENT(¬ice, &buf, "ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,", -1); - COMMENT(¬ice, &buf, "OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY", -1); - COMMENT(¬ice, &buf, "OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE", -1); - COMMENT(¬ice, &buf, "POSSIBILITY OF SUCH DAMAGE.", -1); - comment(¬ice, &buf, NiL, 0, 0); - } - else if (notice.type == ZLIB) - { - comment(¬ice, &buf, NiL, 0, 0); - COMMENT(¬ice, &buf, "This software is provided 'as-is', without any express or implied", -1); - COMMENT(¬ice, &buf, "warranty. In no event will the authors be held liable for any", -1); - COMMENT(¬ice, &buf, "damages arising from the use of this software.", -1); - comment(¬ice, &buf, NiL, 0, 0); - COMMENT(¬ice, &buf, "Permission is granted to anyone to use this software for any", -1); - COMMENT(¬ice, &buf, "purpose, including commercial applications, and to alter it and", -1); - COMMENT(¬ice, &buf, "redistribute it freely, subject to the following restrictions:", -1); - comment(¬ice, &buf, NiL, 0, 0); - COMMENT(¬ice, &buf, " 1. The origin of this software must not be misrepresented;", -1); - COMMENT(¬ice, &buf, " you must not claim that you wrote the original software. If", -1); - COMMENT(¬ice, &buf, " you use this software in a product, an acknowledgment in the", -1); - COMMENT(¬ice, &buf, " product documentation would be appreciated but is not", -1); - COMMENT(¬ice, &buf, " required.", -1); - comment(¬ice, &buf, NiL, 0, 0); - COMMENT(¬ice, &buf, " 2. Altered source versions must be plainly marked as such,", -1); - COMMENT(¬ice, &buf, " and must not be misrepresented as being the original", -1); - COMMENT(¬ice, &buf, " software.", -1); - comment(¬ice, &buf, NiL, 0, 0); - COMMENT(¬ice, &buf, " 3. This notice may not be removed or altered from any source", -1); - COMMENT(¬ice, &buf, " distribution.", -1); - comment(¬ice, &buf, NiL, 0, 0); - } - else if (notice.type == MIT) - { - comment(¬ice, &buf, NiL, 0, 0); - COMMENT(¬ice, &buf, "Permission is hereby granted, free of charge, to any person", 0); - COMMENT(¬ice, &buf, "obtaining a copy of this software and associated", 0); - COMMENT(¬ice, &buf, "documentation files (the \"Software\"), to deal in the", 0); - COMMENT(¬ice, &buf, "Software without restriction, including without limitation", 0); - COMMENT(¬ice, &buf, "the rights to use, copy, modify, merge, publish, distribute,", 0); - COMMENT(¬ice, &buf, "sublicense, and/or sell copies of the Software, and to", 0); - COMMENT(¬ice, &buf, "permit persons to whom the Software is furnished to do so,", 0); - COMMENT(¬ice, &buf, "subject to the following conditions:", 0); - comment(¬ice, &buf, NiL, 0, 0); - COMMENT(¬ice, &buf, "The above copyright notice and this permission notice shall", 0); - COMMENT(¬ice, &buf, "be included in all copies or substantial portions of the", 0); - COMMENT(¬ice, &buf, "Software.", 0); - comment(¬ice, &buf, NiL, 0, 0); - COMMENT(¬ice, &buf, "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY", 0); - COMMENT(¬ice, &buf, "KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE", 0); - COMMENT(¬ice, &buf, "WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR", 0); - COMMENT(¬ice, &buf, "PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS", 0); - COMMENT(¬ice, &buf, "OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR", 0); - COMMENT(¬ice, &buf, "OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR", 0); - COMMENT(¬ice, &buf, "OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE", 0); - COMMENT(¬ice, &buf, "SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.", 0); - comment(¬ice, &buf, NiL, 0, 0); - } - else - { - if (notice.type == PROPRIETARY) - { - if (notice.item[i = PARENT].data || notice.item[i = CORPORATION].data || notice.item[i = COMPANY].data) - { - expand(¬ice, &tmp, ¬ice.item[i]); - copy(&tmp, " - ", -1); - } - else - i = -1; - copy(&tmp, "Proprietary", -1); - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), 1); - comment(¬ice, &buf, NiL, 0, 0); - if (notice.item[URL].data) - { - copy(&tmp, "This is proprietary source code", -1); - if (i >= 0) - copy(&tmp, " licensed by", -1); - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), 1); - if (notice.item[PARENT].data) - { - expand(¬ice, &tmp, ¬ice.item[PARENT]); - copy(&tmp, " ", -1); - } - if (notice.item[CORPORATION].data) - { - expand(¬ice, &tmp, ¬ice.item[CORPORATION]); - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), 1); - } - else if (notice.item[COMPANY].data) - { - expand(¬ice, &tmp, ¬ice.item[COMPANY]); - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), 1); - } - } - else - { - copy(&tmp, "This is unpublished proprietary source code", -1); - if (i >= 0) - copy(&tmp, " of", -1); - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), 1); - if (notice.item[i = PARENT].data || notice.item[i = CORPORATION].data) - expand(¬ice, &tmp, ¬ice.item[i]); - if (notice.item[COMPANY].data) - { - if (SIZ(&tmp)) - PUT(&tmp, ' '); - expand(¬ice, &tmp, ¬ice.item[COMPANY]); - } - if (SIZ(&tmp)) - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), 1); - COMMENT(¬ice, &buf, "and is not to be disclosed or used except in", 1); - COMMENT(¬ice, &buf, "accordance with applicable agreements", 1); - } - comment(¬ice, &buf, NiL, 0, 0); - } - else if (notice.type == NONEXCLUSIVE) - { - COMMENT(¬ice, &buf, "For nonexclusive individual use", 1); - comment(¬ice, &buf, NiL, 0, 0); - } - else if (notice.type == NONCOMMERCIAL) - { - COMMENT(¬ice, &buf, "For noncommercial use", 1); - comment(¬ice, &buf, NiL, 0, 0); - } - if (notice.type >= PROPRIETARY && !notice.item[URL].data) - { - COMMENT(¬ice, &buf, "Unpublished & Not for Publication", 0); - comment(¬ice, &buf, NiL, 0, 0); - } - if (notice.item[URL].data) - { - copy(&tmp, "This software is licensed", -1); - if (notice.item[CORPORATION].data || notice.item[COMPANY].data) - { - copy(&tmp, " by", -1); - if ((notice.item[PARENT].size + (notice.item[CORPORATION].data ? (notice.item[CORPORATION].size + notice.item[INCORPORATION].size) : notice.item[COMPANY].size)) >= (COMLONG - 6)) - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), 0); - else - PUT(&tmp, ' '); - if (notice.item[PARENT].data) - { - expand(¬ice, &tmp, ¬ice.item[PARENT]); - copy(&tmp, " ", -1); - } - if (notice.item[CORPORATION].data) - { - expand(¬ice, &tmp, ¬ice.item[CORPORATION]); - if (notice.item[INCORPORATION].data) - { - copy(&tmp, " ", -1); - expand(¬ice, &tmp, ¬ice.item[INCORPORATION]); - } - } - else if (notice.item[COMPANY].data) - expand(¬ice, &tmp, ¬ice.item[COMPANY]); - } - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), 0); - COMMENT(¬ice, &buf, "under the terms and conditions of the license in", 0); - expand(¬ice, &tmp, ¬ice.item[URL]); - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), 0); - if (notice.item[URLMD5].data) - { - copy(&tmp, "(with an md5 checksum of ", -1); - expand(¬ice, &tmp, ¬ice.item[URLMD5]); - copy(&tmp, ")", -1); - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), 0); - } - comment(¬ice, &buf, NiL, 0, 0); - } - else if (notice.type == PROPRIETARY) - { - COMMENT(¬ice, &buf, "The copyright notice above does not evidence any", 0); - COMMENT(¬ice, &buf, "actual or intended publication of such source code", 0); - comment(¬ice, &buf, NiL, 0, 0); - } - } - if (v = notice.item[NOTICE].data) - { - x = v + notice.item[NOTICE].size; - if (*v == '\n') - v++; - item.quote = notice.item[NOTICE].quote; - do - { - for (item.data = v; v < x && *v != '\n'; v++); - if ((item.size = v - item.data) && *item.data == '\t') - { - item.data++; - item.size--; - h = 0; - } - else - h = -1; - expand(¬ice, &tmp, &item); - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), h); - } while (v++ < x); - if (item.size) - comment(¬ice, &buf, NiL, 0, 0); - } - if (notice.item[ORGANIZATION].data) - { - expand(¬ice, &tmp, ¬ice.item[ORGANIZATION]); - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), 0); - if (notice.item[i = PARENT].data || notice.item[i = CORPORATION].data) - expand(¬ice, &tmp, ¬ice.item[i]); - if (notice.item[COMPANY].data) - { - if (SIZ(&tmp)) - PUT(&tmp, ' '); - expand(¬ice, &tmp, ¬ice.item[COMPANY]); - } - if (SIZ(&tmp)) - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), 0); - if (notice.item[LOCATION].data) - { - expand(¬ice, &tmp, ¬ice.item[LOCATION]); - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), 0); - } - comment(¬ice, &buf, NiL, 0, 0); - } - } - if (v = notice.item[AUTHOR].data) - { - x = v + notice.item[AUTHOR].size; - q = (x - v) == 1 && (*v == '*' || *v == '-'); - k = q && notice.type != USAGE ? -1 : 0; - for (;;) - { - if (!q) - { - while (v < x && (*v == ' ' || *v == '\t' || *v == '\r' || *v == '\n' || *v == ',' || *v == '+')) - v++; - if (v >= x) - break; - item.data = v; - while (v < x && *v != ',' && *v != '+' && *v++ != '>'); - item.size = v - item.data; - item.quote = notice.item[AUTHOR].quote; - } - h = 0; - for (i = 0; i < notice.ids; i++) - if (q || item.size == notice.id[i].name.size && !strncmp(item.data, notice.id[i].name.data, item.size)) - { - h = 1; - if (notice.type == USAGE) - { - copy(&buf, "[-author?", -1); - expand(¬ice, &buf, ¬ice.id[i].value); - PUT(&buf, ']'); - } - else - { - if (k < 0) - { - COMMENT(¬ice, &buf, "CONTRIBUTORS", 0); - comment(¬ice, &buf, NiL, 0, 0); - } - k = 1; - expand(¬ice, &tmp, ¬ice.id[i].value); - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), 0); - } - if (!q) - break; - } - if (q) - break; - if (!h) - { - if (notice.type == USAGE) - { - copy(&buf, "[-author?", -1); - expand(¬ice, &buf, &item); - PUT(&buf, ']'); - } - else - { - if (k < 0) - { - COMMENT(¬ice, &buf, "CONTRIBUTORS", 0); - comment(¬ice, &buf, NiL, 0, 0); - } - k = 1; - expand(¬ice, &tmp, &item); - comment(¬ice, &buf, BUF(&tmp), USE(&tmp), 0); - } - } - } - if (k > 0) - comment(¬ice, &buf, NiL, 0, 0); - } - if (notice.type == USAGE) - { - copy(&buf, "[-copyright?", -1); - copyright(¬ice, &buf); - PUT(&buf, ']'); - if (notice.item[URL].data) - { - copy(&buf, "[-license?", -1); - expand(¬ice, &buf, ¬ice.item[URL]); - PUT(&buf, ']'); - } - PUT(&buf, '\n'); - } - else - comment(¬ice, &buf, NiL, -1, 0); - return END(&buf); -} diff --git a/src/lib/libcmd/Mamfile b/src/lib/libcmd/Mamfile index 52c03d782..653ae556f 100644 --- a/src/lib/libcmd/Mamfile +++ b/src/lib/libcmd/Mamfile @@ -19,8 +19,6 @@ setv CCFLAGS ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${mam_cc_OPTIMIZE}? setv COTEMP $$ setv IFFEFLAGS setv LDFLAGS "" -make ${PACKAGEROOT}/lib/package/ast.lic -done ${PACKAGEROOT}/lib/package/ast.lic make install make cmd make libcmd.a archive @@ -788,7 +786,7 @@ make install make ${PACKAGE_ast_INCLUDE}/cmd.h prev ${PACKAGE_ast_INCLUDE} prev cmd.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1992,author=gsf+dgk' cmd.h > 1.${COTEMP}.x + exec - proto -p -s cmd.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${PACKAGE_ast_INCLUDE}/cmd.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${PACKAGE_ast_INCLUDE}/cmd.h @@ -796,7 +794,7 @@ make install done ${PACKAGE_ast_INCLUDE}/cmd.h generated make ${PACKAGE_ast_INCLUDE}/cmdext.h prev cmdext.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1992,author=gsf+dgk' cmdext.h > 1.${COTEMP}.x + exec - proto -p -s cmdext.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${PACKAGE_ast_INCLUDE}/cmdext.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${PACKAGE_ast_INCLUDE}/cmdext.h @@ -872,7 +870,7 @@ make install exec - else mv 1.${COTEMP}.h cmdlist.h exec - fi done cmdlist.h generated - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1992,author=gsf+dgk' cmdlist.h > 1.${COTEMP}.x + exec - proto -p -s cmdlist.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${PACKAGE_ast_INCLUDE}/cmdlist.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${PACKAGE_ast_INCLUDE}/cmdlist.h diff --git a/src/lib/libdll/Mamfile b/src/lib/libdll/Mamfile index 41ede80cd..082660d84 100644 --- a/src/lib/libdll/Mamfile +++ b/src/lib/libdll/Mamfile @@ -19,8 +19,6 @@ setv CCFLAGS ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${mam_cc_OPTIMIZE}? setv COTEMP $$ setv IFFEFLAGS setv LDFLAGS -make ${PACKAGEROOT}/lib/package/ast.lic -done ${PACKAGEROOT}/lib/package/ast.lic make install make dll make libdll.a archive @@ -296,7 +294,7 @@ make install make ${PACKAGE_ast_INCLUDE}/dlldefs.h prev ${PACKAGE_ast_INCLUDE} prev dlldefs.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1997,author=gsf' dlldefs.h > 1.${COTEMP}.x + exec - proto -p -s dlldefs.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${PACKAGE_ast_INCLUDE}/dlldefs.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${PACKAGE_ast_INCLUDE}/dlldefs.h diff --git a/src/lib/libsum/Mamfile b/src/lib/libsum/Mamfile index d8439bfe9..4ad8747b3 100644 --- a/src/lib/libsum/Mamfile +++ b/src/lib/libsum/Mamfile @@ -19,8 +19,6 @@ setv CCFLAGS ${-debug-symbols?1?${mam_cc_DEBUG} -D_BLD_DEBUG?${mam_cc_OPTIMIZE}? setv COTEMP $$ setv IFFEFLAGS setv LDFLAGS -make ${PACKAGEROOT}/lib/package/ast.lic -done ${PACKAGEROOT}/lib/package/ast.lic make install make sum make libsum.a archive @@ -221,7 +219,7 @@ make install make ${PACKAGE_ast_INCLUDE}/sum.h prev ${PACKAGE_ast_INCLUDE} prev sum.h - exec - proto -p -s -l ${PACKAGEROOT}/lib/package/ast.lic '-o since=1996,author=gsf' sum.h > 1.${COTEMP}.x + exec - proto -p -s sum.h > 1.${COTEMP}.x exec - if cmp 2>/dev/null -s ${PACKAGE_ast_INCLUDE}/sum.h 1.${COTEMP}.x exec - then rm -f 1.${COTEMP}.x exec - else mv 1.${COTEMP}.x ${PACKAGE_ast_INCLUDE}/sum.h