X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Configure;h=a34a5db6f4c4925dfa8017db9f708645d3ffdf06;hb=1d603a678689f1e74cf73914a432b2a8d38be470;hp=36f612cba3832ad5c5c0a9f844c76bc94b91c46c;hpb=a4f3eea9be6bcf3c1a2f99ac49d0585bf5fe8789;p=p5sagit%2Fp5-mst-13.2.git diff --git a/Configure b/Configure index 36f612c..a34a5db 100755 --- a/Configure +++ b/Configure @@ -14,13 +14,13 @@ # (Note: this Configure script was generated automatically. Rather than # working with this copy of Configure, you may wish to get metaconfig. # The dist-3.0 package (which contains metaconfig) was posted in -# comp.sources.misc so you may fetch it yourself from your nearest -# archive site. Check with Archie if you don't know where that can be.) +# comp.sources.misc and is available on CPAN under authors/id/RAM so +# you may fetch it yourself from your nearest archive site.) # -# $Id: Head.U,v 3.0.1.8 1995/07/25 13:40:02 ram Exp $ +# $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $ # -# Generated on Thu Oct 10 15:08:34 EDT 1996 [metaconfig 3.0 PL60] +# Generated on Wed Feb 25 16:44:06 EST 1998 [metaconfig 3.0 PL70] cat >/tmp/c1$$ </dev/null 2>&1; then + inksh=true fi - -: On HP-UX, large Configure scripts may exercise a bug in /bin/sh if test -f /hp-ux -a -f /bin/ksh; then - if (PATH=.; alias -x) >/dev/null 2>&1; then - : already under /bin/ksh - else - cat <<'EOM' -(Feeding myself to ksh to avoid nasty sh bug in "here document" expansion.) -EOM - unset ENV - exec /bin/ksh $0 "$@" + needksh='to avoid sh bug in "here document" expansion' +fi +if test -d /usr/lpp -a -f /usr/bin/bsh -a -f /usr/bin/uname; then + if test X`/usr/bin/uname -v` = X4; then + avoidksh="to avoid AIX 4's /bin/sh" + newsh=/usr/bin/bsh fi -else - : Warn them if they use ksh on other systems - (PATH=.; alias -x) >/dev/null 2>&1 && \ +fi +case "$inksh/$needksh" in +/[a-z]*) + unset ENV + changesh=true + reason="$needksh" + ;; +esac +case "$inksh/$avoidksh" in +true/[a-z]*) + changesh=true + reason="$avoidksh" + ;; +esac +case "$inksh/$needksh-$avoidksh-" in +true/--) cat <&2 $me: Fatal Error: I can't find a Bourne Shell anywhere. + Usually it's in /bin/sh. How did you even get this far? Please contact me (Andy Dougherty) at doughera@lafcol.lafayette.edu and -we'll try to straigten this all out. +we'll try to straighten this all out. EOM exit 1 ;; @@ -780,7 +831,6 @@ esac if `$sh -c '#' >/dev/null 2>&1`; then shsharp=true spitshell=cat - echo " " xcat=/bin/cat test -f $xcat || xcat=/usr/bin/cat echo "#!$xcat" >try @@ -797,12 +847,11 @@ if `$sh -c '#' >/dev/null 2>&1`; then if test -s today; then sharpbang='#! ' else - echo "Okay, let's see if #! works on this system..." - echo "It's just a comment." sharpbang=': use ' fi fi else + echo " " echo "Your $sh doesn't grok # comments--I will strip them later on." shsharp=false cd .. @@ -832,60 +881,11 @@ $eunicefix try if ./try; then : echo "Yup, it does." else - echo "Hmm. '$startsh' didn't work." - echo "You may have to fix up the shell scripts to make sure sh runs them." + echo "Hmm... '$startsh' does not guarantee sh startup..." + echo "You may have to fix up the shell scripts to make sure $sh runs them." fi rm -f try -: script used to extract .SH files with variable substitutions -cat >extract <>extract <<'EOS' -CONFIG=true -echo "Doing variable substitutions on .SH files..." -if test -f MANIFEST; then - shlist=`awk '{print $1}' options.awk <<'EOF' BEGIN { @@ -950,6 +950,10 @@ extractsh='' override='' knowitall='' rm -f optdef.sh +cat >optdef.sh <&2 + -V) echo "$me generated by metaconfig 3.0 PL70." >&2 exit 0;; --) break;; -*) echo "$me: unknown option $1" >&2; shift; error=true;; @@ -1034,6 +1038,17 @@ EOM ;; esac +: Sanity checks +case "$fastread$alldone" in +yescont|yesexit) ;; +*) + if test ! -t 0; then + echo "Say 'sh Configure', not 'sh &1 case "$silent" in true) exec 1>/dev/null;; @@ -1043,26 +1058,6 @@ esac touch optdef.sh . ./optdef.sh -case "$extractsh" in -true) - case "$config_sh" in - '') config_sh='config.sh'; config='./config.sh';; - /*) config="$config_sh";; - *) config="./$config_sh";; - esac - echo " " - echo "Fetching answers from $config_sh..." - cd .. - . $config - test "$override" && . ./optdef.sh - echo " " - . ./UU/extract - rm -rf UU - echo "Done." - exit 0 - ;; -esac - : set package name package=perl5 first=`echo $package | sed -e 's/^\(.\).*/\1/'` @@ -1072,13 +1067,6 @@ ABYZ) spackage=`echo $first | tr '[:lower:]' '[:upper:]'`$last;; *) spackage=`echo $first | tr '[a-z]' '[A-Z]'`$last;; esac -: Eunice requires " " instead of "", can you believe it -echo " " -: Here we go... -echo "Beginning of configuration questions for $package." - -trap 'echo " "; test -d ../UU && rm -rf X $rmlist; exit 1' 1 2 3 15 - : Some greps do not return status, grrr. echo "grimblepritz" >grimble if grep blurfldyick grimble >/dev/null 2>&1 ; then @@ -1100,6 +1088,152 @@ EOSS chmod +x contains esac +: Find the path to the source tree +case "$src" in +'') case "$0" in + */*) src=`echo $0 | sed -e 's%/[^/][^/]*$%%'`;; + *) src='.';; + esac;; +esac +case "$src" in +'') src=/ + rsrc=/ + ;; +/*) rsrc="$src";; +*) rsrc="../$src";; +esac +if test -f $rsrc/Configure && \ + $contains "^package=$package$" $rsrc/Configure >/dev/null 2>&1 +then + : found it, so we are ok. +else + rsrc='' + for src in . .. ../.. ../../.. ../../../..; do + if test -f ../$src/Configure && \ + $contains "^package=$package$" ../$src/Configure >/dev/null 2>&1 + then + rsrc=../$src + break + fi + done +fi +case "$rsrc" in +'') + cat <&4 + +Sorry, I can't seem to locate the source dir for $package. Please start +Configure with an explicit path -- i.e. /some/path/Configure. + +EOM + exit 1 + ;; +../.) rsrc='..';; +*) + echo " " + echo "Sources for $package found in \"$src\"." >&4 + ;; +esac + +: script used to extract .SH files with variable substitutions +cat >extract <<'EOS' +CONFIG=true +echo "Doing variable substitutions on .SH files..." +if test -f $src/MANIFEST; then + set x `awk '{print $1}' <$src/MANIFEST | grep '\.SH'` +else + echo "(Looking for .SH files under the source directory.)" + set x `(cd $src; find . -name "*.SH" -print)` +fi +shift +case $# in +0) set x `(cd $src; echo *.SH)`; shift;; +esac +if test ! -f $src/$1; then + shift +fi +mkdir_p=' +name=$1; +create=""; +while test $name; do + if test ! -d "$name"; then + create="$name $create"; + name=`echo $name | sed -e "s|^[^/]*$||"`; + name=`echo $name | sed -e "s|\(.*\)/.*|\1|"`; + else + name=""; + fi; +done; +for file in $create; do + mkdir $file; +done +' +for file in $*; do + case "$src" in + ".") + case "$file" in + */*) + dir=`expr X$file : 'X\(.*\)/'` + file=`expr X$file : 'X.*/\(.*\)'` + (cd $dir && . ./$file) + ;; + *) + . ./$file + ;; + esac + ;; + *) + case "$file" in + */*) + dir=`expr X$file : 'X\(.*\)/'` + file=`expr X$file : 'X.*/\(.*\)'` + (set x $dir; shift; eval $mkdir_p) + sh <$src/$dir/$file + ;; + *) + sh <$src/$file + ;; + esac + ;; + esac +done +if test -f $src/config_h.SH; then + if test ! -f config.h; then + : oops, they left it out of MANIFEST, probably, so do it anyway. + . $src/config_h.SH + fi +fi +EOS + +: extract files and exit if asked to do so +case "$extractsh" in +true) + case "$realsilent" in + true) ;; + *) exec 1>&4;; + esac + case "$config_sh" in + '') config_sh='config.sh';; + esac + echo " " + echo "Fetching answers from $config_sh..." + cd .. + . $config_sh + test "$override" && . ./optdef.sh + echo " " + . UU/extract + rm -rf UU + echo "Done." + exit 0 + ;; +esac + +: Eunice requires " " instead of "", can you believe it +echo " " +: Here we go... +echo "Beginning of configuration questions for $package." + +trap 'echo " "; test -d ../UU && rm -rf X $rmlist; exit 1' 1 2 3 15 + : first determine how to suppress newline on echo command echo " " echo "Checking echo to see how to suppress newlines..." @@ -1121,12 +1255,13 @@ rm -f .echotmp : Now test for existence of everything in MANIFEST echo " " -if test -f ../MANIFEST; then +if test -f $rsrc/MANIFEST; then echo "First let's make sure your kit is complete. Checking..." >&4 - awk '$1 !~ /PACK[A-Z]+/ {print $1}' ../MANIFEST | split -50 + awk '$1 !~ /PACK[A-Z]+/ {print $1}' $rsrc/MANIFEST | split -50 rm -f missing + tmppwd=`pwd` for filelist in x??; do - (cd ..; ls `cat UU/$filelist` >/dev/null 2>>UU/missing) + (cd $rsrc; ls `cat $tmppwd/$filelist` >/dev/null 2>>$tmppwd/missing) done if test -s missing; then cat missing >&4 @@ -1153,7 +1288,7 @@ EOM ;; esac else - echo "Looks good..." >&4 + echo "Looks good..." fi else echo "There is no MANIFEST file. I hope your kit is complete !" @@ -1183,6 +1318,7 @@ esac" : now set up to do reads with possible shell escape and default assignment cat <myread +$startsh xxxm=\$dflt $myecho ans='!' @@ -1205,8 +1341,20 @@ while expr "X\$ans" : "X!" >/dev/null; do read answ set x \$xxxm shift - aok=''; eval "ans=\"\$answ\"" && aok=y + aok=''; eval "ans=\\"\$answ\\"" && aok=y case "\$answ" in + "!") + sh 1>&4 + echo " " + $myecho + ;; + !*) + set x \`expr "X\$ans" : "X!\(.*\)\$"\` + shift + sh 1>&4 -c "\$*" + echo " " + $myecho + ;; "\$ans") case "\$ans" in \\&*) @@ -1224,18 +1372,6 @@ while expr "X\$ans" : "X!" >/dev/null; do $myecho ans=! ;; - "!") - sh 1>&4 - echo " " - $myecho - ;; - !*) - set x \`expr "X\$ans" : "X!\(.*\)\$"\` - shift - sh 1>&4 -c "\$*" - echo " " - $myecho - ;; esac;; *) case "\$aok" in @@ -1270,7 +1406,7 @@ EOSC test -d ../.config || mkdir ../.config cat >../.config/README </dev/null` -case "$user" in "") - user=`whoami 2>&1` ;; +case "$user" in +'') user=`whoami 2>&1`;; esac if $contains "^$user\$" ../.config/instruct >/dev/null 2>&1; then firsttime=false @@ -1295,7 +1431,7 @@ if $contains "^$user\$" ../.config/instruct >/dev/null 2>&1; then fi if $needman; then cat <&4 + xxx=`./loc $file $file $pth` + fi + ;; + '') xxx=`./loc $file $file $pth`;; + *) xxx=`./loc $xxx $xxx $pth`;; + esac eval $file=$xxx eval _$file=$xxx case "$xxx" in @@ -1460,7 +1610,19 @@ echo " " echo "Don't worry if any of the following aren't found..." say=offhand for file in $trylist; do - xxx=`./loc $file $file $pth` + eval xxx=\$$file + case "$xxx" in + /*|?:[\\/]*) + if test -f "$xxx"; then + : ok + else + echo "WARNING: no $xxx -- ignoring your setting for $file." >&4 + xxx=`./loc $file $file $pth` + fi + ;; + '') xxx=`./loc $file $file $pth`;; + *) xxx=`./loc $xxx $xxx $pth`;; + esac eval $file=$xxx eval _$file=$xxx case "$xxx" in @@ -1621,10 +1783,11 @@ fi if test ! -f config.sh; then $cat <&4 + (cd $src/hints; ls -C *.sh) | $sed 's/\.sh/ /g' >&4 dflt='' : Half the following guesses are probably wrong... If you have better : tests or hints, please send them to doughera@lafcol.lafayette.edu @@ -1633,7 +1796,9 @@ EOM $test -f /xenix && osname=sco_xenix $test -f /dynix && osname=dynix $test -f /dnix && osname=dnix - $test -f /unicos && osname=unicos && osvers=`$uname -r` + $test -f /lynx.os && osname=lynxos + $test -f /unicos && osname=unicos && osvers=`$uname -r` + $test -f /unicosmk.ar && osname=unicosmk && osvers=`$uname -r` $test -f /bin/mips && /bin/mips && osname=mips $test -d /NextApps && set X `hostinfo | grep 'NeXT Mach.*:' | \ $sed -e 's/://' -e 's/\./_/'` && osname=next && osvers=$4 @@ -1641,12 +1806,12 @@ EOM $test -f /etc/saf/_sactab && osname=svr4 $test -d /usr/include/minix && osname=minix if $test -d /MachTen; then - osname=machten + osname=machten if $test -x /sbin/version; then - osvers=`/sbin/version | $awk '{print $2}' | + osvers=`/sbin/version | $awk '{print $2}' | $sed -e 's/[A-Za-z]$//'` elif $test -x /usr/etc/version; then - osvers=`/usr/etc/version | $awk '{print $2}' | + osvers=`/usr/etc/version | $awk '{print $2}' | $sed -e 's/[A-Za-z]$//'` else osvers="$2.$3" @@ -1665,7 +1830,6 @@ EOM esac;; [23]100) osname=mips ;; next*) osname=next ;; - news*) osname=news ;; i386*) if $test -f /etc/kconfig; then osname=isc @@ -1691,6 +1855,9 @@ EOM *) osvers=$tmp;; esac ;; + *dc.osx) osname=dcosx + osvers="$3" + ;; dnix) osname=dnix osvers="$3" ;; @@ -1723,16 +1890,25 @@ EOM ;; linux) osname=linux case "$3" in - 1*) osvers=1 ;; *) osvers="$3" ;; esac ;; netbsd*) osname=netbsd osvers="$3" ;; + news-os) osvers="$3" + case "$3" in + 4*) osname=newsos4 ;; + *) osname=newsos ;; + esac + ;; bsd386) osname=bsd386 osvers=`$uname -r` ;; + powerux | power_ux | powermax_os | powermaxos | \ + powerunix | power_unix) osname=powerux + osvers="$3" + ;; next*) osname=next ;; solaris) osname=solaris case "$3" in @@ -1759,10 +1935,10 @@ EOM ultrix) osname=ultrix osvers="$3" ;; - osf1) case "$5" in + osf1|mls+) case "$5" in alpha) osname=dec_osf - osvers=`echo "$3" | sed 's/^[vt]//'` + osvers=`echo "$3" | sed 's/^[xvt]//'` ;; hp*) osname=hp_osf1 ;; mips) osname=mips_osf1 ;; @@ -1771,10 +1947,13 @@ EOM uts) osname=uts osvers="$3" ;; + qnx) osname=qnx + osvers="$4" + ;; $2) case "$osname" in *isc*) ;; *freebsd*) ;; - svr*) + svr*) : svr4.x or possibly later case "svr$3" in ${osname}*) @@ -1827,16 +2006,20 @@ EOM ;; esac else - if test -f /vmunix -a -f news_os.sh; then - (what /vmunix | ../UU/tr '[A-Z]' '[a-z]') > ../UU/kernel.what 2>&1 - if $contains news-os ../UU/kernel.what >/dev/null 2>&1; then + if test -f /vmunix -a -f $src/hints/news_os.sh; then + (what /vmunix | UU/tr '[A-Z]' '[a-z]') > UU/kernel.what 2>&1 + if $contains news-os UU/kernel.what >/dev/null 2>&1; then osname=news_os fi - $rm -f ../UU/kernel.what + $rm -f UU/kernel.what elif test -d c:/.; then set X $myuname osname=os2 osvers="$5" + if test -n "$DJDIR"; then + osname=dos + osvers=djgpp + fi fi fi @@ -1855,17 +2038,17 @@ EOM *) case "$osvers" in '') dflt=$file ;; - *) if $test -f $file.sh ; then + *) if $test -f $src/hints/$file.sh ; then dflt=$file - elif $test -f $xfile.sh ; then + elif $test -f $src/hints/$xfile.sh ; then dflt=$xfile - elif $test -f $xxfile.sh ; then + elif $test -f $src/hints/$xxfile.sh ; then dflt=$xxfile - elif $test -f $xxxfile.sh ; then + elif $test -f $src/hints/$xxxfile.sh ; then dflt=$xxxfile - elif $test -f $xxxxfile.sh ; then + elif $test -f $src/hints/$xxxxfile.sh ; then dflt=$xxxxfile - elif $test -f "${osname}.sh" ; then + elif $test -f "$src/hints/${osname}.sh" ; then dflt="${osname}" else dflt=none @@ -1874,25 +2057,46 @@ EOM esac ;; esac + if $test -f Policy.sh ; then + case "$dflt" in + *Policy*) ;; + none) dflt="Policy" ;; + *) dflt="Policy $dflt" ;; + esac + fi ;; *) dflt=`echo $hintfile | $sed 's/\.sh$//'` ;; esac + if $test -f Policy.sh ; then + $cat <> ../UU/config.sh + if $test X$file = XPolicy -a -f Policy.sh; then + . Policy.sh + $cat Policy.sh >> UU/config.sh + elif $test -f $src/hints/$file.sh; then + . $src/hints/$file.sh + $cat $src/hints/$file.sh >> UU/config.sh elif $test X$tans = X -o X$tans = Xnone ; then : nothing else @@ -1900,11 +2104,11 @@ EOM echo "$file.sh does not exist" dflt=$file rp="hint to use instead?" - . ../UU/myread + . UU/myread for file in $ans; do - if $test -f "$file.sh"; then - . ./$file.sh - $cat $file.sh >> ../UU/config.sh + if $test -f "$src/hints/$file.sh"; then + . $src/hints/$file.sh + $cat $src/hints/$file.sh >> UU/config.sh elif $test X$ans = X -o X$ans = Xnone ; then : nothing else @@ -1916,13 +2120,11 @@ EOM hint=recommended : Remember our hint file for later. - if $test -f "$file.sh" ; then + if $test -f "$src/hints/$file.sh" ; then hintfile="$file" else hintfile='' fi - - cd .. fi cd UU ;; @@ -1995,25 +2197,68 @@ none) osvers='' ;; *) osvers="$ans" ;; esac - - : who configured the system -cf_time=`$date 2>&1` +cf_time=`LC_ALL=C; export LC_ALL; $date 2>&1` cf_by=`(logname) 2>/dev/null` -case "$cf_by" in "") +case "$cf_by" in +"") cf_by=`(whoami) 2>/dev/null` - case "$cf_by" in "") - cf_by=unknown ;; + case "$cf_by" in + "") cf_by=unknown ;; esac ;; esac +: set up the script used to warn in case of inconsistency +cat <whoa +$startsh +EOS +cat <<'EOSC' >>whoa +dflt=y +echo " " +echo "*** WHOA THERE!!! ***" >&4 +echo " The $hint value for \$$var on this machine was \"$was\"!" >&4 +rp=" Keep the $hint value?" +. ./myread +case "$ans" in +y) td=$was; tu=$was;; +esac +EOSC + +: function used to set $1 to $val +setvar='var=$1; eval "was=\$$1"; td=$define; tu=$undef; +case "$val$was" in +$define$undef) . ./whoa; eval "$var=\$td";; +$undef$define) . ./whoa; eval "$var=\$tu";; +*) eval "$var=$val";; +esac' + +cat < tmparch 2>&1 ; then - tarch=`$sed -e 's/ /_/g' -e 's/$/'"-$osname/" tmparch` + tarch=`$sed -e 's/ *$//' -e 's/ /_/g' \ + -e 's/$/'"-$osname/" tmparch` else tarch="$osname" fi @@ -2034,9 +2279,20 @@ case "$archname" in esac rp='What is your architecture name' . ./myread -archname="$ans" +case "$usethreads" in +$define) echo "Threads selected." >&4 + case "$ans" in + *-thread) echo "...and architecture name already ends in -thread." >&4 + archname="$ans" + ;; + *) archname="$ans-thread" + echo "...setting architecture name to $archname." >&4 + ;; + esac + ;; +*) archname="$ans" ;; +esac myarchname="$tarch" - : is AFS running? echo " " case "$afs" in @@ -2102,7 +2358,10 @@ chmod +x filexp $eunicefix filexp : now set up to get a file name -cat <<'EOSC' >getfile +cat <getfile +$startsh +EOS +cat <<'EOSC' >>getfile tilde='' fullpath='' already='' @@ -2416,14 +2675,21 @@ baserev=5.0 : get the patchlevel echo " " echo "Getting the current patchlevel..." >&4 -if $test -r ../patchlevel.h;then - patchlevel=`awk '/PATCHLEVEL/ {print $3}' ../patchlevel.h` - subversion=`awk '/SUBVERSION/ {print $3}' ../patchlevel.h` +if $test -r $rsrc/patchlevel.h;then + patchlevel=`awk '/PATCHLEVEL/ {print $3}' $rsrc/patchlevel.h` + subversion=`awk '/SUBVERSION/ {print $3}' $rsrc/patchlevel.h` else patchlevel=0 subversion=0 fi -echo "(You have $package $baserev patchlevel $patchlevel subversion $subversion.)" +$echo $n "(You have $package" $c +case "$package" in +"*$baserev") ;; +*) $echo $n " $baserev" $c ;; +esac +$echo $n " patchlevel $patchlevel" $c +test 0 -eq "$subversion" || $echo $n " subversion $subversion" $c +echo ".)" : set the prefixup variable, to restore leading tilda escape prefixup='case "$prefixexp" in @@ -2436,19 +2702,27 @@ set archlib archlib eval $prefixit case "$archlib" in '') - case "$privlib" in - '') dflt=`./loc . "." $prefixexp/lib /usr/local/lib /usr/lib /lib` - set dflt - eval $prefixup - ;; - *) version=`LC_ALL=C;export LC_ALL;\ - echo $baserev $patchlevel $subversion | \ - $awk '{print $1 + $2/1000.0 + $3/100000.0}'` - dflt="$privlib/$archname/$version" - ;; - esac + case "$privlib" in + '') dflt=`./loc . "." $prefixexp/lib /usr/local/lib /usr/lib /lib` + set dflt + eval $prefixup + ;; + *) if test 0 -eq "$subversion"; then + version=`LC_ALL=C; export LC_ALL; \ + echo $baserev $patchlevel | \ + $awk '{ printf "%.3f\n", $1 + $2/1000.0 }'` + else + version=`LC_ALL=C; export LC_ALL; \ + echo $baserev $patchlevel $subversion | \ + $awk '{ printf "%.5f\n", $1 + $2/1000.0 + $3/100000.0 }'` + fi + dflt="$privlib/$archname/$version" ;; -*) dflt="$archlib";; + esac + ;; +*) + dflt="$archlib" + ;; esac cat <whoa -dflt=y -echo " " -echo "*** WHOA THERE!!! ***" >&4 -echo " The $hint value for \$$var on this machine was \"$was\"!" >&4 -rp=" Keep the $hint value?" -. ./myread -case "$ans" in -y) td=$was; tu=$was;; -esac -EOSC - -: function used to set $1 to $val -setvar='var=$1; eval "was=\$$1"; td=$define; tu=$undef; -case "$val$was" in -$define$undef) . ./whoa; eval "$var=\$td";; -$undef$define) . ./whoa; eval "$var=\$tu";; -*) eval "$var=$val";; -esac' - : make some quick guesses about what we are up against echo " " $echo $n "Hmm... $c" @@ -2712,136 +2966,6 @@ esac set d_dosuid eval $setvar -: determine where site specific libraries go. -set sitelib sitelib -eval $prefixit -case "$sitelib" in -'') dflt="$privlib/site_perl" ;; -*) dflt="$sitelib" ;; -esac -$cat <&4 fi -: see what memory models we can support -case "$models" in -'') - $cat >pdp11.c <<'EOP' -main() { -#ifdef pdp11 - exit(0); -#else - exit(1); -#endif -} -EOP - cc -o pdp11 pdp11.c >/dev/null 2>&1 - if ./pdp11 2>/dev/null; then - dflt='unsplit split' - else - tans=`./loc . X /lib/small /lib/large /usr/lib/small /usr/lib/large /lib/medium /usr/lib/medium /lib/huge` - case "$tans" in - X) dflt='none';; - *) if $test -d /lib/small || $test -d /usr/lib/small; then - dflt='small' - else - dflt='' - fi - if $test -d /lib/medium || $test -d /usr/lib/medium; then - dflt="$dflt medium" - fi - if $test -d /lib/large || $test -d /usr/lib/large; then - dflt="$dflt large" - fi - if $test -d /lib/huge || $test -d /usr/lib/huge; then - dflt="$dflt huge" - fi - esac - fi;; -*) dflt="$models";; -esac +: determine where manual pages go +set man1dir man1dir none +eval $prefixit $cat </dev/null 2>&1 || \ - $contains '\-i' $sysman/cc.1 >/dev/null 2>&1; then - dflt='-i' - else +case "$nroff" in +nroff) + echo "However, you don't have nroff, so they're probably useless to you." + case "$man1dir" in + '') man1dir="none";; + esac;; +esac +echo "If you don't want the manual sources installed, answer 'none'." +case "$man1dir" in +' ') dflt=none + ;; +'') + lookpath="$prefixexp/man/man1 $prefixexp/man/l_man/man1" + lookpath="$lookpath $prefixexp/man/p_man/man1" + lookpath="$lookpath $prefixexp/man/u_man/man1" + lookpath="$lookpath $prefixexp/man/man.1" + case "$sysman" in + */?_man*) dflt=`./loc . $prefixexp/l_man/man1 $lookpath` ;; + *) dflt=`./loc . $prefixexp/man/man1 $lookpath` ;; + esac + set dflt + eval $prefixup + ;; +*) dflt="$man1dir" + ;; +esac +echo " " +fn=dn+~ +rp="Where do the main $spackage manual pages (source) go?" +. ./getfile +if $test "X$man1direxp" != "X$ansexp"; then + installman1dir='' +fi +man1dir="$ans" +man1direxp="$ansexp" +case "$man1dir" in +'') man1dir=' ' + installman1dir='';; +esac +if $afs; then + $cat <$first) 2>/dev/null; then + if $test -f 123456789abcde; then + echo 'You cannot have filenames longer than 14 characters. Sigh.' >&4 + val="$undef" + else + if (echo hi >$second) 2>/dev/null; then + if $test -f /tmp/cf$$/123456789abcde; then + $cat <<'EOM' +That's peculiar... You can have filenames longer than 14 characters, but only +on some of the filesystems. Maybe you are using NFS. Anyway, to avoid problems +I shall consider your system cannot support long filenames at all. +EOM + val="$undef" + else + echo 'You can have filenames longer than 14 characters.' >&4 + val="$define" + fi + else + $cat <<'EOM' +How confusing! Some of your filesystems are sane enough to allow filenames +longer than 14 characters but some others like /tmp can't even think about them. +So, for now on, I shall assume your kernel does not allow them at all. +EOM + val="$undef" + fi + fi +else + $cat <<'EOM' +You can't have filenames longer than 14 chars. You can't even think about them! +EOM + val="$undef" +fi +set d_flexfnam +eval $setvar +$rm -rf /tmp/cf$$ 123456789abcde* + +: determine where library module manual pages go +set man3dir man3dir none +eval $prefixit +$cat <pdp11.c <<'EOP' +main() { +#ifdef pdp11 + exit(0); +#else + exit(1); +#endif +} +EOP + ( cc -o pdp11 pdp11.c ) >/dev/null 2>&1 + if $test -f pdp11 && ./pdp11 2>/dev/null; then + dflt='unsplit split' + else + tans=`./loc . X /lib/small /lib/large /usr/lib/small /usr/lib/large /lib/medium /usr/lib/medium /lib/huge` + case "$tans" in + X) dflt='none';; + *) if $test -d /lib/small || $test -d /usr/lib/small; then + dflt='small' + else + dflt='' + fi + if $test -d /lib/medium || $test -d /usr/lib/medium; then + dflt="$dflt medium" + fi + if $test -d /lib/large || $test -d /usr/lib/large; then + dflt="$dflt large" + fi + if $test -d /lib/huge || $test -d /usr/lib/huge; then + dflt="$dflt huge" + fi + esac + fi;; +*) dflt="$models";; +esac +$cat </dev/null 2>&1 || \ + $contains '\-i' $sysman/cc.1 >/dev/null 2>&1; then + dflt='-i' + else dflt='none' fi;; *) dflt="$split";; @@ -3034,6 +3578,7 @@ none) echo "Unrecognized memory models--you may have to edit Makefile.SH" >&4 ;; esac +$rm -f pdp11.* pdp11 : see if we need a special compiler echo " " @@ -3145,13 +3690,13 @@ else fi chmod +x mips $eunicefix mips -echo " " case "$usrinc" in '') ;; *) dflt="$usrinc";; esac case "$xxx_prompt" in y) fn=d/ + echo " " rp='Where are the include files you want to use?' . ./getfile usrinc="$ans" @@ -3228,6 +3773,48 @@ rp='What is the file extension used for shared libraries?' . ./myread so="$ans" +: Define several unixisms. +: Hints files or command line option can be used to override them. +: The convoluted testing is in case hints files set either the old +: or the new name. +case "$_exe" in +'') case "$exe_ext" in + '') ;; + *) _exe="$exe_ext" ;; + esac + ;; +esac +case "$_a" in +'') case "$lib_ext" in + '') _a='.a';; + *) _a="$lib_ext" ;; + esac + ;; +esac +case "$_o" in +'') case "$obj_ext" in + '') _o='.o';; + *) _o="$obj_ext";; + esac + ;; +esac +case "$p_" in +'') case "$path_sep" in + '') p_=':';; + *) p_="$path_sep";; + esac + ;; +esac +exe_ext=$_exe +lib_ext=$_a +obj_ext=$_o +path_sep=$p_ + +: Which makefile gets called first. This is used by make depend. +case "$firstmakefile" in +'') firstmakefile='makefile';; +esac + : Looking for optional libraries echo " " echo "Checking for optional libraries..." >&4 @@ -3252,25 +3839,25 @@ for thislib in $libswanted; do *"-l$thislib "*);; *) dflt="$dflt -l$thislib";; esac - elif xxx=`./loc lib$thislib.a X $libpth`; $test -f "$xxx"; then + elif xxx=`./loc lib$thislib$_a X $libpth`; $test -f "$xxx"; then echo "Found -l$thislib." case " $dflt " in *"-l$thislib "*);; *) dflt="$dflt -l$thislib";; esac - elif xxx=`./loc $thislib.a X $libpth`; $test -f "$xxx"; then + elif xxx=`./loc $thislib$_a X $libpth`; $test -f "$xxx"; then echo "Found -l$thislib." case " $dflt " in *"-l$thislib "*);; *) dflt="$dflt -l$thislib";; esac - elif xxx=`./loc lib${thislib}_s.a X $libpth`; $test -f "$xxx"; then + elif xxx=`./loc lib${thislib}_s$_a X $libpth`; $test -f "$xxx"; then echo "Found -l${thislib}_s." case " $dflt " in *"-l$thislib "*);; *) dflt="$dflt -l${thislib}_s";; esac - elif xxx=`./loc Slib$thislib.a X $xlibpth`; $test -f "$xxx"; then + elif xxx=`./loc Slib$thislib$_a X $xlibpth`; $test -f "$xxx"; then echo "Found -l$thislib." case " $dflt " in *"-l$thislib "*);; @@ -3452,7 +4039,7 @@ $rm -f testcpp.c testcpp.out : determine optimize, if desired, or use for debug flag also case "$optimize" in -' ') dflt='none';; +' '|$undef) dflt='none';; '') dflt='-O';; *) dflt="$optimize";; esac @@ -3528,8 +4115,6 @@ if ./osf1; then else set signal.h LANGUAGE_C; eval $inctest fi -set signal.h NO_PROTOTYPE; eval $inctest -set signal.h _NO_PROTO; eval $inctest case "$hint" in none|recommended) dflt="$ccflags $dflt" ;; @@ -3545,8 +4130,7 @@ Your C compiler may want other flags. For this question you should include -I/whatever and -DWHATEVER flags and any other flags used by the C compiler, but you should NOT include libraries or ld flags like -lwhatever. If you want $package to honor its debug switch, you should include -DDEBUGGING here. -Your C compiler might also need additional flags, such as -D_POSIX_SOURCE, --DHIDEMYMALLOC or -DCRIPPLED_CC. +Your C compiler might also need additional flags, such as -D_POSIX_SOURCE. To use no flags, specify the word "none". @@ -3590,9 +4174,9 @@ EOM -*) ftry="$flag";; *) ftry="$previous $flag";; esac - if $cppstdin -DLFRULB=bar $ftry $cppminus cpp1.out 2>/dev/null && \ - $cpprun -DLFRULB=bar $ftry $cpplast cpp2.out 2>/dev/null && \ $contains 'foo.*xx.*bar' cpp1.out >/dev/null 2>&1 && \ $contains 'foo.*xx.*bar' cpp2.out >/dev/null 2>&1 @@ -3614,7 +4198,6 @@ EOM esac : flags used in final linking phase - case "$ldflags" in '') if ./venix; then dflt='-i -z' @@ -3669,7 +4252,7 @@ rmlist="$rmlist pdp11" : coherency check echo " " echo "Checking your choice of C compiler and flags for coherency..." >&4 -set X $cc $optimize $ccflags $ldflags try.c -o try +set X $cc $optimize $ccflags $ldflags -o try try.c $libs shift $cat >try.msg < try.c <<'EOF' #include -main() { exit(0); } +main() { printf("Ok\n"); exit(0); } EOF dflt=y -if sh -c "$cc $optimize $ccflags try.c -o try $ldflags" >>try.msg 2>&1; then +if sh -c "$cc $optimize $ccflags $ldflags -o try try.c $libs" >>try.msg 2>&1; then if sh -c './try' >>try.msg 2>&1; then - dflt=n + xxx=`./try` + case "$xxx" in + "Ok") dflt=n ;; + *) echo 'The program compiled OK, but produced no output.' >> try.msg + case " $libs " in + *" -lsfio "*) + cat >> try.msg <<'EOQS' +If $libs contains -lsfio, and sfio is mis-configured, then it +sometimes (apparently) runs and exits with a 0 status, but with no +output! It may have to do with sfio's use of _exit vs. exit. + +EOQS + rp="You have a big problem. Shall I abort Configure" + dflt=y + ;; + esac + ;; + esac else echo "The program compiled OK, but exited with status $?." >>try.msg rp="You have a problem. Shall I abort Configure" @@ -3700,7 +4300,7 @@ else fi case "$dflt" in y) - $cat try.msg + $cat try.msg >&4 case "$knowitall" in '') echo "(The supplied flags might be incorrect with this C compiler.)" @@ -3720,17 +4320,24 @@ n) echo "OK, that should do.";; esac $rm -f try try.* core +: define a shorthand compile call +compile=' +mc_file=$1; +shift; +$cc $optimize $ccflags $ldflags -o ${mc_file}$_exe $* ${mc_file}.c $libs > /dev/null 2>&1;' + echo " " echo "Checking for GNU C Library..." >&4 cat >gnulibc.c </dev/null 2>&1 && \ - ./gnulibc | $contains '^GNU C Library' >/dev/null 2>&1; then +set gnulibc +if eval $compile && \ + ./gnulibc | $contains '^GNU C Library' >/dev/null 2>&1; then val="$define" echo "You are using the GNU C Library" else @@ -3791,11 +4398,13 @@ esac : nm options which may be necessary case "$nm_opt" in '') if $test -f /mach_boot; then - nm_opt='' + nm_opt='' # Mach elif $test -d /usr/ccs/lib; then - nm_opt='-p' + nm_opt='-p' # Solaris (and SunOS?) elif $test -f /dgux; then - nm_opt='-p' + nm_opt='-p' # DG-UX + elif $test -f /lib64/rld; then + nm_opt='-p' # 64-bit Irix else nm_opt='' fi;; @@ -3821,7 +4430,7 @@ echo " " case "$libc" in '') libc=unknown case "$libs" in - *-lc_s*) libc=`./loc libc_s.a $libc $libpth` + *-lc_s*) libc=`./loc libc_s$_a $libc $libpth` esac ;; esac @@ -3839,13 +4448,15 @@ case "$libs" in : elif try=`./loc lib$thislib.$so X $libpth`; $test -f "$try"; then : - elif try=`./loc lib$thislib.a X $libpth`; $test -f "$try"; then + elif try=`./loc lib$thislib$_a X $libpth`; $test -f "$try"; then + : + elif try=`./loc $thislib$_a X $libpth`; $test -f "$try"; then : elif try=`./loc lib$thislib X $libpth`; $test -f "$try"; then : elif try=`./loc $thislib X $libpth`; $test -f "$try"; then : - elif try=`./loc Slib$thislib.a X $xlibpth`; $test -f "$try"; then + elif try=`./loc Slib$thislib$_a X $xlibpth`; $test -f "$try"; then : else try='' @@ -3866,18 +4477,18 @@ unknown) : The messy sed command sorts on library version numbers. $test -r $1 || \ set `echo blurfl; echo $xxx/libc.$so.[0-9]* | \ - tr ' ' '\012' | egrep -v '\.[A-Za-z]*$' | $sed -e ' + tr ' ' '\012' | egrep -v '\.[A-Za-z]*$' | $sed -e ' h s/[0-9][0-9]*/0000&/g s/0*\([0-9][0-9][0-9][0-9][0-9]\)/\1/g G s/\n/ /' | \ - sort | $sed -e 's/^.* //'` + sort | $sed -e 's/^.* //'` eval set \$$# done $test -r $1 || set /usr/ccs/lib/libc.$so - $test -r $1 || set /lib/libsys_s.a - ;; + $test -r $1 || set /lib/libsys_s$_a + ;; *) set blurfl ;; @@ -3895,25 +4506,25 @@ elif $test -r /lib/libc && $test -r /lib/clib; then fi elif $test -r "$libc" || (test -h "$libc") >/dev/null 2>&1; then echo "Your C library seems to be in $libc, as you said before." -elif $test -r $incpath/usr/lib/libc.a; then - libc=$incpath/usr/lib/libc.a; +elif $test -r $incpath/usr/lib/libc$_a; then + libc=$incpath/usr/lib/libc$_a; echo "Your C library seems to be in $libc. That's fine." -elif $test -r /lib/libc.a; then - libc=/lib/libc.a; +elif $test -r /lib/libc$_a; then + libc=/lib/libc$_a; echo "Your C library seems to be in $libc. You're normal." else - if tans=`./loc libc.a blurfl/dyick $libpth`; $test -r "$tans"; then + if tans=`./loc libc$_a blurfl/dyick $libpth`; $test -r "$tans"; then : elif tans=`./loc libc blurfl/dyick $libpth`; $test -r "$tans"; then libnames="$libnames "`./loc clib blurfl/dyick $libpth` elif tans=`./loc clib blurfl/dyick $libpth`; $test -r "$tans"; then : - elif tans=`./loc Slibc.a blurfl/dyick $xlibpth`; $test -r "$tans"; then + elif tans=`./loc Slibc$_a blurfl/dyick $xlibpth`; $test -r "$tans"; then : - elif tans=`./loc Mlibc.a blurfl/dyick $xlibpth`; $test -r "$tans"; then + elif tans=`./loc Mlibc$_a blurfl/dyick $xlibpth`; $test -r "$tans"; then : else - tans=`./loc Llibc.a blurfl/dyick $xlibpth` + tans=`./loc Llibc$_a blurfl/dyick $xlibpth` fi if $test -r "$tans"; then echo "Your C library seems to be in $tans, of all places." @@ -3961,15 +4572,12 @@ $sed 's/^/ /' libnames >&4 echo " " $echo $n "This may take a while...$c" >&4 -: Linux may need the special Dynamic option to nm for shared libraries. -: In general, this is stored in the nm_so_opt variable. -: Unfortunately, that option may be fatal on non-shared libraries. -for nm_libs_ext in $*; do - case $nm_libs_ext in - *$so*) nm $nm_so_opt $nm_opt $nm_libs_ext 2>/dev/null ;; - *) nm $nm_opt $nm_libs_ext 2>/dev/null ;; +for file in $*; do + case $file in + *$so*) nm $nm_so_opt $nm_opt $file 2>/dev/null;; + *) nm $nm_opt $file 2>/dev/null;; esac -done > libc.tmp +done >libc.tmp $echo $n ".$c" $grep fprintf libc.tmp > libc.ptf @@ -4009,7 +4617,11 @@ elif com="$sed -n -e 's/^.*|FUNC |GLOB .*|//p' -e 's/^.*|FUNC |WEAK .*|//p'";\ eval $xscan;\ $contains '^fprintf$' libc.list >/dev/null 2>&1; then eval $xrun -elif com="$sed -n -e 's/^__//' -e '/|Undef/d' -e '/|Proc/s/ .*//p'";\ +elif com="$sed -n -e 's/^__//' -e '/|Undef/d' -e '/|Proc/s/ .*//p'";\ + eval $xscan;\ + $contains '^fprintf$' libc.list >/dev/null 2>&1; then + eval $xrun +elif com="$sed -n -e 's/^.*|Proc .*|Text *| *//p'";\ eval $xscan;\ $contains '^fprintf$' libc.list >/dev/null 2>&1; then eval $xrun @@ -4021,6 +4633,10 @@ elif com="$sed -n -e 's/^[-0-9a-f ]*_\(.*\)=.*/\1/p'";\ eval $xscan;\ $contains '^fprintf$' libc.list >/dev/null 2>&1; then eval $xrun +elif com="$sed -n -e 's/.*\.text n\ \ \ \.//p'";\ + eval $xscan;\ + $contains '^fprintf$' libc.list >/dev/null 2>&1; then + eval $xrun else nm -p $* 2>/dev/null >libc.tmp $grep fprintf libc.tmp > libc.ptf @@ -4037,16 +4653,16 @@ else for thisname in $libnames; do ar t $thisname >>libc.tmp done - $sed -e 's/\.o$//' < libc.tmp > libc.list + $sed -e "s/\\$_o\$//" < libc.tmp > libc.list echo "Ok." >&4 else echo "ar didn't seem to work right." >&4 echo "Maybe this is a Cray...trying bld instead..." >&4 - if bld t $libc | $sed -e 's/.*\///' -e 's/\.o:.*$//' > libc.list + if bld t $libc | $sed -e 's/.*\///' -e "s/\\$_o:.*\$//" > libc.list then for thisname in $libnames; do bld t $libnames | \ - $sed -e 's/.*\///' -e 's/\.o:.*$//' >>libc.list + $sed -e 's/.*\///' -e "s/\\$_o:.*\$//" >>libc.list ar t $thisname >>libc.tmp done echo "Ok." >&4 @@ -4067,25 +4683,6 @@ fi esac $rm -f libnames libpath -: Define several unixisms. Hints files or command line options -: can be used to override them. -case "$ar" in -'') ar='ar';; -esac -case "$lib_ext" in -'') lib_ext='.a';; -esac -case "$obj_ext" in -'') obj_ext='.o';; -esac -case "$path_sep" in -'') path_sep=':';; -esac -: Which makefile gets called first. This is used by make depend. -case "$firstmakefile" in -'') firstmakefile='makefile';; -esac - : determine filename position in cpp output echo " " echo "Computing filename position in cpp output for #include directives..." >&4 @@ -4202,7 +4799,7 @@ yes) fi;; *) echo "main() { extern short $1$tdc; printf(\"%hd\", $1$tc); }" > t.c; - if $cc $ccflags $ldflags -o t t.c $libs >/dev/null 2>&1; + if $cc $optimize $ccflags $ldflags -o t t.c $libs >/dev/null 2>&1; then tval=true; else tval=false; fi; @@ -4316,12 +4913,26 @@ EOM '') case "$osname" in hpux) dflt='+z' ;; next) dflt='none' ;; - solaris|svr4*|esix*) dflt='-Kpic' ;; - irix*) dflt='-KPIC' ;; + irix*) dflt='-KPIC' ;; + svr4*|esix*|solaris) + case "$ccflags" in + *-DDEBUGGING*) dflt='-KPIC' ;; + *) dflt='-Kpic' ;; + esac + ;; sunos) dflt='-pic' ;; *) dflt='none' ;; + esac + ;; + *) case "$osname" in + svr4*|esix*|solaris) + case "$ccflags" in + *-DDEBUGGING*) dflt='-fPIC' ;; + *) dflt='-fpic' ;; + esac + ;; + *) dflt='-fpic' ;; esac ;; - *) dflt='-fpic' ;; esac ;; *) dflt="$cccdlflags" ;; esac @@ -4459,37 +5070,37 @@ $undef) ;; *) case "$useshrplib" in '') case "$osname" in - svr4|dgux|dynixptx|esix|powerux) - dflt='yes' + svr4*|dgux|dynixptx|esix|powerux) + dflt=y also='Building a shared libperl is required for dynamic loading to work on your system.' ;; next*) case "$osvers" in - 4*) dflt='yes' + 4*) dflt=y also='Building a shared libperl is needed for MAB support.' ;; - *) dflt='no' + *) dflt=n ;; esac ;; sunos) - dflt='no' + dflt=n also='Building a shared libperl will definitely not work on SunOS 4.' ;; - *) dflt='no' + *) dflt=n ;; esac ;; $define|true|[Yy]*) - dflt='yes' + dflt=y ;; - *) dflt='no' + *) dflt=n ;; esac $cat << EOM The perl executable is normally obtained by linking perlmain.c with -libperl${lib_ext}, any static extensions (usually just DynaLoader), and +libperl${_a}, any static extensions (usually just DynaLoader), and any other libraries needed on this system (such as -lm, etc.). Since your system supports dynamic loading, it is probably possible to build a shared libperl.$so. If you will have more than one executable linked @@ -4581,7 +5192,7 @@ EOM echo "Ok, I'll use $libperl" ;; *) - libperl="libperl${lib_ext}" + libperl="libperl${_a}" ;; esac @@ -4612,300 +5223,57 @@ EOM esac ;; esac - -# How will the perl executable find the installed shared $libperl? -# Add $xxx to ccdlflags. -# If we can't figure out a command-line option, use $shrpenv to -# set env LD_RUN_PATH. The main perl makefile uses this. -shrpdir=$archlibexp/CORE -xxx='' -tmp_shrpenv='' -if "$useshrplib"; then - case "$osname" in - solaris|netbsd) - xxx="-R $shrpdir" - ;; - linux|irix*) - xxx="-Wl,-rpath,$shrpdir" - ;; - *) - tmp_shrpenv="env LD_RUN_PATH=$shrpdir" - ;; - esac - case "$xxx" in - '') ;; - *) ccdlflags="$ccdlflags $xxx" - cat <&4 - -Adding $xxx to the flags -passed to $ld so that the perl executable will find the -installed shared $libperl. - -EOM - ;; - esac -fi -# Respect a hint or command-line value. -case "$shrpenv" in -'') shrpenv="$tmp_shrpenv" ;; -esac - -: determine where manual pages go -set man1dir man1dir none -eval $prefixit -$cat <$first) 2>/dev/null; then - if $test -f 123456789abcde; then - echo 'You cannot have filenames longer than 14 characters. Sigh.' >&4 - val="$undef" - else - if (echo hi >$second) 2>/dev/null; then - if $test -f /tmp/cf$$/123456789abcde; then - $cat <<'EOM' -That's peculiar... You can have filenames longer than 14 characters, but only -on some of the filesystems. Maybe you are using NFS. Anyway, to avoid problems -I shall consider your system cannot support long filenames at all. -EOM - val="$undef" - else - echo 'You can have filenames longer than 14 characters.' >&4 - val="$define" - fi - else - $cat <<'EOM' -How confusing! Some of your filesystems are sane enough to allow filenames -longer than 14 characters but some others like /tmp can't even think about them. -So, for now on, I shall assume your kernel does not allow them at all. -EOM - val="$undef" - fi - fi -else - $cat <<'EOM' -You can't have filenames longer than 14 chars. You can't even think about them! -EOM - val="$undef" -fi -set d_flexfnam -eval $setvar -$rm -rf /tmp/cf$$ 123456789abcde* - -: determine where library module manual pages go -set man3dir man3dir none -eval $prefixit -$cat <&4 -: What suffix to use on installed man pages +Adding $xxx to the flags +passed to $ld so that the perl executable will find the +installed shared $libperl. -case "$man3dir" in -' ') - man3ext='0' - ;; -*) - rp="What suffix should be used for the $spackage library man pages?" - case "$man3ext" in - '') case "$man3dir" in - *3) dflt=3 ;; - *3p) dflt=3p ;; - *3pm) dflt=3pm ;; - *l) dflt=l;; - *n) dflt=n;; - *o) dflt=o;; - *p) dflt=p;; - *C) dflt=C;; - *L) dflt=L;; - *L3) dflt=L3;; - *) dflt=3;; +EOM + ;; esac ;; - *) dflt="$man3ext";; esac - . ./myread - man3ext="$ans" - ;; +fi +# Respect a hint or command-line value. +case "$shrpenv" in +'') shrpenv="$tmp_shrpenv" ;; esac : see if we have to deal with yellow pages, now NIS. @@ -4952,6 +5320,15 @@ if $test -d /usr/etc/yp || $test -d /etc/yp; then ;; esac fi +case "$hostcat" in +'') hostcat='cat /etc/hosts';; +esac +case "$groupcat" in +'') groupcat='cat /etc/group';; +esac +case "$passcat" in +'') passcat='cat /etc/passwd';; +esac : now get the host name echo " " @@ -5047,15 +5424,11 @@ case "$myhostname" in *) case "$mydomain" in '') { - : If we use NIS, try ypmatch. - : Is there some reason why this was not done before? test "X$hostcat" = "Xypcat hosts" && ypmatch "$myhostname" hosts 2>/dev/null |\ $sed -e 's/[ ]*#.*//; s/$/ /' > hosts && \ $test -s hosts } || { - : Extract only the relevant hosts, reducing file size, - : remove comments, insert trailing space for later use. $hostcat | $sed -n -e "s/[ ]*#.*//; s/\$/ / /[ ]$myhostname[ . ]/p" > hosts } @@ -5077,14 +5450,14 @@ case "$myhostname" in tans=`./loc resolv.conf X /etc /usr/etc` if $test -f "$tans"; then echo "(Attempting domain name extraction from $tans)" - : Why was there an Egrep here, when Sed works? - : Look for either a search or a domain directive. - dflt=.`$sed -n -e 's/^search[ ]*\(.*\)/\1/p' $tans \ - | ./tr '[A-Z]' '[a-z]' 2>/dev/null` + dflt=.`$sed -n -e 's/ / /g' \ + -e 's/^search *\([^ ]*\).*/\1/p' $tans \ + | ./tr '[A-Z]' '[a-z]' 2>/dev/null` case "$dflt" in - .) dflt=.`$sed -n -e 's/^domain[ ]*\(.*\)/\1/p' $tans \ - | ./tr '[A-Z]' '[a-z]' 2>/dev/null` - ;; + .) dflt=.`$sed -n -e 's/ / /g' \ + -e 's/^domain *\([^ ]*\).*/\1/p' $tans \ + | ./tr '[A-Z]' '[a-z]' 2>/dev/null` + ;; esac fi ;; @@ -5199,64 +5572,6 @@ rp='Perl administrator e-mail address' . ./myread perladmin="$ans" -: determine where public executable scripts go -set scriptdir scriptdir -eval $prefixit -case "$scriptdir" in -'') - dflt="$bin" - : guess some guesses - $test -d /usr/share/scripts && dflt=/usr/share/scripts - $test -d /usr/share/bin && dflt=/usr/share/bin - $test -d /usr/local/script && dflt=/usr/local/script - $test -d $prefixexp/script && dflt=$prefixexp/script - set dflt - eval $prefixup - ;; -*) dflt="$scriptdir" - ;; -esac -$cat <&4 <. Versions 5.003_02 and later of perl allow alternate IO +Previous version of $package used the standard IO mechanisms as defined +in . Versions 5.003_02 and later of perl allow alternate IO mechanisms via a "PerlIO" abstraction, but the stdio mechanism is still -the default and is the only supported mechanism. This abstraction -layer can use AT&T's sfio (if you already have sfio installed) or -fall back on standard IO. This PerlIO abstraction layer is -experimental and may cause problems with some extension modules. +the default. This abstraction layer can use AT&T's sfio (if you already +have sfio installed) or regular stdio. Using PerlIO with sfio may cause +problems with some extension modules. Using PerlIO with stdio is safe, +but it is slower than plain stdio and therefore is not the default. If this doesn't make any sense to you, just accept the default 'n'. EOM @@ -5387,9 +5739,9 @@ esac for xxx_convert in $xxx_list; do echo "Trying $xxx_convert" - $rm -f try try.o - if $cc $ccflags -DTRY_$xxx_convert $ldflags -o try \ - try.c $libs > /dev/null 2>&1 ; then + $rm -f try try$_o + set try -DTRY_$xxx_convert + if eval $compile; then echo "$xxx_convert" found. >&4 if ./try; then echo "I'll use $xxx_convert to convert floats into a string." >&4 @@ -5439,15 +5791,15 @@ main() { EOCP : check sys/file.h first, no particular reason here if $test `./findhdr sys/file.h` && \ - $cc $cppflags -DI_SYS_FILE access.c -o access >/dev/null 2>&1 ; then + $cc $cppflags -DI_SYS_FILE -o access access.c >/dev/null 2>&1 ; then h_sysfile=true; echo " defines the *_OK access constants." >&4 elif $test `./findhdr fcntl.h` && \ - $cc $cppflags -DI_FCNTL access.c -o access >/dev/null 2>&1 ; then + $cc $cppflags -DI_FCNTL -o access access.c >/dev/null 2>&1 ; then h_fcntl=true; echo " defines the *_OK access constants." >&4 elif $test `./findhdr unistd.h` && \ - $cc $cppflags -DI_UNISTD access.c -o access >/dev/null 2>&1 ; then + $cc $cppflags -DI_UNISTD -o access access.c >/dev/null 2>&1 ; then echo " defines the *_OK access constants." >&4 else echo "I can't find the four *_OK access constants--I'll use mine." >&4 @@ -5499,10 +5851,10 @@ eval $inhdr set getpgrp d_getpgrp eval $inlibc -echo "Checking to see which flavor of getpgrp is in use . . . " case "$d_getpgrp" in "$define") echo " " + echo "Checking to see which flavor of getpgrp is in use..." $cat >set.c < @@ -5561,10 +5913,10 @@ $rm -f set set.c set setpgrp d_setpgrp eval $inlibc -echo "Checking to see which flavor of setpgrp is in use . . . " case "$d_setpgrp" in "$define") echo " " + echo "Checking to see which flavor of setpgrp is in use..." $cat >set.c < @@ -5594,7 +5946,7 @@ EOP echo 'You have to use setpgrp() instead of setpgrp(pid,pgrp).' >&4 val="$undef" else - echo "I can't seem to compile and run the test program." + echo "(I can't seem to compile and run the test program.)" if ./usg; then xxx="a USG one, i.e. you use setpgrp()." else @@ -5617,38 +5969,56 @@ EOP esac set d_bsdsetpgrp eval $setvar -d_bsdpgrp=$d_bsdsetpgrp $rm -f set set.c : see if bzero exists set bzero d_bzero eval $inlibc -: check for length of integer +: check for lengths of integral types echo " " case "$intsize" in '') echo "Checking to see how big your integers are..." >&4 - $cat >try.c <<'EOCP' + $cat >intsize.c <<'EOCP' #include main() { - printf("%d\n", sizeof(int)); + printf("intsize=%d;\n", sizeof(int)); + printf("longsize=%d;\n", sizeof(long)); + printf("shortsize=%d;\n", sizeof(short)); exit(0); } EOCP - if $cc $ccflags try.c -o try >/dev/null 2>&1 && ./try > /dev/null; then - intsize=`./try` + set intsize + if eval $compile && ./intsize > /dev/null; then + eval `./intsize` echo "Your integers are $intsize bytes long." + echo "Your long integers are $longsize bytes long." + echo "Your short integers are $shortsize bytes long." else - dflt='4' - echo "(I can't seem to compile the test program. Guessing...)" + $cat >&4 </dev/null 2>&1 ; then echo "You have int (*signal())() instead of void." >&4 val="$undef" elif $contains 'void.*\*[ ]*signal' $$.tmp >/dev/null 2>&1 ; then - echo "You have void (*signal())() instead of int." >&4 + echo "You have void (*signal())()." >&4 val="$define" elif $contains 'extern[ ]*[(\*]*signal' $$.tmp >/dev/null 2>&1 ; then echo "You have int (*signal())() instead of void." >&4 val="$undef" +elif $contains 'void.*\*.*sig' $$.tmp >/dev/null 2>&1 ; then + echo "You have void (*signal())()." >&4 + val="$define" else case "$d_voidsig" in '') @@ -5675,9 +6048,12 @@ else *) val="$undef";; esac;; "$define") - echo "As you already told me, signal handler returns void." >&4;; - *) - echo "As you already told me, signal handler returns int." >&4;; + echo "As you already told me, signal handler returns void." >&4 + val="$define" + ;; + *) echo "As you already told me, signal handler returns int." >&4 + val="$undef" + ;; esac fi set d_voidsig @@ -5716,7 +6092,8 @@ main() exit(result); } EOCP -if $cc -o try $ccflags try.c >/dev/null 2>&1; then +set try +if eval $compile; then ./try yyy=$? else @@ -5797,7 +6174,8 @@ main() } EOCP -if $cc -o try $ccflags try.c >/dev/null 2>&1; then +set try +if eval $compile; then ./try castflags=$? else @@ -5836,7 +6214,8 @@ va_dcl exit((unsigned long)vsprintf(buf,"%s",args) > 10L); } EOF - if $cc $ccflags vprintf.c -o vprintf >/dev/null 2>&1 && ./vprintf; then + set vprintf + if eval $compile && ./vprintf; then echo "Your vsprintf() returns (int)." >&4 val2="$undef" else @@ -5894,19 +6273,19 @@ if set crypt val -f d_crypt; eval $csym; $val; then val="$define" cryptlib='' else - cryptlib=`./loc Slibcrypt.a "" $xlibpth` + cryptlib=`./loc Slibcrypt$_a "" $xlibpth` if $test -z "$cryptlib"; then - cryptlib=`./loc Mlibcrypt.a "" $xlibpth` + cryptlib=`./loc Mlibcrypt$_a "" $xlibpth` else cryptlib=-lcrypt fi if $test -z "$cryptlib"; then - cryptlib=`./loc Llibcrypt.a "" $xlibpth` + cryptlib=`./loc Llibcrypt$_a "" $xlibpth` else cryptlib=-lcrypt fi if $test -z "$cryptlib"; then - cryptlib=`./loc libcrypt.a "" $libpth` + cryptlib=`./loc libcrypt$_a "" $libpth` else cryptlib=-lcrypt fi @@ -5927,7 +6306,10 @@ case "$csh" in esac set d_csh eval $setvar -full_csh=$csh +: Respect a hint or command line value for full_csh. +case "$full_csh" in +'') full_csh=$csh ;; +esac : see if cuserid exists set cuserid d_cuserid @@ -6109,28 +6491,31 @@ main() #endif handle = dlopen("./dyna.$dlext", mode) ; if (handle == NULL) { - printf ("1\n") ; - exit(0); + printf ("1\n") ; + fflush (stdout) ; + exit(0); } symbol = dlsym(handle, "fred") ; if (symbol == NULL) { - /* try putting a leading underscore */ - symbol = dlsym(handle, "_fred") ; - if (symbol == NULL) { - printf ("2\n") ; - exit(0); - } - printf ("3\n") ; + /* try putting a leading underscore */ + symbol = dlsym(handle, "_fred") ; + if (symbol == NULL) { + printf ("2\n") ; + fflush (stdout) ; + exit(0); + } + printf ("3\n") ; } else - printf ("4\n") ; - exit(0); + printf ("4\n") ; + fflush (stdout) ; + exit(0); } EOM : Call the object file tmp-dyna.o in case dlext=o. if $cc $ccflags $cccdlflags -c dyna.c > /dev/null 2>&1 && - mv dyna${obj_ext} tmp-dyna${obj_ext} > /dev/null 2>&1 && - $ld $lddlflags -o dyna.$dlext tmp-dyna${obj_ext} > /dev/null 2>&1 && + mv dyna${_o} tmp-dyna${_o} > /dev/null 2>&1 && + $ld $lddlflags -o dyna.$dlext tmp-dyna${_o} > /dev/null 2>&1 && $cc $ccflags $ldflags $cccdlflags $ccdlflags fred.c -o fred $libs > /dev/null 2>&1; then xxx=`./fred` case $xxx in @@ -6178,7 +6563,7 @@ main() { EOCP : check sys/file.h first to get FREAD on Sun if $test `./findhdr sys/file.h` && \ - $cc $cppflags "-DI_SYS_FILE" open3.c -o open3 >/dev/null 2>&1 ; then + set open3 -DI_SYS_FILE && eval $compile; then h_sysfile=true; echo " defines the O_* constants..." >&4 if ./open3; then @@ -6189,7 +6574,7 @@ if $test `./findhdr sys/file.h` && \ val="$undef" fi elif $test `./findhdr fcntl.h` && \ - $cc "-DI_FCNTL" open3.c -o open3 >/dev/null 2>&1 ; then + set open3 -DI_FCNTL && eval $compile; then h_fcntl=true; echo " defines the O_* constants..." >&4 if ./open3; then @@ -6239,7 +6624,8 @@ main() { exit(0); } EOCP - if $cc $ccflags $ldflags try.c -o try >/dev/null 2>&1; then + set try + if eval $compile; then o_nonblock=`./try` case "$o_nonblock" in '') echo "I can't figure it out, assuming O_NONBLOCK will do.";; @@ -6317,7 +6703,8 @@ main() exit(0); /* Bye bye, thank you for playing! */ } EOCP - if $cc $ccflags $ldflags try.c -o try >/dev/null 2>&1; then + set try + if eval $compile; then echo "$startsh" >mtry echo "./try >try.out 2>try.ret 3>try.err || exit 4" >>mtry chmod +x mtry @@ -6354,7 +6741,7 @@ EOCP *) echo "However, your read() returns '$status' on EOF??";; esac val="$define" - if test "$status" -eq "$rd_nodata"; then + if test "$status" = "$rd_nodata"; then echo "WARNING: you can't distinguish between EOF and no data!" val="$undef" fi @@ -6440,6 +6827,25 @@ eval $inlibc set getpriority d_getprior eval $inlibc +: see if gettimeofday or ftime exists +set gettimeofday d_gettimeod +eval $inlibc +case "$d_gettimeod" in +"$undef") + set ftime d_ftime + eval $inlibc + ;; +*) + val="$undef"; set d_ftime; eval $setvar + ;; +esac +case "$d_gettimeod$d_ftime" in +"$undef$undef") + echo " " + echo 'No ftime() nor gettimeofday() -- timing may be less accurate.' >&4 + ;; +esac + : see if this is a netinet/in.h or sys/in.h system set netinet/in.h i_niin sys/in.h i_sysin eval $inhdr @@ -6533,6 +6939,10 @@ set d_strchr; eval $setvar val="$vali" set d_index; eval $setvar +: check whether inet_aton exists +set inet_aton d_inetaton +eval $inlibc + : Look for isascii echo " " $cat >isascii.c <<'EOCP' @@ -6546,7 +6956,8 @@ main() { exit(1); } EOCP -if $cc $ccflags $ldflags -o isascii isascii.c $libs >/dev/null 2>&1 ; then +set isascii +if eval $compile; then echo "isascii() found." >&4 val="$define" else @@ -6672,7 +7083,7 @@ case "$ans" in y*|true) usemymalloc='y' mallocsrc='malloc.c' - mallocobj='malloc.o' + mallocobj="malloc$_o" d_mymalloc="$define" case "$libs" in *-lmalloc*) @@ -6751,6 +7162,81 @@ eval $inlibc set poll d_poll eval $inlibc + +: see whether the various POSIXish _yields exist within given cccmd +$cat >try.c < +main() { + YIELD(); + exit(0); +} +EOP +: see if pthread_yield exists within given cccmd, +: if we do not usethreads this may well end up undef. +set try -DYIELD=pthread_yield +if eval $compile; then + val="$define" + echo 'pthread_yield() found.' >&4 +else + val="$undef" + echo 'pthread_yield() NOT found.' >&4 +fi +set d_pthread_yield +eval $setvar + +: see if sched_yield exists within given cccmd, +: if we do not usethreads this may well end up undef. +set try -DYIELD=sched_yield +if eval $compile; then + val="$define" + echo 'sched_yield() found.' >&4 +else + val="$undef" + echo 'sched_yield() NOT found.' >&4 +fi +set d_sched_yield +eval $setvar +$rm -f try try.* + +: test whether pthreads are created in joinable -- aka undetached -- state +if test "X$usethreads" != X; then + echo >&4 "Checking whether pthreads are created joinable." + $cat >try.c <<'EOCP' +#include +#include +int main() { + pthread_attr_t attr; + int detachstate; + printf("%s\n", + pthread_attr_init(&attr) == 0 && + pthread_attr_getdetachstate(&attr, &detachstate) == 0 && + detachstate == PTHREAD_CREATE_DETACHED ? + "detached" : "joinable"); + exit(0); +} +EOCP + set try + if eval $compile; then + yyy=`./try` + case "$yyy" in + detached) echo "Nope, they aren't." ;; + *) echo "Yup, they are." ;; + esac + else + echo "(I can't execute the test program--assuming they are.)" + yyy=joinable + fi + $rm -f try try.* + case "$yyy" in + detached) val="$undef" ;; + *) val="$define" ;; + esac + set d_pthreads_created_joinable + eval $setvar +else + d_pthreads_created_joinable="$undef" +fi + : see if this is a pwd.h system set pwd.h i_pwd eval $inhdr @@ -6873,15 +7359,14 @@ case "$d_bcopy" in "$define") echo " " echo "Checking to see if your bcopy() can do overlapping copies..." >&4 - $cat >foo.c <try.c <>foo.c <<'EOCP' + $cat >>try.c <<'EOCP' #include - #ifdef I_MEMORY # include #endif @@ -6904,8 +7389,6 @@ int len; int off; int align; -/* Copy "abcde..." string to char abc[] so that gcc doesn't - try to store the string in read-only memory. */ bcopy("abcdefghijklmnopqrstuvwxyz0123456789", abc, 36); for (align = 7; align >= 0; align--) { @@ -6923,8 +7406,9 @@ for (align = 7; align >= 0; align--) { exit(0); } EOCP - if $cc $ccflags $ldflags foo.c -o safebcpy $libs >/dev/null 2>&1; then - if ./safebcpy 2>/dev/null; then + set try + if eval $compile; then + if ./try 2>/dev/null; then echo "Yes, it can." val="$define" else @@ -6941,7 +7425,7 @@ EOCP fi ;; esac -$rm -f foo.* safebcpy core +$rm -f try.* try core set d_safebcpy eval $setvar @@ -6951,15 +7435,14 @@ case "$d_memcpy" in "$define") echo " " echo "Checking to see if your memcpy() can do overlapping copies..." >&4 - $cat >foo.c <try.c <>foo.c <<'EOCP' + $cat >>try.c <<'EOCP' #include - #ifdef I_MEMORY # include #endif @@ -7001,8 +7484,9 @@ for (align = 7; align >= 0; align--) { exit(0); } EOCP - if $cc $ccflags $ldflags foo.c -o safemcpy $libs >/dev/null 2>&1; then - if ./safemcpy 2>/dev/null; then + set try + if eval $compile; then + if ./try 2>/dev/null; then echo "Yes, it can." val="$define" else @@ -7019,10 +7503,64 @@ EOCP fi ;; esac -$rm -f foo.* safemcpy core +$rm -f try.* try core set d_safemcpy eval $setvar +: can memcmp be trusted to compare relative magnitude? +val="$undef" +case "$d_memcmp" in +"$define") + echo " " + echo "Checking if your memcmp() can compare relative magnitude..." >&4 + $cat >try.c <>try.c <<'EOCP' +#include +#ifdef I_MEMORY +# include +#endif +#ifdef I_STDLIB +# include +#endif +#ifdef I_STRING +# include +#else +# include +#endif +#ifdef I_UNISTD +# include /* Needed for NetBSD */ +#endif +main() +{ +char a = -1; +char b = 0; +if ((a < b) && memcmp(&a, &b, 1) < 0) + exit(1); +exit(0); +} +EOCP + set try + if eval $compile; then + if ./try 2>/dev/null; then + echo "Yes, it can." + val="$define" + else + echo "No, it can't (it uses signed chars)." + fi + else + echo "(I can't compile the test program, so we'll assume not...)" + fi + ;; +esac +$rm -f try.* try core +set d_sanemcmp +eval $setvar + : see if select exists set select d_select eval $inlibc @@ -7138,6 +7676,11 @@ $define) y|Y) ;; *) echo "Ok, avoiding sfio this time. I'll use stdio instead." val="$undef" + : Remove sfio from list of libraries to use + set `echo X $libs | $sed -e 's/-lsfio / /' -e 's/-lsfio$//'` + shift + libs="$*" + echo "libs = $libs" >&4 ;; esac ;; @@ -7227,12 +7770,7 @@ else echo 'sigaction NOT found.' >&4 val="$undef" fi - -$cat > set.c <<'EOP' -/* Solaris 2.5_x86 with SunWorks Pro C 3.0.1 doesn't have a complete - sigaction structure if compiled with cc -Xc. This compile test - will fail then. -*/ +$cat > try.c <<'EOP' #include #include #include @@ -7241,21 +7779,21 @@ main() struct sigaction act, oact; } EOP - -if $cc $ccflags $ldflags -o set set.c $libs >/dev/null 2>&1; then +set try +if eval $compile; then : else echo "But you don't seem to have a useable struct sigaction." >&4 val="$undef" fi set d_sigaction; eval $setvar -$rm -f set set.o set.c +$rm -f try try$_o try.c : see if sigsetjmp exists echo " " case "$d_sigsetjmp" in '') - $cat >set.c <<'EOP' + $cat >try.c <<'EOP' #include sigjmp_buf env; int set = 1; @@ -7268,8 +7806,9 @@ main() exit(1); } EOP - if $cc $ccflags $ldflags -o set set.c $libs > /dev/null 2>&1 ; then - if ./set >/dev/null 2>&1; then + set try + if eval $compile; then + if ./try >/dev/null 2>&1; then echo "POSIX sigsetjmp found." >&4 val="$define" else @@ -7293,7 +7832,7 @@ EOM esac set d_sigsetjmp eval $setvar -$rm -f set.c set +$rm -f try.c try socketlib='' sockethdr='' @@ -7316,10 +7855,10 @@ else : we will have to assume that it supports the 4.2 BSD interface d_oldsock="$undef" else - echo "You don't have Berkeley networking in libc.a..." >&4 - if test -f /usr/lib/libnet.a; then - ( (nm $nm_opt /usr/lib/libnet.a | eval $nm_extract) || \ - ar t /usr/lib/libnet.a) 2>/dev/null >> libc.list + echo "You don't have Berkeley networking in libc$_a..." >&4 + if test -f /usr/lib/libnet$_a; then + ( (nm $nm_opt /usr/lib/libnet$_a | eval $nm_extract) || \ + ar t /usr/lib/libnet$_a) 2>/dev/null >> libc.list if $contains socket libc.list >/dev/null 2>&1; then echo "...but the Wollongong group seems to have hacked it in." >&4 socketlib="-lnet" @@ -7332,7 +7871,7 @@ else d_oldsock="$define" fi else - echo "or even in libnet.a, which is peculiar." >&4 + echo "or even in libnet$_a, which is peculiar." >&4 d_socket="$undef" d_oldsock="$undef" fi @@ -7426,7 +7965,8 @@ main() { } EOP val="$undef" -if $cc $ccflags $ldflags -o try try.c $libs >/dev/null 2>&1; then +set try +if eval $compile; then if ./try; then echo "Your stdio acts pretty std." val="$define" @@ -7456,48 +7996,6 @@ esac set d_stdio_cnt_lval eval $setvar -: How to access the stdio _filbuf or __filbuf function. -: If this fails, check how the getc macro in stdio.h works. -case "${d_stdio_ptr_lval}${d_stdio_cnt_lval}" in -${define}${define}) - : Try $hint value, if any, then _filbuf, __filbuf, _fill, then punt. - : _fill is for os/2. - xxx='notok' - for filbuf in $stdio_filbuf '_filbuf(fp)' '__filbuf(fp) ' '_fill(fp)' ; do - $cat >try.c < -#define FILE_ptr(fp) $stdio_ptr -#define FILE_cnt(fp) $stdio_cnt -#define FILE_filbuf(fp) $filbuf -main() { - FILE *fp = fopen("try.c", "r"); - int c; - c = getc(fp); - c = FILE_filbuf(fp); /* Just looking for linker errors.*/ - exit(0); -} -EOP - if $cc $ccflags $ldflags -o try try.c $libs >/dev/null 2>&1 && ./try; then - echo "Your stdio appears to use $filbuf" - stdio_filbuf="$filbuf" - xxx='ok' - break - else - echo "Hmm. $filbuf doesn't seem to work." - fi - $rm -f try.c try - done - case "$xxx" in - notok) echo "I can't figure out how to access _filbuf" - echo "I'll just have to work around it." - d_stdio_ptr_lval="$undef" - d_stdio_cnt_lval="$undef" - ;; - esac - ;; -esac - - : see if _base is also standard val="$undef" case "$d_stdstdio" in @@ -7517,7 +8015,8 @@ main() { exit(1); } EOP - if $cc $ccflags $ldflags -o try try.c $libs > /dev/null 2>&1; then + set try + if eval $compile; then if ./try; then echo "And its _base field acts std." val="$define" @@ -7598,6 +8097,18 @@ else d_strerrm='"unknown"' fi +: see if strtod exists +set strtod d_strtod +eval $inlibc + +: see if strtol exists +set strtol d_strtol +eval $inlibc + +: see if strtoul exists +set strtoul d_strtoul +eval $inlibc + : see if strxfrm exists set strxfrm d_strxfrm eval $inlibc @@ -7809,7 +8320,8 @@ case "$d_closedir" in #endif int main() { return closedir(opendir(".")); } EOM - if $cc $ccflags $ldflags -o closedir closedir.c $libs > /dev/null 2>&1; then + set closedir + if eval $compile; then if ./closedir > /dev/null 2>&1 ; then echo "Yes, it does." val="$undef" @@ -7897,11 +8409,12 @@ main() printf("%d\n", (char *)&try.bar - (char *)&try.foo); } EOCP - if $cc $ccflags try.c -o try >/dev/null 2>&1; then + set try + if eval $compile; then dflt=`./try` else dflt='8' - echo"(I can't seem to compile the test program...)" + echo "(I can't seem to compile the test program...)" fi ;; *) dflt="$alignbytes" @@ -7945,7 +8458,8 @@ main() } EOCP xxx_prompt=y - if $cc $ccflags try.c -o try >/dev/null 2>&1 && ./try > /dev/null; then + set try + if eval $compile && ./try > /dev/null; then dflt=`./try` case "$dflt" in [1-4][1-4][1-4][1-4]|12345678|87654321) @@ -7986,11 +8500,11 @@ ACAT(Cir,cus) EOCP $cppstdin $cppflags $cppminus cpp_stuff.out 2>&1 if $contains 'Circus' cpp_stuff.out >/dev/null 2>&1; then - echo "Oh! Smells like ANSI's been here." + echo "Oh! Smells like ANSI's been here." >&4 echo "We can catify or stringify, separately or together!" cpp_stuff=42 elif $contains 'Reiser' cpp_stuff.out >/dev/null 2>&1; then - echo "Ah, yes! The good old days!" + echo "Ah, yes! The good old days!" >&4 echo "However, in the good old days we don't know how to stringify and" echo "catify at the same time." cpp_stuff=1 @@ -8019,6 +8533,8 @@ define) #endif #include #include + +#ifndef DB_VERSION_MAJOR u_int32_t hash_cb (ptr, size) const void *ptr; size_t size; @@ -8029,6 +8545,7 @@ main() { info.hash = hash_cb; } +#endif EOCP if $cc $ccflags -c try.c >try.out 2>&1 ; then if $contains warning try.out >>/dev/null 2>&1 ; then @@ -8037,13 +8554,92 @@ EOCP db_hashtype='u_int32_t' fi else - echo "I can't seem to compile the test program." >&4 - db_hashtype=int + : XXX Maybe we should just give up here. + db_hashtype=u_int32_t + echo "Help: I can't seem to compile the db test program." >&4 + echo "Something's wrong, but I'll assume you use $db_hashtype." >&4 fi $rm -f try.* echo "Your version of Berkeley DB uses $db_hashtype for hash." ;; -*) db_hashtype=int +*) db_hashtype=u_int32_t + ;; +esac + +case "$i_db" in +$define) + : Check db version. + echo " " + echo "Checking Berkeley DB version ..." >&4 + $cat >try.c < +#include +#include +main() +{ +#ifdef DB_VERSION_MAJOR /* DB version >= 2 */ + int Major, Minor, Patch ; + unsigned long Version ; + (void)db_version(&Major, &Minor, &Patch) ; + printf("You have Berkeley DB Version 2 or greater\n"); + + printf("db.h is from Berkeley DB Version %d.%d.%d\n", + DB_VERSION_MAJOR, DB_VERSION_MINOR, DB_VERSION_PATCH); + printf("libdb is from Berkeley DB Version %d.%d.%d\n", + Major, Minor, Patch) ; + + /* check that db.h & libdb are compatible */ + if (DB_VERSION_MAJOR != Major || DB_VERSION_MINOR != Minor || DB_VERSION_PATCH != Patch) { + printf("db.h and libdb are incompatible\n") ; + exit(3); + } + + printf("db.h and libdb are compatible\n") ; + + Version = DB_VERSION_MAJOR * 1000000 + DB_VERSION_MINOR * 1000 + + DB_VERSION_PATCH ; + + /* needs to be >= 2.3.4 */ + if (Version < 2003004) { + /* if (DB_VERSION_MAJOR == 2 && DB_VERSION_MINOR == 0 && DB_VERSION_PATCH +< 5) { */ + printf("but Perl needs Berkeley DB 2.3.4 or greater\n") ; + exit(2); + } + + exit(0); +#else +#if defined(_DB_H_) && defined(BTREEMAGIC) && defined(HASHMAGIC) + printf("You have Berkeley DB Version 1\n"); + exit(0); /* DB version < 2: the coast is clear. */ +#else + exit(1); /* not Berkeley DB? */ +#endif +#endif +} +EOCP + set try + if eval $compile && ./try; then + echo 'Looks OK.' >&4 + else + echo "I can't use Berkeley DB with your . I'll disable Berkeley DB." >&4 + i_db=$undef + case " $libs " in + *"-ldb "*) + : Remove db from list of libraries to use + echo "Removing unusable -ldb from library list" >&4 + set `echo X $libs | $sed -e 's/-ldb / /' -e 's/-ldb$//'` + shift + libs="$*" + echo "libs = $libs" >&4 + ;; + esac + fi + $rm -f try.* ;; esac @@ -8059,6 +8655,8 @@ define) #endif #include #include + +#ifndef DB_VERSION_MAJOR size_t prefix_cb (key1, key2) const DBT *key1; const DBT *key2; @@ -8069,6 +8667,7 @@ main() { info.prefix = prefix_cb; } +#endif EOCP if $cc $ccflags -c try.c >try.out 2>&1 ; then if $contains warning try.out >>/dev/null 2>&1 ; then @@ -8077,13 +8676,15 @@ EOCP db_prefixtype='size_t' fi else - echo "I can't seem to compile the test program." >&4 - db_prefixtype='int' + db_prefixtype='size_t' + : XXX Maybe we should just give up here. + echo "Help: I can't seem to compile the db test program." >&4 + echo "Something's wrong, but I'll assume you use $db_prefixtype." >&4 fi $rm -f try.* echo "Your version of Berkeley DB uses $db_prefixtype for prefix." ;; -*) db_prefixtype='int' +*) db_prefixtype='size_t' ;; esac @@ -8171,7 +8772,6 @@ echo "Hmm, your compiler has some difficulty with void. Checking further..." >&4 fi fi esac -: Only prompt user if support does not match the level we want case "$voidflags" in "$defvoidused") ;; *) @@ -8218,20 +8818,25 @@ gidtype="$ans" set getgroups d_getgrps eval $inlibc -: Find type of 2nd arg to getgroups +: see if setgroups exists +set setgroups d_setgrps +eval $inlibc + + +: Find type of 2nd arg to 'getgroups()' and 'setgroups()' echo " " -case "$d_getgrps" in -'define') +case "$d_getgrps$d_setgrps" in +*define*) case "$groupstype" in '') dflt="$gidtype" ;; *) dflt="$groupstype" ;; esac $cat <&4 - echo "Go find a make program or fix your PATH setting!" >&4 - exit 1 - ;; - esac - ;; -*) echo make is in $make. ;; -esac - -$echo $n "Checking if your $make program sets \$(MAKE)... $c" >&4 +echo "Checking if your $make program sets \$(MAKE)..." >&4 case "$make_set_make" in '') $sed 's/^X //' > testmake.mak << 'EOF' Xall: -X @echo 'ac_maketemp="$(MAKE)"' +X @echo 'maketemp="$(MAKE)"' EOF - : GNU make sometimes prints "make[1]: Entering...", which would confuse us. case "`$make -f testmake.mak 2>/dev/null`" in - *ac_maketemp=*) make_set_make='#' ;; + *maketemp=*) make_set_make='#' ;; *) make_set_make="MAKE=$make" ;; esac $rm -f testmake.mak ;; esac case "$make_set_make" in -'#') echo "Yup, it does." >&4 ;; -*) echo "Nope, it doesn't." >&4 ;; +'#') echo "Yup, it does.";; +*) echo "Nope, it doesn't.";; esac : see what type is used for mode_t @@ -8292,6 +8881,217 @@ rp="What type is used for file modes?" . ./myread modetype="$ans" +: Cruising for prototypes +echo " " +echo "Checking out function prototypes..." >&4 +$cat >prototype.c <<'EOCP' +main(int argc, char *argv[]) { + exit(0);} +EOCP +if $cc $ccflags -c prototype.c >prototype.out 2>&1 ; then + echo "Your C compiler appears to support function prototypes." + val="$define" +else + echo "Your C compiler doesn't seem to understand function prototypes." + val="$undef" +fi +set prototype +eval $setvar +$rm -f prototype* + +: define a fucntion to check prototypes +$cat > protochk <> protochk <<'EOSH' + +$rm -f try.c +foo="$1" +shift +while test $# -ge 2; do + case "$1" in + $define) echo "#include <$2>" >> try.c ;; + literal) echo "$2" >> try.c ;; + esac + shift 2 +done +test "$prototype" = "$define" && echo '#define CAN_PROTOTYPE' >> try.c +cat >> try.c <<'EOCP' +#ifdef CAN_PROTOTYPE +#define _(args) args +#else +#define _(args) () +#endif +EOCP +echo "$foo" >> try.c +echo 'int no_real_function_has_this_name _((void)) { return 0; }' >> try.c +$cc $optimize $ccflags -c try.c > /dev/null 2>&1 +status=$? +$rm -f try.[co] +exit $status +EOSH +chmod +x protochk +$eunicefix protochk + +: see if gethostbyaddr exists +set gethostbyaddr d_gethbyaddr +eval $inlibc + +: see if gethostbyname exists +set gethostbyname d_gethbyname +eval $inlibc + +: see if getnetbyaddr exists +set getnetbyaddr d_getnbyaddr +eval $inlibc + +: see if this is a netdb.h system +set netdb.h i_netdb +eval $inhdr + +: see what type is used for size_t +set size_t sizetype 'unsigned int' stdio.h sys/types.h +eval $typedef +dflt="$sizetype" +echo " " +rp="What type is used for the length parameter for string functions?" +. ./myread +sizetype="$ans" + +: check for type of arguments to gethostbyaddr. +if test "X$netdb_host_type" = X -o "X$netdb_hlen_type" = X; then + case "$d_gethbyaddr" in + $define) + $cat <&4 -$cat >prototype.c <<'EOCP' -main(int argc, char *argv[]) { - exit(0);} -EOCP -if $cc $ccflags -c prototype.c >prototype.out 2>&1 ; then - echo "Your C compiler appears to support function prototypes." - val="$define" -else - echo "Your C compiler doesn't seem to understand function prototypes." - val="$undef" -fi -set prototype -eval $setvar -$rm -f prototype* +rp="What type are process ids on this system declared as?" +. ./myread +pidtype="$ans" : check for size of random number generator echo " " @@ -8367,8 +9158,9 @@ main() printf("%d\n",i); } EOCP - if $cc try.c -o try >/dev/null 2>&1 ; then - dflt=`try` + set try + if eval $compile; then + dflt=`./try$_exe` else dflt='?' echo "(I can't seem to compile the test program...)" @@ -8381,7 +9173,7 @@ esac rp='How many bits does your rand() function produce?' . ./myread randbits="$ans" -$rm -f try.c try +$rm -f try.* try : see if ar generates random libraries by itself echo " " @@ -8394,18 +9186,18 @@ EOP $cc $ccflags -c bar1.c >/dev/null 2>&1 $cc $ccflags -c bar2.c >/dev/null 2>&1 $cc $ccflags -c foo.c >/dev/null 2>&1 -ar rc bar.a bar2.o bar1.o >/dev/null 2>&1 -if $cc $ccflags $ldflags -o foobar foo.o bar.a $libs > /dev/null 2>&1 && +$ar rc bar$_a bar2$_o bar1$_o >/dev/null 2>&1 +if $cc $ccflags $ldflags -o foobar foo$_o bar$_a $libs > /dev/null 2>&1 && ./foobar >/dev/null 2>&1; then - echo "ar appears to generate random libraries itself." + echo "$ar appears to generate random libraries itself." orderlib=false ranlib=":" -elif ar ts bar.a >/dev/null 2>&1 && - $cc $ccflags $ldflags -o foobar foo.o bar.a $libs > /dev/null 2>&1 && +elif $ar ts bar$_a >/dev/null 2>&1 && + $cc $ccflags $ldflags -o foobar foo$_o bar$_a $libs > /dev/null 2>&1 && ./foobar >/dev/null 2>&1; then - echo "a table of contents needs to be added with 'ar ts'." + echo "a table of contents needs to be added with '$ar ts'." orderlib=false - ranlib="ar ts" + ranlib="$ar ts" else case "$ranlib" in :) ranlib='';; @@ -8475,10 +9267,9 @@ for i_time in '' '-DI_TIME'; do for i_systime in '-DI_SYSTIME' ''; do case "$flags" in '') $echo $n ".$c" - if $cc $ccflags \ - $i_time $i_systime $i_systimek $sysselect $s_timeval $s_timezone \ - try.c -o try >/dev/null 2>&1 ; then - set X $i_time $i_systime $i_systimek $sysselect $s_timeval + set try $i_time $i_systime $i_systimek $sysselect $s_timeval $s_timezone + if eval $compile; then + set X $i_time $i_systime $i_systimek $sysselect $s_timeval shift flags="$*" echo " " @@ -8546,7 +9337,8 @@ main() { #endif } EOCP -if $cc $ccflags -DTRYBITS fd_set.c -o fd_set >fd_set.out 2>&1 ; then +set fd_set -DTRYBITS +if eval $compile; then d_fds_bits="$define" d_fd_set="$define" echo "Well, your system knows about the normal fd_set typedef..." >&4 @@ -8563,7 +9355,8 @@ else $cat <<'EOM' Hmm, your compiler has some difficulty with fd_set. Checking further... EOM - if $cc $ccflags fd_set.c -o fd_set >fd_set.out 2>&1 ; then + set fd_set + if eval $compile; then d_fds_bits="$undef" d_fd_set="$define" echo "Well, your system has some sort of fd_set available..." >&4 @@ -8585,73 +9378,50 @@ EOM fi $rm -f fd_set* - -: check for type of arguments to select. This will only really -: work if the system supports prototypes and provides one for -: select. -case "$d_select" in -$define) - : Make initial guess - case "$selecttype" in - ''|' ') - case "$d_fd_set" in - $define) xxx='fd_set *' ;; - *) xxx='int *' ;; +: check for type of arguments to select. +case "$selecttype" in +'') case "$d_select" in + $define) + $cat <try.c < -#ifdef HAS_SOCKET -#include /* Might include */ -#endif -#ifdef I_SYS_TIME -#include -#endif -#ifdef I_SYS_SELECT -#include -#endif -main() -{ - int width; - Select_fd_set_t readfds; - Select_fd_set_t writefds; - Select_fd_set_t exceptfds; - struct timeval timeout; - select(width, readfds, writefds, exceptfds, &timeout); - exit(0); -} -EOCP - if $cc $ccflags -c -DSelect_fd_set_t="$xxx" try.c >/dev/null 2>&1 ; then - selecttype="$xxx" - echo "Your system uses $xxx for the arguments to select." >&4 - elif $cc $ccflags -c -DSelect_fd_set_t="$yyy" try.c >/dev/null 2>&1 ; then - selecttype="$yyy" - echo "Your system uses $yyy for the arguments to select." >&4 - else - rp='What is the type for the 2nd, 3rd, and 4th arguments to select?' - dflt="$xxx" - . ./myread - selecttype="$ans" - fi - $rm -f try.[co] - ;; -*) selecttype='int *' ;; esac @@ -8789,8 +9559,8 @@ EOP $cat >signal_cmd </dev/null 2>&1; then - ./signal | $sort -n +1 | $uniq | $awk -f signal.awk >signal.lst +if $cc $optimize $ccflags $ldflags -o signal signal.c $libs >/dev/null 2>&1; then + ./signal$_exe | $sort -n +1 | $uniq | $awk -f signal.awk >signal.lst else echo "(I can't seem be able to compile the test program -- Guessing)" echo 'kill -l' >signal @@ -8801,29 +9571,27 @@ else 0) set HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM;; esac echo \$@ | $tr ' ' '\012' | \ - $awk '{ printf $1; printf " %d\n", ++s; }' >signal.lst + $awk '{ printf \$1; printf " %d\n", ++s; }' >signal.lst fi -$rm -f signal.c signal signal.o +$rm -f signal.c signal signal$_o EOS chmod a+x signal_cmd $eunicefix signal_cmd : generate list of signal names echo " " -case "$sig_name" in -'') sig_num='' ;; -esac -case "$sig_num" in -'') sig_name='' ;; -esac -case "$sig_name" in +case "$sig_name_init" in '') echo "Generating a list of signal names and numbers..." >&4 ./signal_cmd sig_name=`$awk '{printf "%s ", $1}' signal.lst` sig_name="ZERO $sig_name" - sig_num=`$awk '{printf "%d ", $2}' signal.lst` - sig_num="0 $sig_num" + sig_name_init=`$awk 'BEGIN { printf "\"ZERO\", " } + { printf "\"%s\", ", $1 } + END { printf "0\n" }' signal.lst` + sig_num=`$awk 'BEGIN { printf "0, " } + { printf "%d, ", $2} + END { printf "0\n"}' signal.lst` ;; esac echo "The following signals are available:" @@ -8844,15 +9612,6 @@ echo $sig_name | $awk \ }' $rm -f signal signal.c signal.awk signal.lst signal_cmd -: see what type is used for size_t -set size_t sizetype 'unsigned int' stdio.h sys/types.h -eval $typedef -dflt="$sizetype" -echo " " -rp="What type is used for the length parameter for string functions?" -. ./myread -sizetype="$ans" - : see what type is used for signed size_t set ssize_t ssizetype int stdio.h sys/types.h eval $typedef @@ -8874,23 +9633,25 @@ main() } EOM echo " " -if $cc $ccflags $ldflags -o ssize ssize.c $libs > /dev/null 2>&1 && - ./ssize > /dev/null 2>&1 ; then +set ssize +if eval $compile && ./ssize > /dev/null; then ssizetype=`./ssize` echo "I'll be using $ssizetype for functions returning a byte count." >&4 else - echo "(I can't compile and run the test program--please enlighten me!)" - $cat <&4 </dev/null 2>&1; then else echo "false" fi -$rm -f varargs.o +$rm -f varargs$_o EOP chmod +x varargs @@ -9444,19 +10205,22 @@ known_extensions='' : some additional extensions into the source tree and expect them : to be built. for xxx in * ; do - if $test -f $xxx/$xxx.xs; then - known_extensions="$known_extensions $xxx" + case "$xxx" in + DynaLoader) ;; + *) if $test -f $xxx/$xxx.xs; then + known_extensions="$known_extensions $xxx" else - if $test -d $xxx; then - cd $xxx - for yyy in * ; do - if $test -f $yyy/$yyy.xs; then - known_extensions="$known_extensions $xxx/$yyy" - fi - done - cd .. - fi - fi + if $test -d $xxx; then + cd $xxx + for yyy in * ; do + if $test -f $yyy/$yyy.xs; then + known_extensions="$known_extensions $xxx/$yyy" + fi + done + cd .. + fi + fi ;; + esac done set X $known_extensions shift @@ -9467,32 +10231,36 @@ cd ../UU avail_ext='' for xxx in $known_extensions ; do case "$xxx" in - DB_File) case "$i_db" in + DB_File|db_file) case "$i_db" in $define) avail_ext="$avail_ext $xxx" ;; esac ;; - GDBM_File) case "$i_gdbm" in + GDBM_File|gdbm_fil) case "$i_gdbm" in $define) avail_ext="$avail_ext $xxx" ;; esac ;; - NDBM_File) case "$i_ndbm" in + NDBM_File|ndbm_fil) case "$i_ndbm" in $define) avail_ext="$avail_ext $xxx" ;; esac ;; - ODBM_File) case "${i_dbm}${i_rpcsvcdbm}" in + ODBM_File|odbm_fil) case "${i_dbm}${i_rpcsvcdbm}" in *"${define}"*) avail_ext="$avail_ext $xxx" ;; esac ;; - POSIX) case "$useposix" in + POSIX|posix) case "$useposix" in true|define|y) avail_ext="$avail_ext $xxx" ;; esac ;; - Opcode) case "$useopcode" in + Opcode|opcode) case "$useopcode" in true|define|y) avail_ext="$avail_ext $xxx" ;; esac ;; - Socket) case "$d_socket" in - $define) avail_ext="$avail_ext $xxx" ;; + Socket|socket) case "$d_socket" in + true|$define|y) avail_ext="$avail_ext $xxx" ;; + esac + ;; + Thread|thread) case "$usethreads" in + true|$define|y) avail_ext="$avail_ext $xxx" ;; esac ;; *) avail_ext="$avail_ext $xxx" @@ -9642,9 +10410,11 @@ $startsh # instead choose to run each of the .SH files by yourself, or "Configure -S". # +# Package name : $package +# Source directory : $src # Configuration time: $cf_time -# Configured by: $cf_by -# Target system: $myuname +# Configured by : $cf_by +# Target system : $myuname Author='$Author' Date='$Date' @@ -9657,6 +10427,9 @@ RCSfile='$RCSfile' Revision='$Revision' Source='$Source' State='$State' +_a='$_a' +_exe='$_exe' +_o='$_o' afs='$afs' alignbytes='$alignbytes' aphostname='$aphostname' @@ -9669,6 +10442,7 @@ awk='$awk' baserev='$baserev' bash='$bash' bin='$bin' +bincompat3='$bincompat3' binexp='$binexp' bison='$bison' byacc='$byacc' @@ -9708,9 +10482,9 @@ d_archlib='$d_archlib' d_attribut='$d_attribut' d_bcmp='$d_bcmp' d_bcopy='$d_bcopy' +d_bincompat3='$d_bincompat3' d_bsd='$d_bsd' d_bsdgetpgrp='$d_bsdgetpgrp' -d_bsdpgrp='$d_bsdpgrp' d_bsdsetpgrp='$d_bsdsetpgrp' d_bzero='$d_bzero' d_casti32='$d_casti32' @@ -9746,18 +10520,24 @@ d_flock='$d_flock' d_fork='$d_fork' d_fpathconf='$d_fpathconf' d_fsetpos='$d_fsetpos' +d_ftime='$d_ftime' d_getgrps='$d_getgrps' +d_gethbyaddr='$d_gethbyaddr' +d_gethbyname='$d_gethbyname' d_gethent='$d_gethent' d_gethname='$d_gethname' d_getlogin='$d_getlogin' +d_getnbyaddr='$d_getnbyaddr' d_getpgid='$d_getpgid' d_getpgrp2='$d_getpgrp2' d_getpgrp='$d_getpgrp' d_getppid='$d_getppid' d_getprior='$d_getprior' +d_gettimeod='$d_gettimeod' d_gnulibc='$d_gnulibc' d_htonl='$d_htonl' d_index='$d_index' +d_inetaton='$d_inetaton' d_isascii='$d_isascii' d_killpg='$d_killpg' d_link='$d_link' @@ -9781,7 +10561,6 @@ d_msgrcv='$d_msgrcv' d_msgsnd='$d_msgsnd' d_mymalloc='$d_mymalloc' d_nice='$d_nice' -d_oldarchlib='$d_oldarchlib' d_oldsock='$d_oldsock' d_open3='$d_open3' d_pathconf='$d_pathconf' @@ -9790,6 +10569,8 @@ d_phostname='$d_phostname' d_pipe='$d_pipe' d_poll='$d_poll' d_portable='$d_portable' +d_pthread_yield='$d_pthread_yield' +d_pthreads_created_joinable='$d_pthreads_created_joinable' d_pwage='$d_pwage' d_pwchange='$d_pwchange' d_pwclass='$d_pwclass' @@ -9803,6 +10584,8 @@ d_rewinddir='$d_rewinddir' d_rmdir='$d_rmdir' d_safebcpy='$d_safebcpy' d_safemcpy='$d_safemcpy' +d_sanemcmp='$d_sanemcmp' +d_sched_yield='$d_sched_yield' d_seekdir='$d_seekdir' d_select='$d_select' d_sem='$d_sem' @@ -9811,6 +10594,7 @@ d_semget='$d_semget' d_semop='$d_semop' d_setegid='$d_setegid' d_seteuid='$d_seteuid' +d_setgrps='$d_setgrps' d_setlinebuf='$d_setlinebuf' d_setlocale='$d_setlocale' d_setpgid='$d_setpgid' @@ -9845,6 +10629,9 @@ d_strcoll='$d_strcoll' d_strctcpy='$d_strctcpy' d_strerrm='$d_strerrm' d_strerror='$d_strerror' +d_strtod='$d_strtod' +d_strtol='$d_strtol' +d_strtoul='$d_strtoul' d_strxfrm='$d_strxfrm' d_suidsafe='$d_suidsafe' d_symlink='$d_symlink' @@ -9925,6 +10712,7 @@ i_malloc='$i_malloc' i_math='$i_math' i_memory='$i_memory' i_ndbm='$i_ndbm' +i_netdb='$i_netdb' i_neterrno='$i_neterrno' i_niin='$i_niin' i_pwd='$i_pwd' @@ -9992,6 +10780,7 @@ ln='$ln' lns='$lns' locincpth='$locincpth' loclibpth='$loclibpth' +longsize='$longsize' lp='$lp' lpr='$lpr' ls='$ls' @@ -10022,13 +10811,15 @@ mydomain='$mydomain' myhostname='$myhostname' myuname='$myuname' n='$n' +netdb_hlen_type='$netdb_hlen_type' +netdb_host_type='$netdb_host_type' +netdb_name_type='$netdb_name_type' +netdb_net_type='$netdb_net_type' nm_opt='$nm_opt' nm_so_opt='$nm_so_opt' nroff='$nroff' o_nonblock='$o_nonblock' obj_ext='$obj_ext' -oldarchlib='$oldarchlib' -oldarchlibexp='$oldarchlibexp' optimize='$optimize' orderlib='$orderlib' osname='$osname' @@ -10043,6 +10834,7 @@ perladmin='$perladmin' perlpath='$perlpath' pg='$pg' phostname='$phostname' +pidtype='$pidtype' plibpth='$plibpth' pmake='$pmake' pr='$pr' @@ -10066,9 +10858,11 @@ sh='$sh' shar='$shar' sharpbang='$sharpbang' shmattype='$shmattype' +shortsize='$shortsize' shrpenv='$shrpenv' shsharp='$shsharp' sig_name='$sig_name' +sig_name_init='$sig_name_init' sig_num='$sig_num' signal_t='$signal_t' sitearch='$sitearch' @@ -10086,6 +10880,7 @@ sort='$sort' spackage='$spackage' spitshell='$spitshell' split='$split' +src='$src' ssizetype='$ssizetype' startperl='$startperl' startsh='$startsh' @@ -10120,6 +10915,7 @@ useperlio='$useperlio' useposix='$useposix' usesfio='$usesfio' useshrplib='$useshrplib' +usethreads='$usethreads' usevfork='$usevfork' usrinc='$usrinc' uuname='$uuname' @@ -10131,8 +10927,8 @@ zip='$zip' EOT : add special variables -$test -f patchlevel.h && \ -awk '/^#define/ {printf "%s=%s\n",$2,$3}' patchlevel.h >>config.sh +$test -f $src/patchlevel.h && \ +awk '/^#define/ {printf "%s=%s\n",$2,$3}' $src/patchlevel.h >>config.sh echo "CONFIG=true" >>config.sh : propagate old symbols @@ -10226,6 +11022,17 @@ else echo "Done." fi +if $test -f Policy.sh; then + $cat <