home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-06-19 | 55.1 KB | 1,951 lines |
- Newsgroups: comp.sources.misc
- From: Larry Wall <lwall@netlabs.com>
- Subject: v20i056: perl - The perl programming language, Patch04
- Message-ID: <csm-v20i056=perl.220122@sparky.imd.sterling.com>
- X-Md4-Signature: 6e5a8c800bf0a070ab9b3971547c1f12
- Date: Thu, 20 Jun 1991 03:02:33 GMT
- Approved: kent@sparky.imd.sterling.com
-
- Submitted-by: Larry Wall <lwall@netlabs.com>
- Posting-number: Volume 20, Issue 56
- Archive-name: perl/patch04
- Patch-To: perl: Volume 18, Issue 19-54
-
- System: perl version 4.0
- Patch #: 4
- Priority: High
- Subject: many, many itty-bitty portability fixes
- Subject: there's now a separate doSH script
- Subject: new copyright notice
- Subject: new files
- Subject: cflags now emits entire cc command except for the filename
- Subject: alternate make programs are now semi-supported
- Subject: uperl.o no longer tries to link in libraries prematurely
- Subject: installperl now installs x2p stuff too
- Subject: length($`), length($&), length($') now optimized to avoid string copy
- Subject: cflags.SH now spits out cflags for execution
- Subject: Configure can now propagate arbitrary variables from old config.sh
- Subject: cflags can now heed config variables on a file by file basis
- Subject: made some allowances for "semi-standard" C
- Subject: added global modifier for pattern matches
- Subject: // wouldn't use previous pattern if it started with a null character
- Subject: //o and s///o now optimize themselves fully at runtime
- Subject: undef @array disabled "@array" interpolation
- Subject: chop("") was returning "\0" rather than ""
- Subject: vector logical operations &, | and ^ sometimes returned null string
- Subject: syscall couldn't pass numbers with most significant bit set on sparcs
- Subject: system fd's are now treated specially
- Subject: added $^F variable to specify maximum system fd, default 2
- Subject: character special files now opened with bidirectional stdio buffers
- Subject: taintchecks could improperly modify parent in vfork()
- Subject: $` was busted inside s///
- Subject: caller($arg) didn't work except under debugger
- Subject: perl-mode.el now does better with formats
- Subject: assignment wasn't correctly de-tainting the assigned variable.
- Subject: default top-of-form format is now FILEHANDLE_TOP
- Subject: added $^P variable to control calling of perldb routines
- Subject: debugger sometimes listed wrong number of lines for a statement
- Subject: Makefile is no longer self-modifying code under makedepend
- Subject: debugger lost track of lines in eval
- Subject: changed old $^P to $^X
- Subject: /(x+) \1/ incorrectly optimized to not match "xxx xx"
- Subject: $^D |= 1024 now does syntax tree dump at run-time
- Subject: taint check on undefined string could cause core dump
- Subject: t/TEST now tells you number of tests executed
- Subject: t/op/stat.t no longer depends on certain devices being in /dev
- Subject: index() could blow up searching for null string
- Subject: exec would close files even if you cleared close-on-exec flag
- Subject: find2perl now makes use of find.pl and finddepth.pl
- Subject: find2perl now optimizes -exec rm -f {} to an unlink
- Subject: s2p now handles embedded newlines better and optimizes common idioms
- Subject: a2p didn't correctly implement -n switch
-
- Description:
- Random patches, mostly bugs and portability stuff. //g is the
- only major new feature. Additionally, there is now an alternate
- license you can distribute Perl under.
-
- Fix: From rn, say "| patch -p -N -d DIR", where DIR is your perl source
- directory. Outside of rn, say "cd DIR; patch -p -N <thisarticle".
- If you don't have the patch program, apply the following by hand,
- or get patch (version 2.0, latest patchlevel).
-
- After patching:
- *** DO NOTHING--INSTALL ALL PATCHES UP THROUGH #09 FIRST ***
-
- If patch indicates that patchlevel is the wrong version, you may need
- to apply one or more previous patches, or the patch may already
- have been applied. See the patchlevel.h file to find out what has or
- has not been applied. In any event, don't continue with the patch.
-
- If you are missing previous patches they can be obtained from me:
-
- Larry Wall
- lwall@netlabs.com
-
- If you send a mail message of the following form it will greatly speed
- processing:
-
- Subject: Command
- @SH mailpatch PATH perl 4.0 LIST
- ^ note the c
-
- where PATH is a return path FROM ME TO YOU either in Internet notation,
- or in bang notation from some well-known host, and LIST is the number
- of one or more patches you need, separated by spaces, commas, and/or
- hyphens. Saying 35- says everything from 35 to the end.
-
-
- Index: patchlevel.h
- Prereq: 3
- 1c1
- < #define PATCHLEVEL 3
- ---
- > #define PATCHLEVEL 4
-
- Index: hints/3b1.sh
- *** hints/3b1.sh.old Fri Jun 7 12:24:17 1991
- --- hints/3b1.sh Fri Jun 7 12:24:18 1991
- ***************
- *** 0 ****
- --- 1,4 ----
- + d_voidsig='undef'
- + d_tosignal='int';
- + echo "If you're going to use shared libraries, don't include -lmalloc, and"
- + echo "change cc to '/bin/ccc' when editing config.sh at the end."
-
- Index: Artistic
- *** Artistic.old Fri Jun 7 12:22:09 1991
- --- Artistic Fri Jun 7 12:22:10 1991
- ***************
- *** 0 ****
- --- 1,117 ----
- +
- +
- +
- +
- + The "Artistic License"
- +
- + Preamble
- +
- + The intent of this document is to state the conditions under which a
- + Package may be copied, such that the Copyright Holder maintains some
- + semblance of artistic control over the development of the package,
- + while giving the users of the package the right to use and distribute
- + the Package in a more-or-less customary fashion, plus the right to make
- + reasonable modifications.
- +
- + Definitions:
- +
- + "Package" refers to the collection of files distributed by the
- + Copyright Holder, and derivatives of that collection of files
- + created through textual modification.
- +
- + "Standard Version" refers to such a Package if it has not been
- + modified, or has been modified in accordance with the wishes
- + of the Copyright Holder.
- +
- + "Copyright Holder" is whoever is named in the copyright or
- + copyrights for the package.
- +
- + "You" is you, if you're thinking about copying or distributing
- + this Package.
- +
- + "Reasonable copying fee" is whatever you can justify on the
- + basis of media cost, duplication charges, time of people involved,
- + and so on. (You will not be required to justify it to the
- + Copyright Holder, but only to the computing community at large
- + as a market that must bear the fee.)
- +
- + "Freely Available" means that no fee is charged for the item
- + itself, though there may be fees involved in handling the item.
- + It also means that recipients of the item may redistribute it
- + under the same conditions they received it.
- +
- + 1. You may make and give away verbatim copies of the source form of the
- + Standard Version of this Package without restriction, provided that you
- + duplicate all of the original copyright notices and associated disclaimers.
- +
- + 2. You may apply bug fixes, portability fixes and other modifications
- + derived from the Public Domain or from the Copyright Holder. A Package
- + modified in such a way shall still be considered the Standard Version.
- +
- + 3. You may otherwise modify your copy of this Package in any way, provided
- + that you insert a prominent notice in each changed file stating how and
- + when you changed that file, and provided that you do at least ONE of the
- + following:
- +
- + a) place your modifications in the Public Domain or otherwise make them
- + Freely Available, such as by posting said modifications to Usenet or
- + an equivalent medium, or placing the modifications on a major archive
- + site such as uunet.uu.net, or by allowing the Copyright Holder to include
- + your modifications in the Standard Version of the Package.
- +
- + b) use the modified Package only within your corporation or organization.
- +
- + c) rename any non-standard executables so the names do not conflict
- + with standard executables, which must also be provided, and provide
- + a separate manual page for each non-standard executable that clearly
- + documents how it differs from the Standard Version.
- +
- + d) make other distribution arrangements with the Copyright Holder.
- +
- + 4. You may distribute the programs of this Package in object code or
- + executable form, provided that you do at least ONE of the following:
- +
- + a) distribute a Standard Version of the executables and library files,
- + together with instructions (in the manual page or equivalent) on where
- + to get the Standard Version.
- +
- + b) accompany the distribution with the machine-readable source of
- + the Package with your modifications.
- +
- + c) accompany any non-standard executables with their corresponding
- + Standard Version executables, giving the non-standard executables
- + non-standard names, and clearly documenting the differences in manual
- + pages (or equivalent), together with instructions on where to get
- + the Standard Version.
- +
- + d) make other distribution arrangements with the Copyright Holder.
- +
- + 5. You may charge a reasonable copying fee for any distribution of this
- + Package. You may charge any fee you choose for support of this Package.
- + You may not charge a fee for this Package itself. However,
- + you may distribute this Package in aggregate with other (possibly
- + commercial) programs as part of a larger (possibly commercial) software
- + distribution provided that you do not advertise this Package as a
- + product of your own.
- +
- + 6. The scripts and library files supplied as input to or produced as
- + output from the programs of this Package do not automatically fall
- + under the copyright of this Package, but belong to whomever generated
- + them, and may be sold commercially, and may be aggregated with this
- + Package.
- +
- + 7. C subroutines supplied by you and linked into this Package in order
- + to emulate subroutines and variables of the language defined by this
- + Package shall not be considered part of this Package, but are the
- + equivalent of input as in Paragraph 6, provided these subroutines do
- + not change the language in any way that would cause it to fail the
- + regression tests for the language.
- +
- + 8. The name of the Copyright Holder may not be used to endorse or promote
- + products derived from this software without specific prior written permission.
- +
- + 9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
- + IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- + WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- +
- + The End
-
- Index: Configure
- Prereq: 4.0.1.1
- *** Configure.old Fri Jun 7 12:22:15 1991
- --- Configure Fri Jun 7 12:22:17 1991
- ***************
- *** 8,14 ****
- # and edit it to reflect your system. Some packages may include samples
- # of config.h for certain machines, so you might look for one of those.)
- #
- ! # $RCSfile: Configure,v $$Revision: 4.0.1.1 $$Date: 91/04/11 17:26:42 $
- #
- # Yes, you may rip this off to use in other distribution packages.
- # (Note: this Configure script was generated automatically. Rather than
- --- 8,14 ----
- # and edit it to reflect your system. Some packages may include samples
- # of config.h for certain machines, so you might look for one of those.)
- #
- ! # $RCSfile: Configure,v $$Revision: 4.0.1.2 $$Date: 91/06/07 10:09:34 $
- #
- # Yes, you may rip this off to use in other distribution packages.
- # (Note: this Configure script was generated automatically. Rather than
- ***************
- *** 189,194 ****
- --- 189,195 ----
- d_setruid=''
- d_shm=''
- d_shmat=''
- + d_voidshmat=''
- d_shmctl=''
- d_shmdt=''
- d_shmget=''
- ***************
- *** 263,268 ****
- --- 264,270 ----
- cppflags=''
- ldflags=''
- cc=''
- + nativegcc=''
- libs=''
- n=''
- c=''
- ***************
- *** 269,274 ****
- --- 271,277 ----
- package=''
- randbits=''
- scriptdir=''
- + installscr=''
- sig_name=''
- spitshell=''
- shsharp=''
- ***************
- *** 338,345 ****
- d_ndir=ndir
- voidwant=1
- voidwant=7
- ! libswanted="net_s net nsl_s nsl socket nm ndir ndbm dbm malloc sun m bsd BSD x c_s posix"
- ! inclwanted='/usr/include /usr/netinclude /usr/include/sun /usr/include/bsd /usr/include/lan'
-
- : Now test for existence of everything in MANIFEST
-
- --- 341,348 ----
- d_ndir=ndir
- voidwant=1
- voidwant=7
- ! libswanted="c_s net_s net nsl_s nsl socket nm ndir ndbm dbm malloc sun m bsd BSD x posix ucb"
- ! inclwanted='/usr/include /usr/netinclude /usr/include/sun /usr/include/bsd /usr/include/lan /usr/ucbinclude'
-
- : Now test for existence of everything in MANIFEST
-
- ***************
- *** 712,725 ****
- hint=default
- if test -f ../config.sh; then
- echo " "
- ! eval `grep lastuname ../config.sh`
- ! uname=`(uname -a || hostname) 2>&1`
- ! if test "X$uname" = "X$lastuname"; then
- dflt=y
- else
- dflt=n
- fi
- ! lastuname="$uname"
- rp="I see a config.sh file. Did Configure make it on THIS system? [$dflt]"
- echo $n "$rp $c"
- . myread
- --- 715,728 ----
- hint=default
- if test -f ../config.sh; then
- echo " "
- ! eval "`grep lastuname ../config.sh`"
- ! tmp=`(uname -a) 2>&1`
- ! if test "X$tmp" = "X$lastuname"; then
- dflt=y
- else
- dflt=n
- fi
- ! lastuname="$tmp"
- rp="I see a config.sh file. Did Configure make it on THIS system? [$dflt]"
- echo $n "$rp $c"
- . myread
- ***************
- *** 746,751 ****
- --- 749,755 ----
- test -f /dynix && dflt="$dflt dynix"
- test -f /dnix && dflt="$dflt dnix"
- test -f /bin/mips && /bin/mips && dflt="$dflt mips"
- + test -d /NextApps && test -f /usr/adm/software_version && dflt="$dflt next"
- if test -f /bin/uname || test -f /usr/bin/uname; then
- set `uname -a | tr '[A-Z]' '[a-z]'`
-
- ***************
- *** 798,804 ****
- case "$dflt" in
- '') dflt=none;;
- esac
- ! echo '(You may give one or more space-separated answers, or "none" if appropriate.)'
- rp="Which of these apply, if any? [$dflt]"
- echo $n "$rp $c"
- . myread
- --- 802,809 ----
- case "$dflt" in
- '') dflt=none;;
- esac
- ! echo '(You may give one or more space-separated answers, or "none" if appropriate.'
- ! echo 'If your OS version has no hints, do not give a wrong version--say "none".)'
- rp="Which of these apply, if any? [$dflt]"
- echo $n "$rp $c"
- . myread
- ***************
- *** 805,810 ****
- --- 810,816 ----
- for file in $ans; do
- if test -f ../hints/$file.sh; then
- . ../hints/$file.sh
- + cat ../hints/$file.sh >>../config.sh
- hint=recommended
- fi
- done
- ***************
- *** 1238,1244 ****
- cc="$ans"
- fi
- case "$cc" in
- ! gcc*) cpp=`./loc gcc-cpp $cpp $pth`;;
- esac
-
- : determine optimize, if desired, or use for debug flag also
- --- 1244,1268 ----
- cc="$ans"
- fi
- case "$cc" in
- ! gcc*) cpp=`./loc gcc-cpp $cpp $pth`
- ! case "$nativegcc" in
- ! '') case "$ccflags" in
- ! *-fpcc-struct-return*) dflt=n;;
- ! *) dflt=y;;
- ! esac
- ! ;;
- ! undef) dflt=n;;
- ! *) dflt=y;;
- ! esac
- ! echo " "
- ! rp="Are your system (especially dbm) libraries compiled with gcc? [$dflt]"
- ! $echo $n "$rp $c"
- ! . myread
- ! case "$ans" in
- ! n*) nativegcc="$undef"; gccflags='-fpcc-struct-return';;
- ! *) nativegcc="$define"; gccflags='';;
- ! esac
- ! ;;
- esac
-
- : determine optimize, if desired, or use for debug flag also
- ***************
- *** 1270,1280 ****
-
- case "$ccflags" in
- '') case "$cc" in
- ! *gcc*) dflt='-fpcc-struct-return';;
- *) dflt='';;
- esac
- ;;
- ! *) dflt="$ccflags";;
- esac
- for thisincl in $inclwanted; do
- if test -d $thisincl; then
- --- 1294,1309 ----
-
- case "$ccflags" in
- '') case "$cc" in
- ! *gcc*) dflt="$gccflags";;
- *) dflt='';;
- esac
- ;;
- ! *-fpcc-struct-return*) dflt="$ccflags";;
- ! *) case "$cc" in
- ! *gcc*) dflt="$ccflags $gccflags";;
- ! *) dflt="$ccflags";;
- ! esac
- ! ;;
- esac
- for thisincl in $inclwanted; do
- if test -d $thisincl; then
- ***************
- *** 1336,1342 ****
- cppflags=''
- for flag do
- case $flag in
- ! -D*|-I*|-traditional|-ansi|-nostdinc) cppflags="$cppflags $flag";;
- esac
- done
- case "$cppflags" in
- --- 1365,1371 ----
- cppflags=''
- for flag do
- case $flag in
- ! -D*|-U*|-I*|-traditional|-ansi|-nostdinc) cppflags="$cppflags $flag";;
- esac
- done
- case "$cppflags" in
- ***************
- *** 1524,1529 ****
- --- 1553,1559 ----
- case "$installbin" in
- '')
- dflt=`echo $bin | sed 's#^/afs/#/afs/.#'`
- + test -d $dflt || dflt="$bin"
- ;;
- *) dflt="$installbin"
- ;;
- ***************
- *** 1611,1616 ****
- --- 1641,1648 ----
- $cat >try.c <<'EOCP'
- #include <signal.h>
-
- + blech() { exit(3); }
- +
- main()
- {
- double f = -123;
- ***************
- *** 1619,1625 ****
- unsigned short ashort;
- int result = 0;
-
- ! signal(SIGFPE, SIG_IGN);
- along = (unsigned long)f;
- aint = (unsigned int)f;
- ashort = (unsigned short)f;
- --- 1651,1657 ----
- unsigned short ashort;
- int result = 0;
-
- ! signal(SIGFPE, blech);
- along = (unsigned long)f;
- aint = (unsigned int)f;
- ashort = (unsigned short)f;
- ***************
- *** 1674,1776 ****
- #define XYZ xyz
- ABC.XYZ
- EOT
- ! echo 'Maybe "'"$cc"' -E" will work...'
- ! $cc -E <testcpp.c >testcpp.out 2>&1
- ! : try to force gcc preprocessor if that is the compiler they are using
- ! case $? in
- ! 0) cppstdin="$cc -E";;
- ! *) case "$cc" in
- ! *gcc*)
- ! cd ..
- ! echo 'Trying (cat >/tmp/$$.c; '"$cc"' -E /tmp/$$.c; rm /tmp/$$.c)'
- ! echo 'cat >/tmp/$$.c; '"$cc"' -E /tmp/$$.c; rm /tmp/$$.c' >cppstdin
- ! chmod 755 cppstdin
- ! cppstdin=`pwd`/cppstdin
- ! cppminus='';
- ! cd UU
- ! $cppstdin <testcpp.c >testcpp.out 2>&1
- ! ;;
- ! esac
- ! ;;
- ! esac
- ! if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
- echo "Yup, it does."
- cppstdin="$cc -E"
- cppminus='';
- else
- ! echo 'Nope...maybe "'"$cc"' -E -" will work...'
- ! $cc -E - <testcpp.c >testcpp.out 2>&1
- if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
- ! echo "Yup, it does."
- ! cppstdin="$cc -E"
- ! cppminus='-';
- else
- ! echo 'No such luck, maybe "'$cpp'" will work...'
- ! $cpp <testcpp.c >testcpp.out 2>&1
- ! if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
- ! echo "It works!"
- ! cppstdin="$cpp"
- ! cppminus='';
- ! else
- ! echo 'Nixed again...maybe "'$cpp' -" will work...'
- ! $cpp - <testcpp.c >testcpp.out 2>&1
- ! if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
- ! echo "Hooray, it works! I was beginning to wonder."
- ! cppstdin="$cpp"
- ! cppminus='-';
- ! else
- ! echo 'Nope...maybe "'"$cc"' -P" will work...'
- ! $cc -P <testcpp.c >testcpp.out 2>&1
- ! if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
- ! echo "Yup, that does."
- ! cppstdin="$cc -P"
- ! cppminus='';
- ! else
- ! echo 'Nope...maybe "'"$cc"' -P -" will work...'
- ! $cc -P - <testcpp.c >testcpp.out 2>&1
- ! if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
- ! echo "Yup, that does."
- ! cppstdin="$cc -P"
- ! cppminus='-';
- ! else
- ! echo 'Hmm...perhaps you already told me...'
- ! case "$cppstdin" in
- ! '') ;;
- ! *) $cppstdin $cppminus <testcpp.c >testcpp.out 2>&1;;
- ! esac
- ! if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
- ! echo "Hooray, you did! I was beginning to wonder."
- ! else
- ! echo 'Uh-uh. Time to get fancy...'
- ! cd ..
- ! echo 'Trying (cat >/tmp/$$.c; '"$cc"' -E /tmp/$$.c; rm /tmp/$$.c)'
- ! echo 'cat >/tmp/$$.c; '"$cc"' -E /tmp/$$.c; rm /tmp/$$.c' >cppstdin
- ! chmod 755 cppstdin
- ! cppstdin=`pwd`/cppstdin
- ! cppminus='';
- ! cd UU
- ! $cppstdin <testcpp.c >testcpp.out 2>&1
- ! if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
- ! echo "Eureka!."
- ! else
- ! dflt=blurfl
- ! $echo $n "No dice. I can't find a C preprocessor. Name one: $c"
- ! rp='Name a C preprocessor:'
- ! . myread
- ! cppstdin="$ans"
- ! $cppstdin <testcpp.c >testcpp.out 2>&1
- ! if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
- ! echo "OK, that will do."
- ! else
- ! echo "Sorry, I can't get that to work. Go find one."
- ! exit 1
- ! fi
- ! fi
- ! fi
- ! fi
- ! fi
- ! fi
- ! fi
- fi
- fi
-
- --- 1706,1783 ----
- #define XYZ xyz
- ABC.XYZ
- EOT
- !
- ! cd ..
- ! echo 'cat >.$$.c; '"$cc"' -E ${1+"$@"} .$$.c; rm .$$.c' >cppstdin
- ! chmod 755 cppstdin
- ! wrapper=`pwd`/cppstdin
- ! cd UU
- !
- ! if test "X$cppstdin" != "X" && \
- ! $cppstdin $cppminus <testcpp.c >testcpp.out 2>&1 && \
- ! $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
- ! echo "You used to use $cppstdin $cppminus so we'll use that again."
- ! elif test "$cc" = gcc && \
- ! (echo "Using gcc, eh? We'll try to force gcc -E using a wrapper..."; \
- ! $wrapper <testcpp.c >testcpp.out 2>&1; \
- ! $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1) ; then
- ! echo "Yup, we can."
- ! cppstdin="$wrapper"
- ! cppminus='';
- ! elif echo 'Maybe "'"$cc"' -E" will work...'; \
- ! $cc -E <testcpp.c >testcpp.out 2>&1; \
- ! $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
- echo "Yup, it does."
- cppstdin="$cc -E"
- cppminus='';
- + elif echo 'Nope...maybe "'"$cc"' -E -" will work...'; \
- + $cc -E - <testcpp.c >testcpp.out 2>&1; \
- + $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
- + echo "Yup, it does."
- + cppstdin="$cc -E"
- + cppminus='-';
- + elif echo 'Uh-uh. Time to get fancy. Trying a wrapper...'; \
- + $wrapper <testcpp.c >testcpp.out 2>&1; \
- + $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
- + cppstdin="$wrapper"
- + cppminus=''
- + echo "Eureka!."
- + elif echo 'No such luck, maybe "'$cpp'" will work...'; \
- + $cpp <testcpp.c >testcpp.out 2>&1; \
- + $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
- + echo "It works!"
- + cppstdin="$cpp"
- + cppminus='';
- + elif echo 'Nixed again...maybe "'$cpp' -" will work...'; \
- + $cpp - <testcpp.c >testcpp.out 2>&1; \
- + $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
- + echo "Hooray, it works! I was beginning to wonder."
- + cppstdin="$cpp"
- + cppminus='-';
- + elif echo 'Nope...maybe "'"$cc"' -P" will work...'; \
- + $cc -P <testcpp.c >testcpp.out 2>&1; \
- + $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
- + echo "Yipee, that works!"
- + cppstdin="$cc -P"
- + cppminus='';
- + elif echo 'Nope...maybe "'"$cc"' -P -" will work...'; \
- + $cc -P - <testcpp.c >testcpp.out 2>&1; \
- + $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
- + echo "At long last!"
- + cppstdin="$cc -P"
- + cppminus='-';
- else
- ! dflt=blurfl
- ! $echo $n "No dice. I can't find a C preprocessor. Name one: $c"
- ! rp='Name a C preprocessor:'
- ! . myread
- ! cppstdin="$ans"
- ! $cppstdin <testcpp.c >testcpp.out 2>&1
- if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
- ! echo "OK, that will do."
- else
- ! echo "Sorry, I can't get that to work. Go find one and rerun Configure."
- ! exit 1
- fi
- fi
-
- ***************
- *** 1834,1845 ****
- test -f $1 || set /lib/libsys_s.a
- eval set \$$#
- if test -f "$1"; then
- ! echo "Your shared C library is in $1."
- libc="$1"
- elif test -f "$libc"; then
- ! echo "Your C library is in $libc."
- elif test -f /lib/libc.a; then
- ! echo "Your C library is in /lib/libc.a. You're normal."
- libc=/lib/libc.a
- else
- if ans=`./loc libc.a blurfl/dyick $libpth`; test -f "$ans"; then
- --- 1841,1852 ----
- test -f $1 || set /lib/libsys_s.a
- eval set \$$#
- if test -f "$1"; then
- ! echo "Your (shared) C library seems to be in $1."
- libc="$1"
- elif test -f "$libc"; then
- ! echo "Your C library seems to be in $libc."
- elif test -f /lib/libc.a; then
- ! echo "Your C library seems to be in /lib/libc.a. You're normal."
- libc=/lib/libc.a
- else
- if ans=`./loc libc.a blurfl/dyick $libpth`; test -f "$ans"; then
- ***************
- *** 1856,1862 ****
- :
- fi
- if test -f "$ans"; then
- ! echo "Your C library is in $ans, of all places."
- libc=$ans
- else
- cat <<EOM
- --- 1863,1869 ----
- :
- fi
- if test -f "$ans"; then
- ! echo "Your C library seems to be in $ans, of all places."
- libc=$ans
- else
- cat <<EOM
- ***************
- *** 1878,1885 ****
- if test $libc = "/lib/libc"; then
- libc="$libc /lib/clib"
- fi
- ! set `echo $libc $libnames | tr ' ' '\012' | sort | uniq`
- ! $echo $n "Extracting names from $* for later perusal...$c"
- nm $nm_opts $* 2>/dev/null >libc.tmp
- $sed -n -e 's/^.* [ATDS] *[_.]*//p' -e 's/^.* [ATDS] //p' <libc.tmp >libc.list
- if $contains '^printf$' libc.list >/dev/null 2>&1; then
- --- 1885,1907 ----
- if test $libc = "/lib/libc"; then
- libc="$libc /lib/clib"
- fi
- ! cat <<END
- !
- ! If the guess above is wrong (which it might be if you're using a strange
- ! compiler, or your machine supports multiple models), you can override it here.
- ! END
- ! dflt="$libc";
- ! rp="Your C library is where? [$dflt]"
- ! $echo $n "$rp $c"
- ! . myread
- ! libc="$ans"
- ! echo " "
- ! echo $libc $libnames | tr ' ' '\012' | sort | uniq >libnames
- ! $echo "Extracting names from the following files for later perusal:"
- ! sed 's/^/ /' libnames
- ! echo $n "This may take a while...$c"
- ! set X `cat libnames`
- ! shift
- nm $nm_opts $* 2>/dev/null >libc.tmp
- $sed -n -e 's/^.* [ATDS] *[_.]*//p' -e 's/^.* [ATDS] //p' <libc.tmp >libc.list
- if $contains '^printf$' libc.list >/dev/null 2>&1; then
- ***************
- *** 1898,1904 ****
- <libc.tmp >libc.list; \
- $contains '^printf$' libc.list >/dev/null 2>&1; then
- echo done
- ! elif $grep '|' <libc.tmp | $sed -n -e '/|COMMON/d' -e '/|DATA/d' \
- -e 's/^\([^ ]*\).*/\1/p' >libc.list
- $contains '^printf$' libc.list >/dev/null 2>&1; then
- echo done
- --- 1920,1926 ----
- <libc.tmp >libc.list; \
- $contains '^printf$' libc.list >/dev/null 2>&1; then
- echo done
- ! elif $grep '|' <libc.tmp | $sed -n -e '/|COMMON/d' -e '/|DATA/d' -e '/ file/d' \
- -e 's/^\([^ ]*\).*/\1/p' >libc.list
- $contains '^printf$' libc.list >/dev/null 2>&1; then
- echo done
- ***************
- *** 1939,1954 ****
- fi
- fi
- fi
-
- - : old version
- -
- - inlibc='echo " ";
- - if $contains "^$1\$" libc.list >/dev/null 2>&1;
- - then echo "$1() found"; eval "$2=$define";
- - else echo "$1() not found"; eval "$2=$undef"; fi'
- -
- - : new version
- -
- inlibc='echo " "; td=$define; tu=$undef;
- if $contains "^$1\$" libc.list >/dev/null 2>&1;
- then echo "$1() found";
- --- 1961,1971 ----
- fi
- fi
- fi
- + if test -f /lib/syscalls.exp; then
- + echo "Also extracting names from /lib/syscalls.exp for good ole AIX..."
- + sed -n 's/^\([^ ]*\)[ ]*syscall$/\1/p' /lib/syscalls.exp >>libc.list
- + fi
-
- inlibc='echo " "; td=$define; tu=$undef;
- if $contains "^$1\$" libc.list >/dev/null 2>&1;
- then echo "$1() found";
- ***************
- *** 2615,2620 ****
- --- 2632,2650 ----
- set shmat d_shmat
- eval $inlibc
-
- + d_voidshmat="$undef"
- + case "$d_shmat" in
- + define)
- + $cppstdin $cppflags $cppminus < $usrinclude/sys/shm.h >voidshmat.txt 2>/dev/null
- + if $contains "void.*shmat" voidshmat.txt >/dev/null 2>&1; then
- + echo "and shmat returns (void*)"
- + d_voidshmat="$define"
- + else
- + echo "and shmat returns (char*)"
- + fi
- + ;;
- + esac
- +
- : see if shmdt exists
- set shmdt d_shmdt
- eval $inlibc
- ***************
- *** 2854,2870 ****
- : see if signal is declared as pointer to function returning int or void
- echo " "
- $cppstdin $cppflags $cppminus < $usrinclude/signal.h >d_voidsig.txt
- ! if $contains 'int.*signal' d_voidsig.txt >/dev/null 2>&1 ; then
- echo "You have int (*signal())() instead of void."
- val="$undef"
- - d_tosignal=int
- else
- echo "You have void (*signal())() instead of int."
- val="$define"
- - d_tosignal=void
- fi
- set d_voidsig
- eval $setvar
-
- : see if truncate exists
- set truncate d_truncate
- --- 2884,2902 ----
- : see if signal is declared as pointer to function returning int or void
- echo " "
- $cppstdin $cppflags $cppminus < $usrinclude/signal.h >d_voidsig.txt
- ! if $contains 'int[^A-Za-z]*signal' d_voidsig.txt >/dev/null 2>&1 ; then
- echo "You have int (*signal())() instead of void."
- val="$undef"
- else
- echo "You have void (*signal())() instead of int."
- val="$define"
- fi
- set d_voidsig
- eval $setvar
- + case $voidsig in
- + define) d_tosignal=void;;
- + *) d_tosignal=int;;
- + esac
-
- : see if truncate exists
- set truncate d_truncate
- ***************
- *** 2929,2934 ****
- --- 2961,3004 ----
- . myread
- gidtype="$ans"
-
- + : see what type gids are returned by getgroups
- + echo " "
- + case "$groupstype" in
- + '')
- + if $contains 'getgroups.*short' /usr/lib/lint/llib-lc >/dev/null 2>&1; then
- + dflt='short'
- + elif $contains 'getgroups.*int' /usr/lib/lint/llib-lc >/dev/null 2>&1; then
- + dflt='int'
- + elif $contains 'getgroups.*short' /usr/include/libc.h >/dev/null 2>&1; then
- + dflt='short'
- + elif $contains 'getgroups.*int' /usr/include/libc.h >/dev/null 2>&1; then
- + dflt='int'
- + elif $contains 'getgroups.*short' /usr/lib/lint/llib-lbsd >/dev/null 2>&1; then
- + dflt='short'
- + elif $contains 'getgroups.*int' /usr/lib/lint/llib-lbsd >/dev/null 2>&1; then
- + dflt='int'
- + elif $contains 'int.*gidset' /usr/man/man2/getgroups.2 >/dev/null 2>&1; then
- + dflt='int'
- + elif $contains 'gid_t;' $usrinclude/sys/types.h >/dev/null 2>&1 ; then
- + dflt='gid_t'
- + else
- + set `grep 'groups\[NGROUPS\];' $usrinclude/sys/user.h 2>/dev/null` unsigned short
- + case $1 in
- + unsigned) dflt="$1 $2" ;;
- + *) dflt="$1" ;;
- + esac
- + fi
- + ;;
- + *) dflt="$groupstype"
- + ;;
- + esac
- + cont=true
- + echo "(The following only matters if you have getgroups().)"
- + rp="What type are the group ids returned by getgroups()? [$dflt]"
- + $echo $n "$rp $c"
- + . myread
- + groupstype="$ans"
- +
- : check for length of integer
- echo " "
- case "$intsize" in
- ***************
- *** 2983,2989 ****
- --- 3053,3063 ----
- case "$mallocptrtype" in
- '')
- cat >usemymalloc.c <<'END'
- + #ifdef __STDC__
- + #include <stdlib.h>
- + #else
- #include <malloc.h>
- + #endif
- void *malloc();
- END
- if $cc $ccflags -c usemymalloc.c >/dev/null 2>&1; then
- ***************
- *** 3021,3026 ****
- --- 3095,3101 ----
- case "$installprivlib" in
- '')
- dflt=`echo $privlib | sed 's#^/afs/#/afs/.#'`
- + test -d $dflt || dflt="$privlib"
- ;;
- *) dflt="$installprivlib"
- ;;
- ***************
- *** 3073,3079 ****
- . myread
- randbits="$ans"
-
- ! : determine where public executables go
- case "$scriptdir" in
- '')
- dflt="$bin"
- --- 3148,3154 ----
- . myread
- randbits="$ans"
-
- ! : determine where publicly executable scripts go
- case "$scriptdir" in
- '')
- dflt="$bin"
- ***************
- *** 3094,3100 ****
-
- EOM
- while $test "$cont" ; do
- ! rp="Where do you keep publicly executable scripts (~name ok)? [$dflt]"
- $echo $n "$rp $c"
- . myread
- scriptdir="$ans"
- --- 3169,3175 ----
-
- EOM
- while $test "$cont" ; do
- ! rp="Where will publicly executable scripts reside (~name ok)? [$dflt]"
- $echo $n "$rp $c"
- . myread
- scriptdir="$ans"
- ***************
- *** 3116,3121 ****
- --- 3191,3233 ----
- fi
- done
-
- + case "$installscr" in
- + '')
- + dflt=`echo $scriptdir | sed 's#^/afs/#/afs/.#'`
- + test -d $dflt || dflt="$scriptdir"
- + ;;
- + *) dflt="$scriptdir"
- + ;;
- + esac
- + cont=true
- + $cat <<EOM
- +
- + Some installations must install scripts in a different directory than where
- + they will eventually reside. On most systems they're the same directory.
- + EOM
- + while $test "$cont" ; do
- + rp="Where do you install publicly executable scripts (~name ok)? [$dflt]"
- + $echo $n "$rp $c"
- + . myread
- + installscr="$ans"
- + installscr=`./filexp "$installscr"`
- + if test -d $installscr; then
- + cont=''
- + else
- + case "$fastread" in
- + yes) dflt=y;;
- + *) dflt=n;;
- + esac
- + rp="Directory $installscr doesn't exist. Use that name anyway? [$dflt]"
- + $echo $n "$rp $c"
- + . myread
- + dflt=''
- + case "$ans" in
- + y*) cont='';;
- + esac
- + fi
- + done
- +
- : generate list of signal names
- echo " "
- case "$sig_name" in
- ***************
- *** 3159,3165 ****
-
- : see what type of char stdio uses.
- echo " "
- ! if $contains 'unsigned.*char.*_ptr;' $usrinclude/stdio.h >/dev/null 2>&1 ; then
- echo "Your stdio uses unsigned chars."
- stdchar="unsigned char"
- else
- --- 3271,3277 ----
-
- : see what type of char stdio uses.
- echo " "
- ! if $contains 'unsigned.*char.*\*.*_ptr.*;' $usrinclude/stdio.h >/dev/null 2>&1 ; then
- echo "Your stdio uses unsigned chars."
- stdchar="unsigned char"
- else
- ***************
- *** 3223,3229 ****
- exit(0);
- }
- EOCP
- ! if $cc -S -DTRY=$voidwant void.c >void.out 2>&1 ; then
- voidhave=$voidwant
- echo "It appears to support void to the level $package wants ($voidwant)."
- if $contains warning void.out >/dev/null 2>&1; then
- --- 3335,3341 ----
- exit(0);
- }
- EOCP
- ! if $cc -c -DTRY=$voidwant void.c >void.out 2>&1 ; then
- voidhave=$voidwant
- echo "It appears to support void to the level $package wants ($voidwant)."
- if $contains warning void.out >/dev/null 2>&1; then
- ***************
- *** 3232,3245 ****
- fi
- else
- echo "Hmm, your compiler has some difficulty with void. Checking further..."
- ! if $cc -S -DTRY=1 void.c >/dev/null 2>&1 ; then
- echo "It supports 1..."
- ! if $cc -S -DTRY=3 void.c >/dev/null 2>&1 ; then
- voidhave=3
- echo "And it supports 2 but not 4."
- else
- echo "It doesn't support 2..."
- ! if $cc -S -DTRY=5 void.c >/dev/null 2>&1 ; then
- voidhave=5
- echo "But it supports 4."
- else
- --- 3344,3357 ----
- fi
- else
- echo "Hmm, your compiler has some difficulty with void. Checking further..."
- ! if $cc -c -DTRY=1 void.c >/dev/null 2>&1 ; then
- echo "It supports 1..."
- ! if $cc -c -DTRY=3 void.c >/dev/null 2>&1 ; then
- voidhave=3
- echo "And it supports 2 but not 4."
- else
- echo "It doesn't support 2..."
- ! if $cc -c -DTRY=5 void.c >/dev/null 2>&1 ; then
- voidhave=5
- echo "But it supports 4."
- else
- ***************
- *** 3292,3331 ****
- esac
- yacc="$ans"
-
- - : see what type gids are returned by getgroups
- - echo " "
- - case "$groupstype" in
- - '')
- - if $contains 'getgroups.*short' /usr/lib/lint/llib-lc >/dev/null 2>&1; then
- - dflt='short'
- - elif $contains 'getgroups.*int' /usr/lib/lint/llib-lc >/dev/null 2>&1; then
- - dflt='int'
- - elif $contains 'getgroups.*short' /usr/lib/lint/llib-lbsd >/dev/null 2>&1; then
- - dflt='short'
- - elif $contains 'getgroups.*int' /usr/lib/lint/llib-lbsd >/dev/null 2>&1; then
- - dflt='int'
- - elif $contains 'int gidset' /usr/man/man2/getgroups.2 >/dev/null 2>&1 ; then
- - dflt='int'
- - elif $contains 'gid_t;' $usrinclude/sys/types.h >/dev/null 2>&1 ; then
- - dflt='gid_t'
- - else
- - set `grep 'groups\[NGROUPS\];' $usrinclude/sys/user.h 2>/dev/null` unsigned short
- - case $1 in
- - unsigned) dflt="$1 $2" ;;
- - *) dflt="$1" ;;
- - esac
- - fi
- - ;;
- - *) dflt="$groupstype"
- - ;;
- - esac
- - cont=true
- - echo "(The following only matters if you have getgroups().)"
- - rp="What type are the group ids returned by getgroups()? [$dflt]"
- - $echo $n "$rp $c"
- - . myread
- - groupstype="$ans"
- -
- : see if we can include fcntl.h
- echo " "
- if $h_fcntl; then
- --- 3404,3409 ----
- ***************
- *** 3463,3473 ****
- cd ..
- fi
- echo "Creating config.sh..."
- $spitshell <<EOT >config.sh
- $startsh
- # config.sh
- # This file was produced by running the Configure script.
- -
- d_eunice='$d_eunice'
- define='$define'
- eunicefix='$eunicefix'
- --- 3541,3551 ----
- cd ..
- fi
- echo "Creating config.sh..."
- + test -f config.sh && cp config.sh UU/oldconfig.sh
- $spitshell <<EOT >config.sh
- $startsh
- # config.sh
- # This file was produced by running the Configure script.
- d_eunice='$d_eunice'
- define='$define'
- eunicefix='$eunicefix'
- ***************
- *** 3596,3601 ****
- --- 3674,3680 ----
- d_setruid='$d_setruid'
- d_shm='$d_shm'
- d_shmat='$d_shmat'
- + d_voidshmat='$d_voidshmat'
- d_shmctl='$d_shmctl'
- d_shmdt='$d_shmdt'
- d_shmget='$d_shmget'
- ***************
- *** 3670,3675 ****
- --- 3749,3755 ----
- cppflags='$cppflags'
- ldflags='$ldflags'
- cc='$cc'
- + nativegcc='$nativegcc'
- libs='$libs'
- n='$n'
- c='$c'
- ***************
- *** 3676,3681 ****
- --- 3756,3762 ----
- package='$package'
- randbits='$randbits'
- scriptdir='$scriptdir'
- + installscr='$installscr'
- sig_name='$sig_name'
- spitshell='$spitshell'
- shsharp='$shsharp'
- ***************
- *** 3695,3708 ****
- lib='$lib'
- privlib='$privlib'
- installprivlib='$installprivlib'
- - CONFIG=true
- EOT
-
- : Finish up
- CONFIG=true
-
- echo " "
- - test -f patchlevel.h && awk '{printf "%s=%s\n",$2,$3}' patchlevel.h >>config.sh
- dflt=''
- fastread=''
- echo "If you didn't make any mistakes, then just type a carriage return here."
- --- 3776,3808 ----
- lib='$lib'
- privlib='$privlib'
- installprivlib='$installprivlib'
- EOT
-
- + test -f patchlevel.h && awk '{printf "%s=%s\n",$2,$3}' patchlevel.h >>config.sh
- + echo "CONFIG=true" >>config.sh
- +
- + if test -f UU/oldconfig.sh; then
- + sed -n 's/^\([a-zA-Z_0-9]*\)=.*/\1/p' config.sh config.sh UU/oldconfig.sh |\
- + sort | uniq -u >UU/oldsyms
- + set X `cat UU/oldsyms`
- + shift
- + case $# in
- + 0) ;;
- + *) echo "Hmm...You had some extra variables I don't know about...I'll try to keep 'em..."
- + for sym in `cat UU/oldsyms`; do
- + echo " Propagating $hint variable "'$'"$sym..."
- + eval 'tmp="$'"${sym}"'"'
- + echo "$tmp" | \
- + sed -e "s/'/'\"'\"'/g" -e "s/^/$sym='/" -e "s/$/'/" >>config.sh
- + done
- + ;;
- + esac
- + fi
- +
- : Finish up
- CONFIG=true
-
- echo " "
- dflt=''
- fastread=''
- echo "If you didn't make any mistakes, then just type a carriage return here."
- ***************
- *** 3714,3754 ****
- *) : in case they cannot read
- eval $ans;;
- esac
- ! : if this fails, just run all the .SH files by hand
- ! . ./config.sh
-
- - echo " "
- - echo "Doing variable substitutions on .SH files..."
- - set x `awk '{print $1}' <MANIFEST | $grep '\.SH'`
- - shift
- - case $# in
- - 0) set x *.SH; shift;;
- - esac
- - if test ! -f $1; then
- - shift
- - fi
- - for file in $*; do
- - set X
- - shift
- - chmod +x $file
- - case "$file" in
- - */*)
- - dir=`$expr X$file : 'X\(.*\)/'`
- - file=`$expr X$file : 'X.*/\(.*\)'`
- - (cd $dir && . $file)
- - ;;
- - *)
- - . $file
- - ;;
- - esac
- - done
- - if test -f config.h.SH; then
- - if test ! -f config.h; then
- - : oops, they left it out of MANIFEST, probably, so do it anyway.
- - . config.h.SH
- - fi
- - fi
- -
- if $contains '^depend:' [Mm]akefile >/dev/null 2>&1; then
- dflt=n
- $cat <<EOM
- --- 3814,3822 ----
- *) : in case they cannot read
- eval $ans;;
- esac
- ! chmod +x doSH
- ! ./doSH
-
- if $contains '^depend:' [Mm]akefile >/dev/null 2>&1; then
- dflt=n
- $cat <<EOM
- ***************
- *** 3775,3779 ****
- fi
-
- $rm -f kit*isdone
- ! cd .. && $rm -rf UU
- : end of Configure
- --- 3843,3847 ----
- fi
-
- $rm -f kit*isdone
- ! $rm -rf UU
- : end of Configure
-
- Index: EXTERN.h
- Prereq: 4.0
- *** EXTERN.h.old Fri Jun 7 12:22:23 1991
- --- EXTERN.h Fri Jun 7 12:22:24 1991
- ***************
- *** 1,11 ****
- ! /* $Header: EXTERN.h,v 4.0 91/03/20 00:58:26 lwall Locked $
- *
- ! * Copyright (c) 1989, Larry Wall
- *
- ! * You may distribute under the terms of the GNU General Public License
- ! * as specified in the README file that comes with the perl 3.0 kit.
- *
- * $Log: EXTERN.h,v $
- * Revision 4.0 91/03/20 00:58:26 lwall
- * 4.0 baseline.
- *
- --- 1,14 ----
- ! /* $RCSfile: EXTERN.h,v $$Revision: 4.0.1.1 $$Date: 91/06/07 10:10:32 $
- *
- ! * Copyright (c) 1991, Larry Wall
- *
- ! * You may distribute under the terms of either the GNU General Public
- ! * License or the Artistic License, as specified in the README file.
- *
- * $Log: EXTERN.h,v $
- + * Revision 4.0.1.1 91/06/07 10:10:32 lwall
- + * patch4: new copyright notice
- + *
- * Revision 4.0 91/03/20 00:58:26 lwall
- * 4.0 baseline.
- *
-
- Index: x2p/EXTERN.h
- Prereq: 4.0
- *** x2p/EXTERN.h.old Fri Jun 7 12:27:34 1991
- --- x2p/EXTERN.h Fri Jun 7 12:27:35 1991
- ***************
- *** 1,11 ****
- ! /* $Header: EXTERN.h,v 4.0 91/03/20 01:56:53 lwall Locked $
- *
- ! * Copyright (c) 1989, Larry Wall
- *
- ! * You may distribute under the terms of the GNU General Public License
- ! * as specified in the README file that comes with the perl 3.0 kit.
- *
- * $Log: EXTERN.h,v $
- * Revision 4.0 91/03/20 01:56:53 lwall
- * 4.0 baseline.
- *
- --- 1,14 ----
- ! /* $RCSfile: EXTERN.h,v $$Revision: 4.0.1.1 $$Date: 91/06/07 12:11:15 $
- *
- ! * Copyright (c) 1991, Larry Wall
- *
- ! * You may distribute under the terms of either the GNU General Public
- ! * License or the Artistic License, as specified in the README file.
- *
- * $Log: EXTERN.h,v $
- + * Revision 4.0.1.1 91/06/07 12:11:15 lwall
- + * patch4: new copyright notice
- + *
- * Revision 4.0 91/03/20 01:56:53 lwall
- * 4.0 baseline.
- *
-
- Index: INTERN.h
- Prereq: 4.0
- *** INTERN.h.old Fri Jun 7 12:22:26 1991
- --- INTERN.h Fri Jun 7 12:22:27 1991
- ***************
- *** 1,11 ****
- ! /* $Header: INTERN.h,v 4.0 91/03/20 00:58:35 lwall Locked $
- *
- ! * Copyright (c) 1989, Larry Wall
- *
- ! * You may distribute under the terms of the GNU General Public License
- ! * as specified in the README file that comes with the perl 3.0 kit.
- *
- * $Log: INTERN.h,v $
- * Revision 4.0 91/03/20 00:58:35 lwall
- * 4.0 baseline.
- *
- --- 1,14 ----
- ! /* $RCSfile: INTERN.h,v $$Revision: 4.0.1.1 $$Date: 91/06/07 10:10:42 $
- *
- ! * Copyright (c) 1991, Larry Wall
- *
- ! * You may distribute under the terms of either the GNU General Public
- ! * License or the Artistic License, as specified in the README file.
- *
- * $Log: INTERN.h,v $
- + * Revision 4.0.1.1 91/06/07 10:10:42 lwall
- + * patch4: new copyright notice
- + *
- * Revision 4.0 91/03/20 00:58:35 lwall
- * 4.0 baseline.
- *
-
- Index: x2p/INTERN.h
- Prereq: 4.0
- *** x2p/INTERN.h.old Fri Jun 7 12:27:37 1991
- --- x2p/INTERN.h Fri Jun 7 12:27:37 1991
- ***************
- *** 1,11 ****
- ! /* $Header: INTERN.h,v 4.0 91/03/20 01:56:58 lwall Locked $
- *
- ! * Copyright (c) 1989, Larry Wall
- *
- ! * You may distribute under the terms of the GNU General Public License
- ! * as specified in the README file that comes with the perl 3.0 kit.
- *
- * $Log: INTERN.h,v $
- * Revision 4.0 91/03/20 01:56:58 lwall
- * 4.0 baseline.
- *
- --- 1,14 ----
- ! /* $RCSfile: INTERN.h,v $$Revision: 4.0.1.1 $$Date: 91/06/07 12:11:20 $
- *
- ! * Copyright (c) 1991, Larry Wall
- *
- ! * You may distribute under the terms of either the GNU General Public
- ! * License or the Artistic License, as specified in the README file.
- *
- * $Log: INTERN.h,v $
- + * Revision 4.0.1.1 91/06/07 12:11:20 lwall
- + * patch4: new copyright notice
- + *
- * Revision 4.0 91/03/20 01:56:58 lwall
- * 4.0 baseline.
- *
-
- Index: MANIFEST
- *** MANIFEST.old Fri Jun 7 12:22:30 1991
- --- MANIFEST Fri Jun 7 12:22:31 1991
- ***************
- *** 1,3 ****
- --- 1,4 ----
- + Artistic The "Artistic License"
- Configure Run this first
- Copying The GNU General Public License
- EXTERN.h Included before foreign .h files
- ***************
- *** 20,25 ****
- --- 21,27 ----
- config_h.SH Produces config.h
- cons.c Routines to construct cmd nodes of a parse tree
- consarg.c Routines to construct arg nodes of a parse tree
- + doSH Script to run all the *.SH files
- doarg.c Scalar expression evaluation
- doio.c I/O operations
- dolist.c Array expression evaluation
- ***************
- *** 87,92 ****
- --- 89,95 ----
- handy.h Handy definitions
- hash.c Associative arrays
- hash.h Public declarations for the above
- + hints/3b1.sh
- hints/3b2.sh
- hints/aix_rs.sh
- hints/aix_rt.sh
- ***************
- *** 114,122 ****
- --- 117,127 ----
- hints/sunos_3_5.sh
- hints/sunos_4_0_1.sh
- hints/sunos_4_0_2.sh
- + hints/svr4.sh
- hints/ultrix_3.sh
- hints/ultrix_4.sh
- hints/uts.sh
- + hints/vax.sh
- installperl Perl script to do "make install" dirty work
- ioctl.pl Sample ioctl.pl
- lib/abbrev.pl An abbreviation table builder
- ***************
- *** 127,139 ****
- --- 132,148 ----
- lib/complete.pl A command completion subroutine
- lib/ctime.pl A ctime workalike
- lib/dumpvar.pl A variable dumper
- + lib/find.pl A find emulator--used by find2perl
- + lib/finddepth.pl A depth-first find emulator--used by find2perl
- lib/flush.pl Routines to do single flush
- lib/getopt.pl Perl library supporting option parsing
- lib/getopts.pl Perl library supporting option parsing
- lib/importenv.pl Perl routine to get environment into variables
- lib/look.pl A "look" equivalent
- + lib/newgetopt.pl A perl library supporting long option parsing
- lib/perldb.pl Perl debugging routines
- lib/pwd.pl Routines to keep track of PWD environment variable
- + lib/shellwords.pl Perl library to split into words with shell quoting
- lib/stat.pl Perl library supporting stat function
- lib/syslog.pl Perl library supporting syslogging
- lib/termcap.pl Perl library supporting termcap usage
- ***************
- *** 296,301 ****
- --- 305,311 ----
- x2p/a2p.man Manual page for awk to perl translator
- x2p/a2p.y A yacc grammer for awk
- x2p/a2py.c Awk compiler, sort of
- + x2p/cflags.SH A script that emits C compilation flags per file
- x2p/find2perl.SH A find to perl translator
- x2p/handy.h Handy definitions
- x2p/hash.c Associative arrays again
-
- Index: usub/Makefile
- *** usub/Makefile.old Fri Jun 7 12:27:23 1991
- --- usub/Makefile Fri Jun 7 12:27:23 1991
- ***************
- *** 1,10 ****
- ! SRC = /usr/local/src/perl
- GLOBINCS =
- LOCINCS =
- ! LIBS = -lcurses -ltermlib
-
- curseperl: $(SRC)/uperl.o usersub.o curses.o
- ! cc $(SRC)/uperl.o usersub.o curses.o $(LIBS) -lm -o curseperl
-
- usersub.o: usersub.c
- cc -c -I$(SRC) $(GLOBINCS) -DDEBUGGING -g usersub.c
- --- 1,10 ----
- ! SRC = ..
- GLOBINCS =
- LOCINCS =
- ! LIBS = -lcurses -ltermlib `. $(SRC)/config.sh; echo $$libs`
-
- curseperl: $(SRC)/uperl.o usersub.o curses.o
- ! cc $(SRC)/uperl.o usersub.o curses.o $(LIBS) -o curseperl
-
- usersub.o: usersub.c
- cc -c -I$(SRC) $(GLOBINCS) -DDEBUGGING -g usersub.c
-
- Index: Makefile.SH
- *** Makefile.SH.old Fri Jun 7 12:22:33 1991
- --- Makefile.SH Fri Jun 7 12:22:34 1991
- ***************
- *** 25,33 ****
-
- echo "Extracting Makefile (with variable substitutions)"
- cat >Makefile <<!GROK!THIS!
- ! # $RCSfile: Makefile.SH,v $$Revision: 4.0.1.1 $$Date: 91/04/11 17:30:39 $
- #
- # $Log: Makefile.SH,v $
- # Revision 4.0.1.1 91/04/11 17:30:39 lwall
- # patch1: C flags are now settable on a per-file basis
- #
- --- 25,39 ----
-
- echo "Extracting Makefile (with variable substitutions)"
- cat >Makefile <<!GROK!THIS!
- ! # $RCSfile: Makefile.SH,v $$Revision: 4.0.1.2 $$Date: 91/06/07 10:14:43 $
- #
- # $Log: Makefile.SH,v $
- + # Revision 4.0.1.2 91/06/07 10:14:43 lwall
- + # patch4: cflags now emits entire cc command except for the filename
- + # patch4: alternate make programs are now semi-supported
- + # patch4: uperl.o no longer tries to link in libraries prematurely
- + # patch4: installperl now installs x2p stuff too
- + #
- # Revision 4.0.1.1 91/04/11 17:30:39 lwall
- # patch1: C flags are now settable on a per-file basis
- #
- ***************
- *** 55,72 ****
-
- public = perl taintperl $suidperl
-
- !GROK!THIS!
-
- cat >>Makefile <<'!NO!SUBS!'
-
- ! CFLAGS = `sh cflags.SH $@`
-
- private =
-
- scripts = h2ph
-
- - MAKE = make
- -
- manpages = perl.man h2ph.man
-
- util =
- --- 61,79 ----
-
- public = perl taintperl $suidperl
-
- + # To use an alternate make, set $altmake in config.sh.
- + MAKE = ${altmake-make}
- +
- !GROK!THIS!
-
- cat >>Makefile <<'!NO!SUBS!'
-
- ! CCCMD = `sh cflags $@`
-
- private =
-
- scripts = h2ph
-
- manpages = perl.man h2ph.man
-
- util =
- ***************
- *** 104,110 ****
- SHELL = /bin/sh
-
- .c.o:
- ! $(CC) -c $(CFLAGS) $*.c
-
- all: $(public) $(private) $(util) uperl.o $(scripts)
- cd x2p; $(MAKE) all
- --- 111,117 ----
- SHELL = /bin/sh
-
- .c.o:
- ! $(CCCMD) $*.c
-
- all: $(public) $(private) $(util) uperl.o $(scripts)
- cd x2p; $(MAKE) all
- ***************
- *** 119,125 ****
- $(CC) $(LARGE) $(CLDFLAGS) $(obj) perly.o usersub.o $(libs) -o perl
-
- uperl.o: $& perly.o $(obj)
- ! -ld $(LARGE) $(LDFLAGS) -r $(obj) perly.o $(libs) -o uperl.o
-
- saber: perly.c
- # load $(c) perly.c
- --- 126,132 ----
- $(CC) $(LARGE) $(CLDFLAGS) $(obj) perly.o usersub.o $(libs) -o perl
-
- uperl.o: $& perly.o $(obj)
- ! -ld $(LARGE) $(LDFLAGS) -r $(obj) perly.o -o uperl.o
-
- saber: perly.c
- # load $(c) perly.c
- ***************
- *** 147,267 ****
- tperly.o: perly.c perly.h $(h)
- /bin/rm -f tperly.c
- $(SLN) perly.c tperly.c
- ! $(CC) -c -DTAINT $(CFLAGS) tperly.c
- /bin/rm -f tperly.c
-
- tperl.o: perl.c perly.h patchlevel.h perl.h $(h)
- /bin/rm -f tperl.c
- $(SLN) perl.c tperl.c
- ! $(CC) -c -DTAINT $(CFLAGS) tperl.c
- /bin/rm -f tperl.c
-
- sperl.o: perl.c perly.h patchlevel.h $(h)
- /bin/rm -f sperl.c
- $(SLN) perl.c sperl.c
- ! $(CC) -c -DTAINT -DIAMSUID $(CFLAGS) sperl.c
- /bin/rm -f sperl.c
-
- tarray.o: array.c $(h)
- /bin/rm -f tarray.c
- $(SLN) array.c tarray.c
- ! $(CC) -c -DTAINT $(CFLAGS) tarray.c
- /bin/rm -f tarray.c
-
- tcmd.o: cmd.c $(h)
- /bin/rm -f tcmd.c
- $(SLN) cmd.c tcmd.c
- ! $(CC) -c -DTAINT $(CFLAGS) tcmd.c
- /bin/rm -f tcmd.c
-
- tcons.o: cons.c $(h) perly.h
- /bin/rm -f tcons.c
- $(SLN) cons.c tcons.c
- ! $(CC) -c -DTAINT $(CFLAGS) tcons.c
- /bin/rm -f tcons.c
-
- tconsarg.o: consarg.c $(h)
- /bin/rm -f tconsarg.c
- $(SLN) consarg.c tconsarg.c
- ! $(CC) -c -DTAINT $(CFLAGS) tconsarg.c
- /bin/rm -f tconsarg.c
-
- tdoarg.o: doarg.c $(h)
- /bin/rm -f tdoarg.c
- $(SLN) doarg.c tdoarg.c
- ! $(CC) -c -DTAINT $(CFLAGS) tdoarg.c
- /bin/rm -f tdoarg.c
-
- tdoio.o: doio.c $(h)
- /bin/rm -f tdoio.c
- $(SLN) doio.c tdoio.c
- ! $(CC) -c -DTAINT $(CFLAGS) tdoio.c
- /bin/rm -f tdoio.c
-
- tdolist.o: dolist.c $(h)
- /bin/rm -f tdolist.c
- $(SLN) dolist.c tdolist.c
- ! $(CC) -c -DTAINT $(CFLAGS) tdolist.c
- /bin/rm -f tdolist.c
-
- tdump.o: dump.c $(h)
- /bin/rm -f tdump.c
- $(SLN) dump.c tdump.c
- ! $(CC) -c -DTAINT $(CFLAGS) tdump.c
- /bin/rm -f tdump.c
-
- teval.o: eval.c $(h)
- /bin/rm -f teval.c
- $(SLN) eval.c teval.c
- ! $(CC) -c -DTAINT $(CFLAGS) teval.c
- /bin/rm -f teval.c
-
- tform.o: form.c $(h)
- /bin/rm -f tform.c
- $(SLN) form.c tform.c
- ! $(CC) -c -DTAINT $(CFLAGS) tform.c
- /bin/rm -f tform.c
-
- thash.o: hash.c $(h)
- /bin/rm -f thash.c
- $(SLN) hash.c thash.c
- ! $(CC) -c -DTAINT $(CFLAGS) thash.c
- /bin/rm -f thash.c
-
- tregcomp.o: regcomp.c $(h)
- /bin/rm -f tregcomp.c
- $(SLN) regcomp.c tregcomp.c
- ! $(CC) -c -DTAINT $(CFLAGS) tregcomp.c
- /bin/rm -f tregcomp.c
-
- tregexec.o: regexec.c $(h)
- /bin/rm -f tregexec.c
- $(SLN) regexec.c tregexec.c
- ! $(CC) -c -DTAINT $(CFLAGS) tregexec.c
- /bin/rm -f tregexec.c
-
- tstab.o: stab.c $(h)
- /bin/rm -f tstab.c
- $(SLN) stab.c tstab.c
- ! $(CC) -c -DTAINT $(CFLAGS) tstab.c
- /bin/rm -f tstab.c
-
- tstr.o: str.c $(h) perly.h
- /bin/rm -f tstr.c
- $(SLN) str.c tstr.c
- ! $(CC) -c -DTAINT $(CFLAGS) tstr.c
- /bin/rm -f tstr.c
-
- ttoke.o: toke.c $(h) perly.h
- /bin/rm -f ttoke.c
- $(SLN) toke.c ttoke.c
- ! $(CC) -c -DTAINT $(CFLAGS) ttoke.c
- /bin/rm -f ttoke.c
-
- tutil.o: util.c $(h)
- /bin/rm -f tutil.c
- $(SLN) util.c tutil.c
- ! $(CC) -c -DTAINT $(CFLAGS) tutil.c
- /bin/rm -f tutil.c
-
- perly.h: perly.c
- --- 154,274 ----
- tperly.o: perly.c perly.h $(h)
- /bin/rm -f tperly.c
- $(SLN) perly.c tperly.c
- ! $(CCCMD) -DTAINT tperly.c
- /bin/rm -f tperly.c
-
- tperl.o: perl.c perly.h patchlevel.h perl.h $(h)
- /bin/rm -f tperl.c
- $(SLN) perl.c tperl.c
- ! $(CCCMD) -DTAINT tperl.c
- /bin/rm -f tperl.c
-
- sperl.o: perl.c perly.h patchlevel.h $(h)
- /bin/rm -f sperl.c
- $(SLN) perl.c sperl.c
- ! $(CCCMD) -DTAINT -DIAMSUID sperl.c
- /bin/rm -f sperl.c
-
- tarray.o: array.c $(h)
- /bin/rm -f tarray.c
- $(SLN) array.c tarray.c
- ! $(CCCMD) -DTAINT tarray.c
- /bin/rm -f tarray.c
-
- tcmd.o: cmd.c $(h)
- /bin/rm -f tcmd.c
- $(SLN) cmd.c tcmd.c
- ! $(CCCMD) -DTAINT tcmd.c
- /bin/rm -f tcmd.c
-
- tcons.o: cons.c $(h) perly.h
- /bin/rm -f tcons.c
- $(SLN) cons.c tcons.c
- ! $(CCCMD) -DTAINT tcons.c
- /bin/rm -f tcons.c
-
- tconsarg.o: consarg.c $(h)
- /bin/rm -f tconsarg.c
- $(SLN) consarg.c tconsarg.c
- ! $(CCCMD) -DTAINT tconsarg.c
- /bin/rm -f tconsarg.c
-
- tdoarg.o: doarg.c $(h)
- /bin/rm -f tdoarg.c
- $(SLN) doarg.c tdoarg.c
- ! $(CCCMD) -DTAINT tdoarg.c
- /bin/rm -f tdoarg.c
-
- tdoio.o: doio.c $(h)
- /bin/rm -f tdoio.c
- $(SLN) doio.c tdoio.c
- ! $(CCCMD) -DTAINT tdoio.c
- /bin/rm -f tdoio.c
-
- tdolist.o: dolist.c $(h)
- /bin/rm -f tdolist.c
- $(SLN) dolist.c tdolist.c
- ! $(CCCMD) -DTAINT tdolist.c
- /bin/rm -f tdolist.c
-
- tdump.o: dump.c $(h)
- /bin/rm -f tdump.c
- $(SLN) dump.c tdump.c
- ! $(CCCMD) -DTAINT tdump.c
- /bin/rm -f tdump.c
-
- teval.o: eval.c $(h)
- /bin/rm -f teval.c
- $(SLN) eval.c teval.c
- ! $(CCCMD) -DTAINT teval.c
- /bin/rm -f teval.c
-
- tform.o: form.c $(h)
- /bin/rm -f tform.c
- $(SLN) form.c tform.c
- ! $(CCCMD) -DTAINT tform.c
- /bin/rm -f tform.c
-
- thash.o: hash.c $(h)
- /bin/rm -f thash.c
- $(SLN) hash.c thash.c
- ! $(CCCMD) -DTAINT thash.c
- /bin/rm -f thash.c
-
- tregcomp.o: regcomp.c $(h)
- /bin/rm -f tregcomp.c
- $(SLN) regcomp.c tregcomp.c
- ! $(CCCMD) -DTAINT tregcomp.c
- /bin/rm -f tregcomp.c
-
- tregexec.o: regexec.c $(h)
- /bin/rm -f tregexec.c
- $(SLN) regexec.c tregexec.c
- ! $(CCCMD) -DTAINT tregexec.c
- /bin/rm -f tregexec.c
-
- tstab.o: stab.c $(h)
- /bin/rm -f tstab.c
- $(SLN) stab.c tstab.c
- ! $(CCCMD) -DTAINT tstab.c
- /bin/rm -f tstab.c
-
- tstr.o: str.c $(h) perly.h
- /bin/rm -f tstr.c
- $(SLN) str.c tstr.c
- ! $(CCCMD) -DTAINT tstr.c
- /bin/rm -f tstr.c
-
- ttoke.o: toke.c $(h) perly.h
- /bin/rm -f ttoke.c
- $(SLN) toke.c ttoke.c
- ! $(CCCMD) -DTAINT ttoke.c
- /bin/rm -f ttoke.c
-
- tutil.o: util.c $(h)
- /bin/rm -f tutil.c
- $(SLN) util.c tutil.c
- ! $(CCCMD) -DTAINT tutil.c
- /bin/rm -f tutil.c
-
- perly.h: perly.c
- ***************
- *** 268,287 ****
- @ echo Dummy dependency for dumb parallel make
- touch perly.h
-
- ! perly.c: perly.y
- @ echo 'Expect either' 29 shift/reduce and 59 reduce/reduce conflicts...
- @ echo ' or' 27 shift/reduce and 61 reduce/reduce conflicts...
- $(YACC) -d perly.y
- ! sh perly.fixer y.tab.c perly.c
- mv y.tab.h perly.h
- echo 'extern YYSTYPE yylval;' >>perly.h
-
- perly.o: perly.c perly.h $(h)
- ! $(CC) -c $(CFLAGS) perly.c
-
- install: all
- ./perl installperl
- - cd x2p; $(MAKE) install
-
- clean:
- rm -f *.o all perl taintperl suidperl
- --- 275,293 ----
- @ echo Dummy dependency for dumb parallel make
- touch perly.h
-
- ! perly.c: perly.y perly.fixer
- @ echo 'Expect either' 29 shift/reduce and 59 reduce/reduce conflicts...
- @ echo ' or' 27 shift/reduce and 61 reduce/reduce conflicts...
- $(YACC) -d perly.y
- ! sh ./perly.fixer y.tab.c perly.c
- mv y.tab.h perly.h
- echo 'extern YYSTYPE yylval;' >>perly.h
-
- perly.o: perly.c perly.h $(h)
- ! $(CCCMD) perly.c
-
- install: all
- ./perl installperl
-
- clean:
- rm -f *.o all perl taintperl suidperl
- ***************
- *** 291,297 ****
- cd x2p; $(MAKE) realclean
- rm -f *.orig */*.orig *~ */*~ core $(addedbyconf) h2ph h2ph.man
- rm -f perly.c perly.h t/perl Makefile config.h makedepend makedir
- ! rm -f x2p/Makefile
-
- # The following lint has practically everything turned on. Unfortunately,
- # you have to wade through a lot of mumbo jumbo that can't be suppressed.
- --- 297,303 ----
- cd x2p; $(MAKE) realclean
- rm -f *.orig */*.orig *~ */*~ core $(addedbyconf) h2ph h2ph.man
- rm -f perly.c perly.h t/perl Makefile config.h makedepend makedir
- ! rm -f makefile x2p/Makefile x2p/makefile cflags x2p/cflags
-
- # The following lint has practically everything turned on. Unfortunately,
- # you have to wade through a lot of mumbo jumbo that can't be suppressed.
-
- *** End of Patch 4 ***
- exit 0 # Just in case...
- --
- Kent Landfield INTERNET: kent@sparky.IMD.Sterling.COM
- Sterling Software, IMD UUCP: uunet!sparky!kent
- Phone: (402) 291-8300 FAX: (402) 291-4362
- Please send comp.sources.misc-related mail to kent@uunet.uu.net.
-