X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Configure;h=128f003b2be6dc571e57c36404087efa81c17187;hb=f13a2bc0291ac6766d77bda1b46c5921237360c9;hp=c7d3a7b2ffb4b284e385f071d5ca92a71de44324;hpb=6a21b602731a3b9c2b1a55a63a48f5f4ab6dc73d;p=p5sagit%2Fp5-mst-13.2.git diff --git a/Configure b/Configure index c7d3a7b..128f003 100755 --- a/Configure +++ b/Configure @@ -20,7 +20,7 @@ # $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $ # -# Generated on Tue Jul 31 18:10:25 EET DST 2001 [metaconfig 3.0 PL70] +# Generated on Fri Jun 21 16:37:53 EET DST 2002 [metaconfig 3.0 PL70] # (with additional metaconfig patches by perlbug@perl.org) cat >c1$$ <&2 +'') cat >&2 </dev/null 2>&1`; then shsharp=true spitshell=cat xcat=/bin/cat - test -f $xcat || xcat=/usr/bin/cat + test -f $xcat$_exe || xcat=/usr/bin/cat + if test ! -f $xcat$_exe; then + for p in `echo $PATH | sed -e "s/$p_/ /g"` $paths; do + if test -f $p/cat$_exe; then + xcat=$p/cat + break + fi + done + if test ! -f $xcat$_exe; then + echo "Can't find cat anywhere!" + exit 1 + fi + fi echo "#!$xcat" >sharp $eunicefix sharp chmod +x sharp @@ -1338,23 +1485,23 @@ while test $# -gt 0; do zzz='' uuu=undef case "$yyy" in - *=*) zzz=`echo $yyy|sed 's!=.*!!'` + *=*) zzz=`echo "$yyy"|sed 's!=.*!!'` case "$zzz" in *:*) zzz='' ;; *) xxx=append - zzz=" "`echo $yyy|sed 's!^[^=]*=!!'` - yyy=`echo $yyy|sed 's!=.*!!'` ;; + zzz=" "`echo "$yyy"|sed 's!^[^=]*=!!'` + yyy=`echo "$yyy"|sed 's!=.*!!'` ;; esac ;; esac case "$xxx" in '') case "$yyy" in - *:*) xxx=`echo $yyy|sed 's!:.*!!'` - yyy=`echo $yyy|sed 's!^[^:]*:!!'` - zzz=`echo $yyy|sed 's!^[^=]*=!!'` - yyy=`echo $yyy|sed 's!=.*!!'` ;; - *) xxx=`echo $yyy|sed 's!:.*!!'` - yyy=`echo $yyy|sed 's!^[^:]*:!!'` ;; + *:*) xxx=`echo "$yyy"|sed 's!:.*!!'` + yyy=`echo "$yyy"|sed 's!^[^:]*:!!'` + zzz=`echo "$yyy"|sed 's!^[^=]*=!!'` + yyy=`echo "$yyy"|sed 's!=.*!!'` ;; + *) xxx=`echo "$yyy"|sed 's!:.*!!'` + yyy=`echo "$yyy"|sed 's!^[^:]*:!!'` ;; esac ;; esac @@ -1543,13 +1690,13 @@ if test -f MANIFEST; then set x `awk '{print $1}' < MANIFEST | grep '\.SH$'` else echo "(Looking for .SH files under the source directory.)" - set x `(cd $src; find . -name "*.SH" -print)` + set x `(cd "$src"; find . -name "*.SH" -print)` fi shift case $# in -0) set x `(cd $src; echo *.SH)`; shift;; +0) set x `(cd "$src"; echo *.SH)`; shift;; esac -if test ! -f $src/$1; then +if test ! -f "$src/$1"; then shift fi mkdir_p=' @@ -1575,7 +1722,7 @@ for file in $*; do */*) dir=`expr X$file : 'X\(.*\)/'` file=`expr X$file : 'X.*/\(.*\)'` - (cd $dir && . ./$file) + (cd "$dir" && . ./$file) ;; *) . ./$file @@ -1588,19 +1735,19 @@ for file in $*; do dir=`expr X$file : 'X\(.*\)/'` file=`expr X$file : 'X.*/\(.*\)'` (set x $dir; shift; eval $mkdir_p) - sh <$src/$dir/$file + sh <"$src/$dir/$file" ;; *) - sh <$src/$file + sh <"$src/$file" ;; esac ;; esac done -if test -f $src/config_h.SH; then +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 + . "$src/config_h.SH" fi fi EOS @@ -1656,13 +1803,13 @@ rm -f .echotmp : Now test for existence of everything in MANIFEST echo " " -if test -f $rsrc/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}' $rsrc/MANIFEST | split -50 + awk '$1 !~ /PACK[A-Z]+/ {print $1}' "$rsrc/MANIFEST" | (split -l 50 2>/dev/null || split -50) rm -f missing tmppwd=`pwd` for filelist in x??; do - (cd $rsrc; ls `cat $tmppwd/$filelist` >/dev/null 2>>$tmppwd/missing) + (cd "$rsrc"; ls `cat "$tmppwd/$filelist"` >/dev/null 2>>"$tmppwd/missing") done if test -s missing; then cat missing >&4 @@ -1712,6 +1859,11 @@ if test X"$trnl" = X; then esac fi if test X"$trnl" = X; then + case "`echo foo|tr '\r\n' xy 2>/dev/null`" in + fooxy) trnl='\n\r' ;; + esac +fi +if test X"$trnl" = X; then cat <&2 $me: Fatal Error: cannot figure out how to translate newlines with 'tr'. @@ -1994,6 +2146,9 @@ for dir in \$*; do if test -f \$thisthing; then echo \$thisthing exit 0 + elif test "X$_exe" != X -a -f \$thisthing$_exe; then + echo \$thisthing + exit 0 elif test -f \$dir/\$thing.exe; then if test -n "$DJGPP"; then echo \$dir/\$thing.exe @@ -2021,7 +2176,6 @@ echo expr grep ls -make mkdir rm sed @@ -2039,9 +2193,11 @@ cpp csh date egrep +gmake gzip less ln +make more nm nroff @@ -2066,7 +2222,7 @@ for file in $loclist; do '') xxx=`./loc $file $file $pth`;; *) xxx=`./loc $xxx $xxx $pth`;; esac - eval $file=$xxx + eval $file=$xxx$_exe eval _$file=$xxx case "$xxx" in /*) @@ -2099,7 +2255,7 @@ for file in $trylist; do '') xxx=`./loc $file $file $pth`;; *) xxx=`./loc $xxx $xxx $pth`;; esac - eval $file=$xxx + eval $file=$xxx$_exe eval _$file=$xxx case "$xxx" in /*) @@ -2118,12 +2274,37 @@ case "$egrep" in egrep) echo "Substituting grep for egrep." egrep=$grep + _egrep=$grep ;; esac case "$ln" in ln) echo "Substituting cp for ln." ln=$cp + _ln=$cp + ;; +esac +case "$make" in +make) + case "$gmake" in + gmake) + echo "I can't find make or gmake, and my life depends on it." >&4 + echo "Go find a public domain implementation or fix your PATH setting!" >&4 + exit 1 + ;; + esac + ;; +esac +case "$gmake" in +gmake) ;; +*) # We can't have osname yet. + if test -f "/system/gnu_library/bin/ar.pm"; then # Stratus VOS + # Assume that gmake, if found, is definitely GNU make + # and prefer it over the system make. + echo "Substituting gmake for make." + make=$gmake + _make=$gmake + fi ;; esac case "$test" in @@ -2169,10 +2350,10 @@ FOO ;; esac -cat <checkcc +cat <trygcc $startsh EOS -cat <<'EOSC' >>checkcc +cat <<'EOSC' >>trygcc case "$cc" in '') ;; *) $rm -f try try.* @@ -2210,19 +2391,50 @@ EOM fi fi case "$ans" in - [yY]*) cc=gcc; ccname=gcc; ccflags=''; despair=no ;; + [yY]*) cc=gcc; ccname=gcc; ccflags=''; despair=no; + if $test -f usethreads.cbu; then + $cat >&4 <checkcc +$startsh +EOS +cat <<'EOSC' >>checkcc +case "$cc" in +'') ;; +*) $rm -f try try.* + $cat >try.c <&4 <&4 + fi + $cat >&4 <&4 $lns blurfl sym if $test "X$issymlink" = X; then - sh -c "PATH= test -h sym" >/dev/null 2>&1 + case "$newsh" in + '') sh -c "PATH= test -h sym" >/dev/null 2>&1 ;; + *) $newsh -c "PATH= test -h sym" >/dev/null 2>&1 ;; + esac if test $? = 0; then issymlink="test -h" - fi - fi - if $test "X$issymlink" = X; then - if $test -h >/dev/null 2>&1; then - issymlink="$test -h" - echo "Your builtin 'test -h' may be broken, I'm using external '$test -h'." >&4 + else + echo "Your builtin 'test -h' may be broken." >&4 + case "$test" in + /*) ;; + *) pth=`echo $PATH | sed -e "s/$p_/ /g"` + for p in $pth + do + if test -f "$p/$test"; then + test="$p/$test" + break + fi + done + ;; + esac + case "$test" in + /*) + echo "Trying external '$test -h'." >&4 + issymlink="$test -h" + if $test ! -h sym >/dev/null 2>&1; then + echo "External '$test -h' is broken, too." >&4 + issymlink='' + fi + ;; + *) issymlink='' ;; + esac fi fi if $test "X$issymlink" = X; then if $test -L sym 2>/dev/null; then issymlink="$test -L" + echo "The builtin '$test -L' worked." >&4 fi fi if $test "X$issymlink" != X; then @@ -2284,7 +2519,7 @@ $define|true|[yY]*) exit 1 ;; *) case "$lns:$issymlink" in - *"ln -s:"*"test -"?) + *"ln"*" -s:"*"test -"?) echo "Creating the symbolic links..." >&4 echo "(First creating the subdirectories...)" >&4 cd .. @@ -2722,6 +2957,7 @@ EOM $test -d /usr/apollo/bin && osname=apollo $test -f /etc/saf/_sactab && osname=svr4 $test -d /usr/include/minix && osname=minix + $test -f /system/gnu_library/bin/ar.pm && osname=vos if $test -d /MachTen -o -d /MachTen_Folder; then osname=machten if $test -x /sbin/version; then @@ -2843,6 +3079,9 @@ EOM ;; next*) osname=next ;; nonstop-ux) osname=nonstopux ;; + openbsd) osname=openbsd + osvers="$3" + ;; POSIX-BC | posix-bc ) osname=posix-bc osvers="$3" ;; @@ -2894,9 +3133,11 @@ EOM unixware) osname=svr5 osvers="$4" ;; - uts) osname=uts + uts) osname=uts osvers="$3" ;; + vos) osvers="$3" + ;; $2) case "$osname" in *isc*) ;; *freebsd*) ;; @@ -3185,20 +3426,100 @@ $undef$define) . ./whoa; eval "$var=\$tu";; *) eval "$var=$val";; esac' +case "$usesocks" in +$define|true|[yY]*) dflt='y';; +*) dflt='n';; +esac +cat <. Versions 5.003_02 and later of $package allow +alternate IO mechanisms via the PerlIO abstraction layer, but the +stdio mechanism is still available if needed. The 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. + +If this doesn't make any sense to you, just accept the default '$dflt'. +EOM +rp='Use the PerlIO abstraction layer?' +. ./myread +case "$ans" in +y|Y) + val="$define" + ;; +*) + echo "Ok, doing things the stdio way." + val="$undef" + ;; +esac +set useperlio +eval $setvar + +case "$usesocks" in +$define|true|[yY]*) + case "$useperlio" in + $define|true|[yY]*) ;; + *) cat >&4 <&4 <try.c + for incdir in `$cc -v -c try.c 2>&1 | \ + sed '1,/^#include <\.\.\.>/d;/^End of search list/,$d;s/^ //'` ; do + locincpth=`echo $locincpth | sed s!$incdir!!` + done + $rm -f try try.* +esac : decide how portable to be. Allow command line overrides. case "$d_portable" in @@ -3586,7 +3930,9 @@ esac case "$fn" in *\(*) - expr $fn : '.*(\(.*\)).*' | $tr ',' $trnl >getfile.ok + : getfile will accept an answer from the comma-separated list + : enclosed in parentheses even if it does not meet other criteria. + expr "$fn" : '.*(\(.*\)).*' | $tr ',' $trnl >getfile.ok fn=`echo $fn | sed 's/(.*)//'` ;; esac @@ -4068,7 +4414,7 @@ so="$ans" : or the new name. case "$_exe" in '') case "$exe_ext" in - '') ;; + '') ;; *) _exe="$exe_ext" ;; esac ;; @@ -4104,31 +4450,6 @@ case "$firstmakefile" in '') firstmakefile='makefile';; esac -case "$usesocks" in -$define|true|[yY]*) dflt='y';; -*) dflt='n';; -esac -cat <&4 @@ -4153,7 +4474,7 @@ for thislib in $libswanted; do for thisdir in $libspath; do xxx='' if $test ! -f "$xxx" -a "X$ignore_versioned_solibs" = "X"; then - xxx=`ls $thisdir/lib$thislib.$so.[0-9] 2>/dev/null|tail -1` + xxx=`ls $thisdir/lib$thislib.$so.[0-9] 2>/dev/null|sed -n '$p'` $test -f "$xxx" && eval $libscheck $test -f "$xxx" && libstyle=shared fi @@ -4606,164 +4927,39 @@ EOM esac $rm -f try try.* -: check for void type +: check for long long echo " " -echo "Checking to see how well your C compiler groks the void type..." >&4 -case "$voidflags" in -'') - $cat >try.c <<'EOCP' -#if TRY & 1 -void sub() { -#else -sub() { -#endif - extern void moo(); /* function returning void */ - void (*goo)(); /* ptr to func returning void */ -#if TRY & 8 - void *hue; /* generic ptr */ -#endif -#if TRY & 2 - void (*foo[10])(); -#endif +echo "Checking to see if you have long long..." >&4 +echo 'int main() { long long x = 7; return 0; }' > try.c +set try +if eval $compile; then + val="$define" + echo "You have long long." +else + val="$undef" + echo "You do not have long long." +fi +$rm try.* +set d_longlong +eval $setvar -#if TRY & 4 - if(goo == moo) { - exit(0); - } -#endif - exit(0); +: check for length of long long +case "${d_longlong}${longlongsize}" in +$define) + echo " " + echo "Checking to see how big your long longs are..." >&4 + $cat >try.c <<'EOCP' +#include +int main() +{ + printf("%d\n", (int)sizeof(long long)); + return(0); } -int main() { sub(); } EOCP - if $cc $ccflags -c -DTRY=$defvoidused try.c >.out 2>&1 ; then - voidflags=$defvoidused - echo "Good. It appears to support void to the level $package wants.">&4 - if $contains warning .out >/dev/null 2>&1; then - echo "However, you might get some warnings that look like this:" - $cat .out - fi - else -echo "Hmm, your compiler has some difficulty with void. Checking further..." >&4 - if $cc $ccflags -c -DTRY=1 try.c >/dev/null 2>&1; then - echo "It supports 1..." - if $cc $ccflags -c -DTRY=3 try.c >/dev/null 2>&1; then - echo "It also supports 2..." - if $cc $ccflags -c -DTRY=7 try.c >/dev/null 2>&1; then - voidflags=7 - echo "And it supports 4 but not 8 definitely." - else - echo "It doesn't support 4..." - if $cc $ccflags -c -DTRY=11 try.c >/dev/null 2>&1; then - voidflags=11 - echo "But it supports 8." - else - voidflags=3 - echo "Neither does it support 8." - fi - fi - else - echo "It does not support 2..." - if $cc $ccflags -c -DTRY=13 try.c >/dev/null 2>&1; then - voidflags=13 - echo "But it supports 4 and 8." - else - if $cc $ccflags -c -DTRY=5 try.c >/dev/null 2>&1; then - voidflags=5 - echo "And it supports 4 but has not heard about 8." - else - echo "However it supports 8 but not 4." - fi - fi - fi - else - echo "There is no support at all for void." - voidflags=0 - fi - fi -esac -case "$voidflags" in -"$defvoidused") ;; -*) $cat >&4 <<'EOM' - Support flag bits are: - 1: basic void declarations. - 2: arrays of pointers to functions returning void. - 4: operations between pointers to and addresses of void functions. - 8: generic void pointers. -EOM - dflt="$voidflags"; - rp="Your void support flags add up to what?" - . ./myread - voidflags="$ans" - ;; -esac -$rm -f try.* .out - -: check for length of pointer -echo " " -case "$ptrsize" in -'') - echo "Checking to see how big your pointers are..." >&4 - if test "$voidflags" -gt 7; then - echo '#define VOID_PTR char *' > try.c - else - echo '#define VOID_PTR void *' > try.c - fi - $cat >>try.c <<'EOCP' -#include -int main() -{ - printf("%d\n", (int)sizeof(VOID_PTR)); - exit(0); -} -EOCP - set try - if eval $compile_ok; then - ptrsize=`$run ./try` - echo "Your pointers are $ptrsize bytes long." - else - dflt='4' - echo "(I can't seem to compile the test program. Guessing...)" >&4 - rp="What is the size of a pointer (in bytes)?" - . ./myread - ptrsize="$ans" - fi - ;; -esac -$rm -f try.c try - -: check for long long -echo " " -echo "Checking to see if you have long long..." >&4 -echo 'int main() { long long x = 7; return 0; }' > try.c -set try -if eval $compile; then - val="$define" - echo "You have long long." -else - val="$undef" - echo "You do not have long long." -fi -$rm try.* -set d_longlong -eval $setvar - -: check for length of long long -case "${d_longlong}${longlongsize}" in -$define) - echo " " - echo "Checking to see how big your long longs are..." >&4 - $cat >try.c <<'EOCP' -#include -int main() -{ - printf("%d\n", (int)sizeof(long long)); - return(0); -} -EOCP - set try - if eval $compile_ok; then - longlongsize=`$run ./try` - echo "Your long longs are $longlongsize bytes long." + set try + if eval $compile_ok; then + longlongsize=`$run ./try` + echo "Your long longs are $longlongsize bytes long." else dflt='8' echo " " @@ -4782,6 +4978,10 @@ $rm -f try.* try : determine filename position in cpp output echo " " echo "Computing filename position in cpp output for #include directives..." >&4 +case "$osname" in +vos) testaccess=-e ;; +*) testaccess=-r ;; +esac echo '#include ' > foo.c $cat >fieldn < +*) cppfilter='' ;; +esac : locate header file $cat >findhdr <" > foo\$\$.c $cppstdin $cppminus $cppflags < foo\$\$.c 2>/dev/null | \ -$grep "^[ ]*#.*\$wanted" | \ +$cppfilter $grep "^[ ]*#.*\$wanted" | \ while read cline; do name=\`echo \$cline | $awk "\$awkprg" | $tr -d '"'\` case "\$name" in @@ -5122,31 +5326,6 @@ EOM ;; esac -case "$use64bitall" in -"$define"|true|[yY]*) - case "$ptrsize" in - 4) cat <&4 - -*** You have chosen a maximally 64-bit build, but your pointers -*** are only 4 bytes wide, disabling maximal 64-bitness. - -EOM - use64bitall="$undef" - case "$use64bitint" in - "$define"|true|[yY]*) ;; - *) cat <&4 - -*** Downgrading from maximal 64-bitness to using 64-bit integers. - -EOM - use64bitint="$define" - ;; - esac - ;; - esac - ;; -esac - case "$use64bitint" in "$define"|true|[yY]*) : Look for a hint-file generated 'call-back-unit'. If the @@ -5185,26 +5364,43 @@ esac echo " " echo "Checking for GNU C Library..." >&4 -cat >try.c <try.c <<'EOCP' +/* Find out version of GNU C library. __GLIBC__ and __GLIBC_MINOR__ + alone are insufficient to distinguish different versions, such as + 2.0.6 and 2.0.7. The function gnu_get_libc_version() appeared in + libc version 2.1.0. A. Dougherty, June 3, 2002. +*/ #include -int main() +int main(void) { #ifdef __GLIBC__ - exit(0); +# ifdef __GLIBC_MINOR__ +# if __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 1 +# include + printf("%s\n", gnu_get_libc_version()); +# else + printf("%d.%d\n", __GLIBC__, __GLIBC_MINOR__); +# endif +# else + printf("%d\n", __GLIBC__); +# endif + return 0; #else - exit(1); + return 1; #endif } -EOM +EOCP set try -if eval $compile_ok && $run ./try; then +if eval $compile_ok && $run ./try > glibc.ver; then val="$define" - echo "You are using the GNU C Library" + gnulibc_version=`$cat glibc.ver` + echo "You are using the GNU C Library version $gnulibc_version" else val="$undef" + gnulibc_version='' echo "You are not using the GNU C Library" fi -$rm -f try try.* +$rm -f try try.* glibc.ver set d_gnulibc eval $setvar @@ -5457,7 +5653,7 @@ done >libc.tmp $echo $n ".$c" $grep fprintf libc.tmp > libc.ptf xscan='eval "libc.list"; $echo $n ".$c" >&4' -xrun='eval "libc.list"; echo "done" >&4' +xrun='eval "libc.list"; echo "done." >&4' xxx='[ADTSIW]' if com="$sed -n -e 's/__IO//' -e 's/^.* $xxx *_[_.]*//p' -e 's/^.* $xxx *//p'";\ eval $xscan;\ @@ -5644,63 +5840,6 @@ esac' set sqrtl d_sqrtl eval $inlibc -case "$ccflags" in -*-DUSE_LONG_DOUBLE*|*-DUSE_MORE_BITS*) uselongdouble="$define" ;; -esac - -case "$uselongdouble" in -$define|true|[yY]*) dflt='y';; -*) dflt='n';; -esac -cat <&4 - -*** You requested the use of long doubles but you do not seem to have -*** the mathematic functions for long doubles. I'm disabling the use -*** of long doubles. - -EOM - uselongdouble=$undef - ;; -esac - : check for length of double echo " " case "$doublesize" in @@ -5777,51 +5916,253 @@ EOCP esac $rm -f try.* try -case "$useperlio" in -$define|true|[yY]*|'') dflt='y';; -*) dflt='n';; -esac -cat <. Versions 5.003_02 and later of $package allow -alternate IO mechanisms via the PerlIO abstraction layer, but the -stdio mechanism is still available if needed. The 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. +echo " " -If this doesn't make any sense to you, just accept the default '$dflt'. -EOM -rp='Use the PerlIO abstraction layer?' -. ./myread -case "$ans" in -y|Y) - val="$define" - ;; -*) - echo "Ok, doing things the stdio way." - val="$undef" - ;; -esac -set useperlio -eval $setvar +if $test X"$d_longdbl" = X"$define"; then -case "$usesocks" in -$define|true|[yY]*) - case "$useperlio" in - $define|true|[yY]*) ;; - *) cat >&4 <&4 -You are using the SOCKS proxy protocol library which means that you -should also use the PerlIO layer. You may be headed for trouble. +if $test X"$sPRIfldbl" = X -a X"$doublesize" = X"$longdblsize"; then + $cat >try.c <<'EOCP' +#include +#include +int main() { + double d = 123.456; + printf("%.3f\n", d); +} +EOCP + set try + if eval $compile; then + yyy=`$run ./try` + case "$yyy" in + 123.456) + sPRIfldbl='"f"'; sPRIgldbl='"g"'; sPRIeldbl='"e"'; + sPRIFUldbl='"F"'; sPRIGUldbl='"G"'; sPRIEUldbl='"E"'; + echo "We will use %f." + ;; + esac + fi +fi -EOM - ;; +if $test X"$sPRIfldbl" = X; then + $cat >try.c <<'EOCP' +#include +#include +int main() { + long double d = 123.456; + printf("%.3Lf\n", d); +} +EOCP + set try + if eval $compile; then + yyy=`$run ./try` + case "$yyy" in + 123.456) + sPRIfldbl='"Lf"'; sPRIgldbl='"Lg"'; sPRIeldbl='"Le"'; + sPRIFUldbl='"LF"'; sPRIGUldbl='"LG"'; sPRIEUldbl='"LE"'; + echo "We will use %Lf." + ;; + esac + fi +fi + +if $test X"$sPRIfldbl" = X; then + $cat >try.c <<'EOCP' +#include +#include +int main() { + long double d = 123.456; + printf("%.3llf\n", d); +} +EOCP + set try + if eval $compile; then + yyy=`$run ./try` + case "$yyy" in + 123.456) + sPRIfldbl='"llf"'; sPRIgldbl='"llg"'; sPRIeldbl='"lle"'; + sPRIFUldbl='"llF"'; sPRIGUldbl='"llG"'; sPRIEUldbl='"llE"'; + echo "We will use %llf." + ;; + esac + fi +fi + +if $test X"$sPRIfldbl" = X; then + $cat >try.c <<'EOCP' +#include +#include +int main() { + long double d = 123.456; + printf("%.3lf\n", d); +} +EOCP + set try + if eval $compile; then + yyy=`$run ./try` + case "$yyy" in + 123.456) + sPRIfldbl='"lf"'; sPRIgldbl='"lg"'; sPRIeldbl='"le"'; + sPRIFUldbl='"lF"'; sPRIGUldbl='"lG"'; sPRIEUldbl='"lE"'; + echo "We will use %lf." + ;; + esac + fi +fi + +if $test X"$sPRIfldbl" = X; then + echo "Cannot figure out how to print long doubles." >&4 +else + sSCNfldbl=$sPRIfldbl # expect consistency +fi + +$rm -f try try.* + +fi # d_longdbl + +case "$sPRIfldbl" in +'') d_PRIfldbl="$undef"; d_PRIgldbl="$undef"; d_PRIeldbl="$undef"; + d_PRIFUldbl="$undef"; d_PRIGUldbl="$undef"; d_PRIEUldbl="$undef"; + d_SCNfldbl="$undef"; + ;; +*) d_PRIfldbl="$define"; d_PRIgldbl="$define"; d_PRIeldbl="$define"; + d_PRIFUldbl="$define"; d_PRIGUldbl="$define"; d_PRIEUldbl="$define"; + d_SCNfldbl="$define"; + ;; +esac + +: see if modfl exists +set modfl d_modfl +eval $inlibc + +d_modfl_pow32_bug="$undef" + +case "$d_longdbl$d_modfl" in +$define$define) + $cat <try.c < +#include +int main() { + long double nv = 4294967303.15; + long double v, w; + v = modfl(nv, &w); +#ifdef __GLIBC__ + printf("glibc"); +#endif + printf(" %"$sPRIfldbl" %"$sPRIfldbl" %"$sPRIfldbl"\n", nv, v, w); + return 0; +} +EOCP + case "$osname:$gccversion" in + aix:) saveccflags="$ccflags" + ccflags="$ccflags -qlongdouble" ;; # to avoid core dump + esac + set try + if eval $compile; then + foo=`$run ./try` + case "$foo" in + *" 4294967303.150000 1.150000 4294967302.000000") + echo >&4 "Your modfl() is broken for large values." + d_modfl_pow32_bug="$define" + case "$foo" in + glibc) echo >&4 "You should upgrade your glibc to at least 2.2.2 to get a fixed modfl()." + ;; + esac + ;; + *" 4294967303.150000 0.150000 4294967303.000000") + echo >&4 "Your modfl() seems okay for large values." + ;; + *) echo >&4 "I don't understand your modfl() at all." + d_modfl="$undef" + ;; + esac + $rm -f try.* try core core.try.* + else + echo "I cannot figure out whether your modfl() is okay, assuming it isn't." + d_modfl="$undef" + fi + case "$osname:$gccversion" in + aix:) ccflags="$saveccflags" ;; # restore esac ;; esac - +case "$ccflags" in +*-DUSE_LONG_DOUBLE*|*-DUSE_MORE_BITS*) uselongdouble="$define" ;; +esac + +case "$uselongdouble" in +$define|true|[yY]*) dflt='y';; +*) dflt='n';; +esac +cat <&4 + +*** You requested the use of long doubles but you do not seem to have +*** the mathematic functions for long doubles. +*** ($message) +*** I'm disabling the use of long doubles. + +EOM + + uselongdouble=$undef +fi + : determine the architecture name echo " " if xxx=`./loc arch blurfl $pth`; $test -f "$xxx"; then @@ -5908,7 +6249,7 @@ $define) echo "Long doubles selected." >&4 case "$longdblsize" in $doublesize) - "...but long doubles are equal to doubles, not changing architecture name." >&4 + echo "...but long doubles are equal to doubles, not changing architecture name." >&4 ;; *) case "$archname" in @@ -6201,45 +6542,6 @@ else installarchlib="$archlibexp" fi - -: Binary compatibility with 5.005 is not possible for builds -: with advanced features -case "$usethreads$usemultiplicity" in -*define*) - bincompat5005="$undef" - d_bincompat5005="$undef" - ;; -*) $cat <& 4 + echo "No need to emulate SUID scripts since they are secure here." >&4 ;; *) $cat <&4 - set `echo X $libs | $sed -e 's/-lmalloc / /' -e 's/-lmalloc$//'` - shift - libs="$*" - echo "libs = $libs" >&4 - ;; - esac - ;; -*) - usemymalloc='n' - mallocsrc='' - mallocobj='' +echo "Checking to see how well your C compiler groks the void type..." >&4 +case "$voidflags" in +'') + $cat >try.c <<'EOCP' +#if TRY & 1 +void sub() { +#else +sub() { +#endif + extern void moo(); /* function returning void */ + void (*goo)(); /* ptr to func returning void */ +#if TRY & 8 + void *hue; /* generic ptr */ +#endif +#if TRY & 2 + void (*foo[10])(); +#endif + +#if TRY & 4 + if(goo == moo) { + exit(0); + } +#endif + exit(0); +} +int main() { sub(); } +EOCP + if $cc $ccflags -c -DTRY=$defvoidused try.c >.out 2>&1 ; then + voidflags=$defvoidused + echo "Good. It appears to support void to the level $package wants.">&4 + if $contains warning .out >/dev/null 2>&1; then + echo "However, you might get some warnings that look like this:" + $cat .out + fi + else +echo "Hmm, your compiler has some difficulty with void. Checking further..." >&4 + if $cc $ccflags -c -DTRY=1 try.c >/dev/null 2>&1; then + echo "It supports 1..." + if $cc $ccflags -c -DTRY=3 try.c >/dev/null 2>&1; then + echo "It also supports 2..." + if $cc $ccflags -c -DTRY=7 try.c >/dev/null 2>&1; then + voidflags=7 + echo "And it supports 4 but not 8 definitely." + else + echo "It doesn't support 4..." + if $cc $ccflags -c -DTRY=11 try.c >/dev/null 2>&1; then + voidflags=11 + echo "But it supports 8." + else + voidflags=3 + echo "Neither does it support 8." + fi + fi + else + echo "It does not support 2..." + if $cc $ccflags -c -DTRY=13 try.c >/dev/null 2>&1; then + voidflags=13 + echo "But it supports 4 and 8." + else + if $cc $ccflags -c -DTRY=5 try.c >/dev/null 2>&1; then + voidflags=5 + echo "And it supports 4 but has not heard about 8." + else + echo "However it supports 8 but not 4." + fi + fi + fi + else + echo "There is no support at all for void." + voidflags=0 + fi + fi +esac +case "$voidflags" in +"$defvoidused") ;; +*) $cat >&4 <<'EOM' + Support flag bits are: + 1: basic void declarations. + 2: arrays of pointers to functions returning void. + 4: operations between pointers to and addresses of void functions. + 8: generic void pointers. +EOM + dflt="$voidflags"; + rp="Your void support flags add up to what?" + . ./myread + voidflags="$ans" + ;; +esac +$rm -f try.* .out + +: check for length of pointer +echo " " +case "$ptrsize" in +'') + echo "Checking to see how big your pointers are..." >&4 + if test "$voidflags" -gt 7; then + echo '#define VOID_PTR char *' > try.c + else + echo '#define VOID_PTR void *' > try.c + fi + $cat >>try.c <<'EOCP' +#include +int main() +{ + printf("%d\n", (int)sizeof(VOID_PTR)); + exit(0); +} +EOCP + set try + if eval $compile_ok; then + ptrsize=`$run ./try` + echo "Your pointers are $ptrsize bytes long." + else + dflt='4' + echo "(I can't seem to compile the test program. Guessing...)" >&4 + rp="What is the size of a pointer (in bytes)?" + . ./myread + ptrsize="$ans" + fi + ;; +esac +$rm -f try.c try +case "$use64bitall" in +"$define"|true|[yY]*) + case "$ptrsize" in + 4) cat <&4 + +*** You have chosen a maximally 64-bit build, but your pointers +*** are only 4 bytes wide, disabling maximal 64-bitness. + +EOM + use64bitall="$undef" + case "$use64bitint" in + "$define"|true|[yY]*) ;; + *) cat <&4 + +*** Downgrading from maximal 64-bitness to using 64-bit integers. + +EOM + use64bitint="$define" + ;; + esac + ;; + esac + ;; +esac + + +: determine which malloc to compile in +echo " " +case "$usemymalloc" in +[yY]*|true|$define) dflt='y' ;; +[nN]*|false|$undef) dflt='n' ;; +*) case "$ptrsize" in + 4) dflt='y' ;; + *) dflt='n' ;; + esac + ;; +esac +rp="Do you wish to attempt to use the malloc that comes with $package?" +. ./myread +usemymalloc="$ans" +case "$ans" in +y*|true) + usemymalloc='y' + mallocsrc='malloc.c' + mallocobj="malloc$_o" + d_mymalloc="$define" + case "$libs" in + *-lmalloc*) + : Remove malloc from list of libraries to use + echo "Removing unneeded -lmalloc from library list" >&4 + set `echo X $libs | $sed -e 's/-lmalloc / /' -e 's/-lmalloc$//'` + shift + libs="$*" + echo "libs = $libs" >&4 + ;; + esac + ;; +*) + usemymalloc='n' + mallocsrc='' + mallocobj='' d_mymalloc="$undef" ;; esac @@ -6772,13 +7224,14 @@ be asked later to configure the CPAN.pm module which will in turn do the installation of the rest of the extra modules or bundles.) Notice also that if the modules require any external software such as -libraries (the libz library for the Compress::Zlib module, for example) -you *NEED* to have any such external software already installed, this -configuration process will not install such things for you. +libraries and headers (the libz library and the zlib.h header for the +Compress::Zlib module, for example) you MUST have any such software +already installed, this configuration process will NOT install such +things for you. If this doesn't make any sense to you, just accept the default '$dflt'. EOM -rp='Install any extra modules (y or n) ?' +rp='Install any extra modules (y or n)?' . ./myread case "$ans" in y|Y) @@ -6786,8 +7239,8 @@ y|Y) Please list any extra modules or bundles to be installed from CPAN, with spaces between the names. The names can be in any format the -'install' command of CPAN.pm will understand. (Answer 'none' the -quotes, to install no extra modules or bundles.) +'install' command of CPAN.pm will understand. (Answer 'none', +without the quotes, to install no extra modules or bundles.) EOM rp='Extras?' dflt="$extras" @@ -6800,8 +7253,8 @@ case "$extras" in $rm -f ../extras.lst ;; *) echo "(Saving the list of extras for later...)" - echo $extras > ../extras.lst - val="$extras" + echo "$extras" > ../extras.lst + val="'$extras'" ;; esac set extras @@ -6895,13 +7348,9 @@ case "$dflt" in ''|' ') dflt=none ;; esac case "$dflt" in -5.005) case "$bincompat5005" in - $define|true|[yY]*) ;; - *) dflt=none ;; - esac - ;; +5.005) dflt=none ;; esac -$cat <<'EOM' +$cat <&4 - -if $test X"$sPRIfldbl" = X -a X"$doublesize" = X"$longdblsize"; then - $cat >try.c <<'EOCP' -#include -#include -int main() { - double d = 123.456; - printf("%.3f\n", d); -} -EOCP - set try - if eval $compile; then - yyy=`$run ./try` - case "$yyy" in - 123.456) - sPRIfldbl='"f"'; sPRIgldbl='"g"'; sPRIeldbl='"e"'; - sPRIFUldbl='"F"'; sPRIGUldbl='"G"'; sPRIEUldbl='"E"'; - echo "We will use %f." - ;; - esac - fi -fi - -if $test X"$sPRIfldbl" = X; then - $cat >try.c <<'EOCP' -#include -#include -int main() { - long double d = 123.456; - printf("%.3Lf\n", d); -} -EOCP - set try - if eval $compile; then - yyy=`$run ./try` - case "$yyy" in - 123.456) - sPRIfldbl='"Lf"'; sPRIgldbl='"Lg"'; sPRIeldbl='"Le"'; - sPRIFUldbl='"LF"'; sPRIGUldbl='"LG"'; sPRIEUldbl='"LE"'; - echo "We will use %Lf." - ;; - esac - fi -fi - -if $test X"$sPRIfldbl" = X; then - $cat >try.c <<'EOCP' -#include -#include -int main() { - long double d = 123.456; - printf("%.3llf\n", d); -} -EOCP - set try - if eval $compile; then - yyy=`$run ./try` - case "$yyy" in - 123.456) - sPRIfldbl='"llf"'; sPRIgldbl='"llg"'; sPRIeldbl='"lle"'; - sPRIFUldbl='"llF"'; sPRIGUldbl='"llG"'; sPRIEUldbl='"llE"'; - echo "We will use %llf." - ;; - esac - fi -fi - -if $test X"$sPRIfldbl" = X; then - $cat >try.c <<'EOCP' -#include -#include -int main() { - long double d = 123.456; - printf("%.3lf\n", d); -} -EOCP - set try - if eval $compile; then - yyy=`$run ./try` - case "$yyy" in - 123.456) - sPRIfldbl='"lf"'; sPRIgldbl='"lg"'; sPRIeldbl='"le"'; - sPRIFUldbl='"lF"'; sPRIGUldbl='"lG"'; sPRIEUldbl='"lE"'; - echo "We will use %lf." - ;; - esac - fi -fi - -if $test X"$sPRIfldbl" = X; then - echo "Cannot figure out how to print long doubles." >&4 -else - sSCNfldbl=$sPRIfldbl # expect consistency -fi - -$rm -f try try.* - -fi # d_longdbl - -case "$sPRIfldbl" in -'') d_PRIfldbl="$undef"; d_PRIgldbl="$undef"; d_PRIeldbl="$undef"; - d_PRIFUldbl="$undef"; d_PRIGUldbl="$undef"; d_PRIEUldbl="$undef"; - d_SCNfldbl="$undef"; - ;; -*) d_PRIfldbl="$define"; d_PRIgldbl="$define"; d_PRIeldbl="$define"; - d_PRIFUldbl="$define"; d_PRIGUldbl="$define"; d_PRIEUldbl="$define"; - d_SCNfldbl="$define"; - ;; -esac - -: Check how to convert floats to strings. -echo " " -echo "Checking for an efficient way to convert floats to strings." -echo " " > try.c -case "$uselongdouble" in -"$define") echo "#define USE_LONG_DOUBLE" >>try.c ;; -esac -case "$d_longdbl" in -"$define") echo "#define HAS_LONG_DOUBLE" >>try.c ;; -esac -case "$d_PRIgldbl" in -"$define") echo "#define HAS_PRIgldbl" >>try.c ;; -esac -$cat >>try.c < try.c +case "$uselongdouble" in +"$define") echo "#define USE_LONG_DOUBLE" >>try.c ;; +esac +case "$d_longdbl" in +"$define") echo "#define HAS_LONG_DOUBLE" >>try.c ;; +esac +case "$d_PRIgldbl" in +"$define") echo "#define HAS_PRIgldbl" >>try.c ;; +esac +$cat >>try.c < @@ -8529,6 +8882,21 @@ int main() Gconvert((DOUBLETYPE)0.1, 8, 0, buf); checkit("0.1", buf); + Gconvert((DOUBLETYPE)0.01, 8, 0, buf); + checkit("0.01", buf); + + Gconvert((DOUBLETYPE)0.001, 8, 0, buf); + checkit("0.001", buf); + + Gconvert((DOUBLETYPE)0.0001, 8, 0, buf); + checkit("0.0001", buf); + + Gconvert((DOUBLETYPE)0.00009, 8, 0, buf); + if (strlen(buf) > 5) + checkit("9e-005", buf); /* for Microsoft ?? */ + else + checkit("9e-05", buf); + Gconvert((DOUBLETYPE)1.0, 8, 0, buf); checkit("1", buf); @@ -8567,31 +8935,65 @@ int main() Gconvert((DOUBLETYPE)123.456, 8, 0, buf); checkit("123.456", buf); - /* Testing of 1e+129 in bigintpm.t must not get extra '.' here. */ - Gconvert((DOUBLETYPE)1e30, 8, 0, buf); - if (strlen(buf) > 5) - checkit("1e+030", buf); /* for Microsoft */ - else - checkit("1e+30", buf); + /* Testing of 1e+129 in bigintpm.t must not get extra '.' here. */ + Gconvert((DOUBLETYPE)1e34, 8, 0, buf); + /* 34 should be enough to scare even long double + * places into using the e notation. */ + if (strlen(buf) > 5) + checkit("1e+034", buf); /* for Microsoft */ + else + checkit("1e+34", buf); + + /* For Perl, if you add additional tests here, also add them to + * t/base/num.t for benefit of platforms not using Configure or + * overriding d_Gconvert */ exit(0); } EOP -case "$d_Gconvert" in -gconvert*) xxx_list='gconvert gcvt sprintf' ;; -gcvt*) xxx_list='gcvt gconvert sprintf' ;; -sprintf*) xxx_list='sprintf gconvert gcvt' ;; -*) xxx_list='gconvert gcvt sprintf' ;; -esac - -case "$d_longdbl$uselongdouble$d_PRIgldbl" in -"$define$define$define") - # for long doubles prefer first qgcvt, then sprintf - xxx_list="`echo $xxx_list|sed s/sprintf//`" - xxx_list="sprintf $xxx_list" - case "$d_qgcvt" in - "$define") xxx_list="qgcvt $xxx_list" ;; - esac +: first add preferred functions to our list +xxx_list="" +for xxx_convert in $gconvert_preference; do + case $xxx_convert in + gcvt|gconvert|sprintf) xxx_list="$xxx_list $xxx_convert" ;; + *) echo "Discarding unrecognized gconvert_preference $xxx_convert" >&4 ;; + esac +done +: then add any others +for xxx_convert in gconvert gcvt sprintf; do + case "$xxx_list" in + *$xxx_convert*) ;; + *) xxx_list="$xxx_list $xxx_convert" ;; + esac +done + +case "$d_longdbl$uselongdouble" in +"$define$define") + : again, add prefered functions to our list first + xxx_ld_list="" + for xxx_convert in $gconvert_ld_preference; do + case $xxx_convert in + qgcvt|gcvt|gconvert|sprintf) xxx_ld_list="$xxx_ld_list $xxx_convert" ;; + *) echo "Discarding unrecognized gconvert_ld_preference $xxx_convert" ;; + esac + done + : then add qgcvt, sprintf--then, in xxx_list order, gconvert and gcvt + for xxx_convert in qgcvt sprintf $xxx_list; do + case "$xxx_ld_list" in + $xxx_convert*|*" $xxx_convert"*) ;; + *) xxx_ld_list="$xxx_ld_list $xxx_convert" ;; + esac + done + : if sprintf cannot do long doubles, move it to the end + if test "$d_PRIgldbl" != "$define"; then + xxx_ld_list="`echo $xxx_ld_list|sed s/sprintf//` sprintf" + fi + : if no qgcvt, remove it + if test "$d_qgcvt" != "$define"; then + xxx_ld_list="`echo $xxx_ld_list|sed s/qgcvt//`" + fi + : use the ld_list + xxx_list="$xxx_ld_list" ;; esac @@ -8606,12 +9008,19 @@ for xxx_convert in $xxx_list; do break; else echo "...But $xxx_convert didn't work as I expected." + xxx_convert='' fi else echo "$xxx_convert NOT found." >&4 fi done - + +if test X$xxx_convert = X; then + echo "*** WHOA THERE!!! ***" >&4 + echo "None of ($xxx_list) seemed to work properly. I'll use sprintf." >&4 + xxx_convert=sprintf +fi + case "$xxx_convert" in gconvert) d_Gconvert='gconvert((x),(n),(t),(b))' ;; gcvt) d_Gconvert='gcvt((x),(n),(b))' ;; @@ -8619,11 +9028,15 @@ qgcvt) d_Gconvert='qgcvt((x),(n),(b))' ;; *) case "$uselongdouble$d_longdbl$d_PRIgldbl" in "$define$define$define") d_Gconvert="sprintf((b),\"%.*\"$sPRIgldbl,(n),(x))" ;; + "$define$define$undef") + d_Gconvert='sprintf((b),"%.*g",(n),(double)(x))' ;; *) d_Gconvert='sprintf((b),"%.*g",(n),(x))' ;; esac ;; esac +fi + : see if _fwalk exists set fwalk d__fwalk eval $inlibc @@ -8684,6 +9097,278 @@ eval $inlibc set alarm d_alarm eval $inlibc +: see if POSIX threads are available +set pthread.h i_pthread +eval $inhdr + +: 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 + # Extra magic for the benefit of systems that need pthread.h + # to be included early to correctly detect threadsafe functions. + # Such functions must guarantee themselves, though, that the usethreads + # and i_pthread have been defined, before calling protochk. + if test "$usethreads" = "$define" -a "$i_pthread" = "$define" -a "$pthread_h_first" = "$define" -a "$pthread_h_done" = ""; then + echo "#include " >> try.c + pthread_h_done=yes + fi + 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 + +hasproto='varname=$1; func=$2; shift; shift; +while $test $# -ge 2; do + case "$1" in + $define) echo "#include <$2>";; + esac ; + shift 2; +done > try.c; +$cppstdin $cppflags $cppminus < try.c > tryout.c 2>/dev/null; +if $contains "$func.*(" tryout.c >/dev/null 2>&1; then + echo "$func() prototype found."; + val="$define"; +else + echo "$func() prototype NOT found."; + val="$undef"; +fi; +set $varname; +eval $setvar; +$rm -f try.c tryout.c' + +: see if sys/types.h has to be included +set sys/types.h i_systypes +eval $inhdr + +: see if sys/select.h has to be included +set sys/select.h i_sysselct +eval $inhdr + +hasfield='varname=$1; struct=$2; field=$3; shift; shift; shift; +while $test $# -ge 2; do + case "$1" in + $define) echo "#include <$2>";; + esac ; + shift 2; +done > try.c; +echo "int main () { struct $struct foo; char* bar; bar = (char*)foo.$field; }" >> try.c; +set try; +if eval $compile; then + val="$define"; +else + val="$undef"; +fi; +set $varname; +eval $setvar; +$rm -f try.c try.o' + +: see if we should include time.h, sys/time.h, or both +echo " " +if test "X$timeincl" = X; then + echo "Testing to see if we should include , or both." >&4 + $echo $n "I'm now running the test program...$c" + $cat >try.c <<'EOCP' +#include +#ifdef I_TIME +#include +#endif +#ifdef I_SYSTIME +#ifdef SYSTIMEKERNEL +#define KERNEL +#endif +#include +#endif +#ifdef I_SYSSELECT +#include +#endif +int main() +{ + struct tm foo; +#ifdef S_TIMEVAL + struct timeval bar; +#endif +#ifdef S_TIMEZONE + struct timezone tzp; +#endif + if (foo.tm_sec == foo.tm_sec) + exit(0); +#ifdef S_TIMEVAL + if (bar.tv_sec == bar.tv_sec) + exit(0); +#endif + exit(1); +} +EOCP + flags='' + for s_timezone in '-DS_TIMEZONE' ''; do + sysselect='' + for s_timeval in '-DS_TIMEVAL' ''; do + for i_systimek in '' '-DSYSTIMEKERNEL'; do + for i_time in '' '-DI_TIME'; do + for i_systime in '-DI_SYSTIME' ''; do + case "$flags" in + '') $echo $n ".$c" + 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 " " + $echo $n "Succeeded with $flags$c" + fi + ;; + esac + done + done + done + done + done + timeincl='' + echo " " + case "$flags" in + *SYSTIMEKERNEL*) i_systimek="$define" + timeincl=`./findhdr sys/time.h` + echo "We'll include with KERNEL defined." >&4;; + *) i_systimek="$undef";; + esac + case "$flags" in + *I_TIME*) i_time="$define" + timeincl=`./findhdr time.h`" $timeincl" + echo "We'll include ." >&4;; + *) i_time="$undef";; + esac + case "$flags" in + *I_SYSTIME*) i_systime="$define" + timeincl=`./findhdr sys/time.h`" $timeincl" + echo "We'll include ." >&4;; + *) i_systime="$undef";; + esac + $rm -f try.c try +fi +: see if struct tm knows about tm_zone +case "$i_systime$i_time" in +*$define*) + echo " " + echo "Checking to see if your struct tm has tm_zone field..." >&4 + set d_tm_tm_zone tm tm_zone $i_systime sys/time.h $i_time time.h + eval $hasfield + ;; +*) val="$undef" + set d_tm_tm_zone + eval $setvar + ;; +esac +case "$d_tm_tm_zone" in +"$define") echo "Yes, it does." ;; +*) echo "No, it doesn't." ;; +esac +: see if struct tm knows about tm_gmtoff +case "$i_systime$i_time" in +*$define*) + echo " " + echo "Checking to see if your struct tm has tm_gmtoff field..." >&4 + set d_tm_tm_gmtoff tm tm_gmtoff $i_systime sys/time.h $i_time time.h + eval $hasfield + ;; +*) val="$undef" + set d_tm_tm_gmtoff + eval $setvar + ;; +esac +case "$d_tm_tm_gmtoff" in +"$define") echo "Yes, it does." ;; +*) echo "No, it doesn't." ;; +esac + +: see if asctime_r exists +set asctime_r d_asctime_r +eval $inlibc +case "$d_asctime_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_time time.h $i_systime sys/time.h" + case "$d_asctime_r_proto:$usethreads" in + ":define") d_asctime_r_proto=define + set d_asctime_r_proto asctime_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_asctime_r_proto" in + define) + case "$asctime_r_proto" in + ''|0) try='char* asctime_r(const struct tm*, char*);' + ./protochk "extern $try" $hdrs && asctime_r_proto=B_SB ;; + esac + case "$asctime_r_proto" in + ''|0) try='char* asctime_r(const struct tm*, char*, int);' + ./protochk "extern $try" $hdrs && asctime_r_proto=B_SBI ;; + esac + case "$asctime_r_proto" in + ''|0) try='int asctime_r(const struct tm*, char*);' + ./protochk "extern $try" $hdrs && asctime_r_proto=I_SB ;; + esac + case "$asctime_r_proto" in + ''|0) try='int asctime_r(const struct tm*, char*, int);' + ./protochk "extern $try" $hdrs && asctime_r_proto=I_SBI ;; + esac + case "$asctime_r_proto" in + ''|0) d_asctime_r=undef + asctime_r_proto=0 + echo "Disabling asctime_r, cannot determine prototype." >&4 ;; + * ) case "$asctime_r_proto" in + REENTRANT_PROTO*) ;; + *) asctime_r_proto="REENTRANT_PROTO_$asctime_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "asctime_r has no prototype, not using it." >&4 ;; + esac + d_asctime_r=undef + asctime_r_proto=0 + ;; + esac + ;; +*) asctime_r_proto=0 + ;; +esac + : see if atolf exists set atolf d_atolf eval $inlibc @@ -9105,6 +9790,10 @@ eval $inlibc set chsize d_chsize eval $inlibc +: see if class exists +set class d_class +eval $inlibc + hasstruct='varname=$1; struct=$2; shift; shift; while $test $# -ge 2; do case "$1" in @@ -9123,28 +9812,6 @@ set $varname; eval $setvar; $rm -f try.c try.o' -: see if sys/types.h has to be included -set sys/types.h i_systypes -eval $inhdr - -hasfield='varname=$1; struct=$2; field=$3; shift; shift; shift; -while $test $# -ge 2; do - case "$1" in - $define) echo "#include <$2>";; - esac ; - shift 2; -done > try.c; -echo "int main () { struct $struct foo; char* bar; bar = (char*)foo.$field; }" >> try.c; -set try; -if eval $compile; then - val="$define"; -else - val="$undef"; -fi; -set $varname; -eval $setvar; -$rm -f try.c try.o' - socketlib='' sockethdr='' : see whether socket exists @@ -9184,7 +9851,7 @@ else sockethdr="-I/usr/netinclude" ;; esac - echo "Found Berkeley sockets interface in lib$net." >& 4 + echo "Found Berkeley sockets interface in lib$net." >&4 if $contains setsockopt libc.list >/dev/null 2>&1; then d_oldsock="$undef" else @@ -9210,7 +9877,7 @@ eval $inlibc echo " " -echo "Checking the availability of certain socket constants..." >& 4 +echo "Checking the availability of certain socket constants..." >&4 for ENUM in MSG_CTRUNC MSG_DONTROUTE MSG_OOB MSG_PEEK MSG_PROXY SCM_RIGHTS; do enum=`$echo $ENUM|./tr '[A-Z]' '[a-z]'` $cat >try.c <&4 - val="$define" - cryptlib='' -else - cryptlib=`./loc Slibcrypt$_a "" $xlibpth` - if $test -z "$cryptlib"; then - cryptlib=`./loc Mlibcrypt$_a "" $xlibpth` - else - cryptlib=-lcrypt - fi - if $test -z "$cryptlib"; then - cryptlib=`./loc Llibcrypt$_a "" $xlibpth` - else - cryptlib=-lcrypt - fi - if $test -z "$cryptlib"; then - cryptlib=`./loc libcrypt$_a "" $libpth` - else - cryptlib=-lcrypt - fi - if $test -z "$cryptlib"; then - echo 'crypt() NOT found.' >&4 - val="$undef" - else +set crypt d_crypt +eval $inlibc +case "$d_crypt" in +$define) cryptlib='' ;; +*) if set crypt val -f d_crypt; eval $csym; $val; then + echo 'crypt() found.' >&4 val="$define" + cryptlib='' + else + cryptlib=`./loc Slibcrypt$_a "" $xlibpth` + if $test -z "$cryptlib"; then + cryptlib=`./loc Mlibcrypt$_a "" $xlibpth` + else + cryptlib=-lcrypt + fi + if $test -z "$cryptlib"; then + cryptlib=`./loc Llibcrypt$_a "" $xlibpth` + else + cryptlib=-lcrypt + fi + if $test -z "$cryptlib"; then + cryptlib=`./loc libcrypt$_a "" $libpth` + else + cryptlib=-lcrypt + fi + if $test -z "$cryptlib"; then + echo 'crypt() NOT found.' >&4 + val="$undef" + else + val="$define" + fi fi -fi -set d_crypt -eval $setvar + set d_crypt + eval $setvar + ;; +esac + +: see if this is a crypt.h system +set crypt.h i_crypt +eval $inhdr + +: see if crypt_r exists +set crypt_r d_crypt_r +eval $inlibc +case "$d_crypt_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_crypt crypt.h" + case "$d_crypt_r_proto:$usethreads" in + ":define") d_crypt_r_proto=define + set d_crypt_r_proto crypt_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_crypt_r_proto" in + define) + case "$crypt_r_proto" in + ''|0) try='char* crypt_r(const char*, const char*, struct crypt_data*);' + ./protochk "extern $try" $hdrs && crypt_r_proto=B_CCS ;; + esac + case "$crypt_r_proto" in + ''|0) try='char* crypt_r(const char*, const char*, CRYPTD*);' + ./protochk "extern $try" $hdrs && crypt_r_proto=B_CCD ;; + esac + case "$crypt_r_proto" in + ''|0) d_crypt_r=undef + crypt_r_proto=0 + echo "Disabling crypt_r, cannot determine prototype." >&4 ;; + * ) case "$crypt_r_proto" in + REENTRANT_PROTO*) ;; + *) crypt_r_proto="REENTRANT_PROTO_$crypt_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "crypt_r has no prototype, not using it." >&4 ;; + esac + d_crypt_r=undef + crypt_r_proto=0 + ;; + esac + ;; +*) crypt_r_proto=0 + ;; +esac : get csh whereabouts case "$csh" in 'csh') val="$undef" ;; *) val="$define" ;; esac -set d_csh -eval $setvar -: Respect a hint or command line value for full_csh. -case "$full_csh" in -'') full_csh=$csh ;; +set d_csh +eval $setvar +: Respect a hint or command line value for full_csh. +case "$full_csh" in +'') full_csh=$csh ;; +esac + +: see if ctermid_r exists +set ctermid_r d_ctermid_r +eval $inlibc +case "$d_ctermid_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h " + case "$d_ctermid_r_proto:$usethreads" in + ":define") d_ctermid_r_proto=define + set d_ctermid_r_proto ctermid_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_ctermid_r_proto" in + define) + case "$ctermid_r_proto" in + ''|0) try='char* ctermid_r(char*);' + ./protochk "extern $try" $hdrs && ctermid_r_proto=B_B ;; + esac + case "$ctermid_r_proto" in + ''|0) d_ctermid_r=undef + ctermid_r_proto=0 + echo "Disabling ctermid_r, cannot determine prototype." >&4 ;; + * ) case "$ctermid_r_proto" in + REENTRANT_PROTO*) ;; + *) ctermid_r_proto="REENTRANT_PROTO_$ctermid_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "ctermid_r has no prototype, not using it." >&4 ;; + esac + d_ctermid_r=undef + ctermid_r_proto=0 + ;; + esac + ;; +*) ctermid_r_proto=0 + ;; +esac + +: see if ctime_r exists +set ctime_r d_ctime_r +eval $inlibc +case "$d_ctime_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_time time.h $i_systime sys/time.h" + case "$d_ctime_r_proto:$usethreads" in + ":define") d_ctime_r_proto=define + set d_ctime_r_proto ctime_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_ctime_r_proto" in + define) + case "$ctime_r_proto" in + ''|0) try='char* ctime_r(const time_t*, char*);' + ./protochk "extern $try" $hdrs && ctime_r_proto=B_SB ;; + esac + case "$ctime_r_proto" in + ''|0) try='char* ctime_r(const time_t*, char*, int);' + ./protochk "extern $try" $hdrs && ctime_r_proto=B_SBI ;; + esac + case "$ctime_r_proto" in + ''|0) try='int ctime_r(const time_t*, char*);' + ./protochk "extern $try" $hdrs && ctime_r_proto=I_SB ;; + esac + case "$ctime_r_proto" in + ''|0) try='int ctime_r(const time_t*, char*, int);' + ./protochk "extern $try" $hdrs && ctime_r_proto=I_SBI ;; + esac + case "$ctime_r_proto" in + ''|0) d_ctime_r=undef + ctime_r_proto=0 + echo "Disabling ctime_r, cannot determine prototype." >&4 ;; + * ) case "$ctime_r_proto" in + REENTRANT_PROTO*) ;; + *) ctime_r_proto="REENTRANT_PROTO_$ctime_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "ctime_r has no prototype, not using it." >&4 ;; + esac + d_ctime_r=undef + ctime_r_proto=0 + ;; + esac + ;; +*) ctime_r_proto=0 + ;; esac : see if cuserid exists @@ -9348,25 +10164,6 @@ $rm -f dbl_dig.? set d_dbl_dig eval $setvar -hasproto='varname=$1; func=$2; shift; shift; -while $test $# -ge 2; do - case "$1" in - $define) echo "#include <$2>";; - esac ; - shift 2; -done > try.c; -$cppstdin $cppflags $cppminus < try.c > tryout.c 2>/dev/null; -if $contains "$func.*(" tryout.c >/dev/null 2>&1; then - echo "$func() prototype found."; - val="$define"; -else - echo "$func() prototype NOT found."; - val="$undef"; -fi; -set $varname; -eval $setvar; -$rm -f try.c tryout.c' - : see if dbm.h is available : see if dbmclose exists set dbmclose d_dbmclose @@ -9474,6 +10271,63 @@ set d_dirnamlen eval $setvar $rm -f try.c +: see if this is an sysdir system +set sys/dir.h i_sysdir +eval $inhdr + +: see if this is an sysndir system +set sys/ndir.h i_sysndir +eval $inhdr + +: Look for dirfd +echo " " +$cat >dirfd.c < +#$i_dirent I_DIRENT /**/ +#$i_sysdir I_SYS_DIR /**/ +#$i_sysndir I_SYS_NDIR /**/ +#$i_systypes I_SYS_TYPES /**/ +#if defined(I_SYS_TYPES) +#include +#endif +#if defined(I_DIRENT) +#include +#if defined(NeXT) && defined(I_SYS_DIR) /* NeXT needs dirent + sys/dir.h */ +#include +#endif +#else +#ifdef I_SYS_NDIR +#include +#else +#ifdef I_SYS_DIR +#ifdef hp9000s500 +#include /* may be wrong in the future */ +#else +#include +#endif +#endif +#endif +#endif +int main() { + DIR *dirp = opendir("."); + if (dirfd(dirp) >= 0) + exit(0); + else + exit(1); +} +EOM +set dirfd +if eval $compile; then + val="$define" +fi +case "$val" in +$define) echo "dirfd() found." >&4 ;; +*) echo "dirfd() NOT found." >&4 ;; +esac +set d_dirfd +eval $setvar +$rm -f dirfd* + : see if dlerror exists xxx_runnm="$runnm" runnm=false @@ -9586,48 +10440,476 @@ EOM ;; esac -$rm -f fred fred.? dyna.$dlext dyna.? tmp-dyna.? +$rm -f fred fred.* dyna.$dlext dyna.* tmp-dyna.* set d_dlsymun eval $setvar +: see if drand48_r exists +set drand48_r d_drand48_r +eval $inlibc +case "$d_drand48_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_stdlib stdlib.h" + case "$d_drand48_r_proto:$usethreads" in + ":define") d_drand48_r_proto=define + set d_drand48_r_proto drand48_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_drand48_r_proto" in + define) + case "$drand48_r_proto" in + ''|0) try='int drand48_r(struct drand48_data*, double*);' + ./protochk "extern $try" $hdrs && drand48_r_proto=I_ST ;; + esac + case "$drand48_r_proto" in + ''|0) d_drand48_r=undef + drand48_r_proto=0 + echo "Disabling drand48_r, cannot determine prototype." >&4 ;; + * ) case "$drand48_r_proto" in + REENTRANT_PROTO*) ;; + *) drand48_r_proto="REENTRANT_PROTO_$drand48_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "drand48_r has no prototype, not using it." >&4 ;; + esac + d_drand48_r=undef + drand48_r_proto=0 + ;; + esac + ;; +*) drand48_r_proto=0 + ;; +esac + : see if prototype for drand48 is available echo " " set d_drand48proto drand48 $i_stdlib stdlib.h $i_unistd unistd.h eval $hasproto -: see if dup2 exists -set dup2 d_dup2 -eval $inlibc +: see if dup2 exists +set dup2 d_dup2 +eval $inlibc + +: see if eaccess exists +set eaccess d_eaccess +eval $inlibc + +: see if endgrent exists +set endgrent d_endgrent +eval $inlibc + +: see if this is an grp system +set grp.h i_grp +eval $inhdr + +case "$i_grp" in +$define) + xxx=`./findhdr grp.h` + $cppstdin $cppflags $cppminus < $xxx >$$.h + + if $contains 'gr_passwd' $$.h >/dev/null 2>&1; then + val="$define" + else + val="$undef" + fi + set d_grpasswd + eval $setvar + + $rm -f $$.h + ;; +*) + val="$undef"; + set d_grpasswd; eval $setvar + ;; +esac + +: see if endgrent_r exists +set endgrent_r d_endgrent_r +eval $inlibc +case "$d_endgrent_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_grp grp.h" + case "$d_endgrent_r_proto:$usethreads" in + ":define") d_endgrent_r_proto=define + set d_endgrent_r_proto endgrent_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_endgrent_r_proto" in + define) + case "$endgrent_r_proto" in + ''|0) try='int endgrent_r(FILE**);' + ./protochk "extern $try" $hdrs && endgrent_r_proto=I_H ;; + esac + case "$endgrent_r_proto" in + ''|0) try='void endgrent_r(FILE**);' + ./protochk "extern $try" $hdrs && endgrent_r_proto=V_H ;; + esac + case "$endgrent_r_proto" in + ''|0) d_endgrent_r=undef + endgrent_r_proto=0 + echo "Disabling endgrent_r, cannot determine prototype." >&4 ;; + * ) case "$endgrent_r_proto" in + REENTRANT_PROTO*) ;; + *) endgrent_r_proto="REENTRANT_PROTO_$endgrent_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "endgrent_r has no prototype, not using it." >&4 ;; + esac + d_endgrent_r=undef + endgrent_r_proto=0 + ;; + esac + ;; +*) endgrent_r_proto=0 + ;; +esac + +: see if endhostent exists +set endhostent d_endhent +eval $inlibc + +: see if this is a netdb.h system +set netdb.h i_netdb +eval $inhdr + +: see if endhostent_r exists +set endhostent_r d_endhostent_r +eval $inlibc +case "$d_endhostent_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h" + case "$d_endhostent_r_proto:$usethreads" in + ":define") d_endhostent_r_proto=define + set d_endhostent_r_proto endhostent_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_endhostent_r_proto" in + define) + case "$endhostent_r_proto" in + ''|0) try='int endhostent_r(struct hostent_data*);' + ./protochk "extern $try" $hdrs && endhostent_r_proto=I_D ;; + esac + case "$endhostent_r_proto" in + ''|0) try='void endhostent_r(struct hostent_data*);' + ./protochk "extern $try" $hdrs && endhostent_r_proto=V_D ;; + esac + case "$endhostent_r_proto" in + ''|0) d_endhostent_r=undef + endhostent_r_proto=0 + echo "Disabling endhostent_r, cannot determine prototype." >&4 ;; + * ) case "$endhostent_r_proto" in + REENTRANT_PROTO*) ;; + *) endhostent_r_proto="REENTRANT_PROTO_$endhostent_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "endhostent_r has no prototype, not using it." >&4 ;; + esac + d_endhostent_r=undef + endhostent_r_proto=0 + ;; + esac + ;; +*) endhostent_r_proto=0 + ;; +esac + +: see if endnetent exists +set endnetent d_endnent +eval $inlibc + +: see if endnetent_r exists +set endnetent_r d_endnetent_r +eval $inlibc +case "$d_endnetent_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h" + case "$d_endnetent_r_proto:$usethreads" in + ":define") d_endnetent_r_proto=define + set d_endnetent_r_proto endnetent_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_endnetent_r_proto" in + define) + case "$endnetent_r_proto" in + ''|0) try='int endnetent_r(struct netent_data*);' + ./protochk "extern $try" $hdrs && endnetent_r_proto=I_D ;; + esac + case "$endnetent_r_proto" in + ''|0) try='void endnetent_r(struct netent_data*);' + ./protochk "extern $try" $hdrs && endnetent_r_proto=V_D ;; + esac + case "$endnetent_r_proto" in + ''|0) d_endnetent_r=undef + endnetent_r_proto=0 + echo "Disabling endnetent_r, cannot determine prototype." >&4 ;; + * ) case "$endnetent_r_proto" in + REENTRANT_PROTO*) ;; + *) endnetent_r_proto="REENTRANT_PROTO_$endnetent_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "endnetent_r has no prototype, not using it." >&4 ;; + esac + d_endnetent_r=undef + endnetent_r_proto=0 + ;; + esac + ;; +*) endnetent_r_proto=0 + ;; +esac + +: see if endprotoent exists +set endprotoent d_endpent +eval $inlibc + +: see if endprotoent_r exists +set endprotoent_r d_endprotoent_r +eval $inlibc +case "$d_endprotoent_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h" + case "$d_endprotoent_r_proto:$usethreads" in + ":define") d_endprotoent_r_proto=define + set d_endprotoent_r_proto endprotoent_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_endprotoent_r_proto" in + define) + case "$endprotoent_r_proto" in + ''|0) try='int endprotoent_r(struct protoent_data*);' + ./protochk "extern $try" $hdrs && endprotoent_r_proto=I_D ;; + esac + case "$endprotoent_r_proto" in + ''|0) try='void endprotoent_r(struct protoent_data*);' + ./protochk "extern $try" $hdrs && endprotoent_r_proto=V_D ;; + esac + case "$endprotoent_r_proto" in + ''|0) d_endprotoent_r=undef + endprotoent_r_proto=0 + echo "Disabling endprotoent_r, cannot determine prototype." >&4 ;; + * ) case "$endprotoent_r_proto" in + REENTRANT_PROTO*) ;; + *) endprotoent_r_proto="REENTRANT_PROTO_$endprotoent_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "endprotoent_r has no prototype, not using it." >&4 ;; + esac + d_endprotoent_r=undef + endprotoent_r_proto=0 + ;; + esac + ;; +*) endprotoent_r_proto=0 + ;; +esac + +: see if endpwent exists +set endpwent d_endpwent +eval $inlibc + +: see if this is a pwd.h system +set pwd.h i_pwd +eval $inhdr + +case "$i_pwd" in +$define) + xxx=`./findhdr pwd.h` + $cppstdin $cppflags $cppminus < $xxx >$$.h + + if $contains 'pw_quota' $$.h >/dev/null 2>&1; then + val="$define" + else + val="$undef" + fi + set d_pwquota + eval $setvar + + if $contains 'pw_age' $$.h >/dev/null 2>&1; then + val="$define" + else + val="$undef" + fi + set d_pwage + eval $setvar + + if $contains 'pw_change' $$.h >/dev/null 2>&1; then + val="$define" + else + val="$undef" + fi + set d_pwchange + eval $setvar + + if $contains 'pw_class' $$.h >/dev/null 2>&1; then + val="$define" + else + val="$undef" + fi + set d_pwclass + eval $setvar -: see if eaccess exists -set eaccess d_eaccess -eval $inlibc + if $contains 'pw_expire' $$.h >/dev/null 2>&1; then + val="$define" + else + val="$undef" + fi + set d_pwexpire + eval $setvar -: see if endgrent exists -set endgrent d_endgrent -eval $inlibc + if $contains 'pw_comment' $$.h >/dev/null 2>&1; then + val="$define" + else + val="$undef" + fi + set d_pwcomment + eval $setvar -: see if endhostent exists -set endhostent d_endhent -eval $inlibc + if $contains 'pw_gecos' $$.h >/dev/null 2>&1; then + val="$define" + else + val="$undef" + fi + set d_pwgecos + eval $setvar -: see if endnetent exists -set endnetent d_endnent -eval $inlibc + if $contains 'pw_passwd' $$.h >/dev/null 2>&1; then + val="$define" + else + val="$undef" + fi + set d_pwpasswd + eval $setvar -: see if endprotoent exists -set endprotoent d_endpent -eval $inlibc + $rm -f $$.h + ;; +*) + val="$undef"; + set d_pwquota; eval $setvar + set d_pwage; eval $setvar + set d_pwchange; eval $setvar + set d_pwclass; eval $setvar + set d_pwexpire; eval $setvar + set d_pwcomment; eval $setvar + set d_pwgecos; eval $setvar + set d_pwpasswd; eval $setvar + ;; +esac -: see if endpwent exists -set endpwent d_endpwent +: see if endpwent_r exists +set endpwent_r d_endpwent_r eval $inlibc +case "$d_endpwent_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_pwd pwd.h" + case "$d_endpwent_r_proto:$usethreads" in + ":define") d_endpwent_r_proto=define + set d_endpwent_r_proto endpwent_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_endpwent_r_proto" in + define) + case "$endpwent_r_proto" in + ''|0) try='int endpwent_r(FILE**);' + ./protochk "extern $try" $hdrs && endpwent_r_proto=I_H ;; + esac + case "$endpwent_r_proto" in + ''|0) try='void endpwent_r(FILE**);' + ./protochk "extern $try" $hdrs && endpwent_r_proto=V_H ;; + esac + case "$endpwent_r_proto" in + ''|0) d_endpwent_r=undef + endpwent_r_proto=0 + echo "Disabling endpwent_r, cannot determine prototype." >&4 ;; + * ) case "$endpwent_r_proto" in + REENTRANT_PROTO*) ;; + *) endpwent_r_proto="REENTRANT_PROTO_$endpwent_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "endpwent_r has no prototype, not using it." >&4 ;; + esac + d_endpwent_r=undef + endpwent_r_proto=0 + ;; + esac + ;; +*) endpwent_r_proto=0 + ;; +esac : see if endservent exists set endservent d_endsent eval $inlibc +: see if endservent_r exists +set endservent_r d_endservent_r +eval $inlibc +case "$d_endservent_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h" + case "$d_endservent_r_proto:$usethreads" in + ":define") d_endservent_r_proto=define + set d_endservent_r_proto endservent_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_endservent_r_proto" in + define) + case "$endservent_r_proto" in + ''|0) try='int endservent_r(struct servent_data*);' + ./protochk "extern $try" $hdrs && endservent_r_proto=I_D ;; + esac + case "$endservent_r_proto" in + ''|0) try='void endservent_r(struct servent_data*);' + ./protochk "extern $try" $hdrs && endservent_r_proto=V_D ;; + esac + case "$endservent_r_proto" in + ''|0) d_endservent_r=undef + endservent_r_proto=0 + echo "Disabling endservent_r, cannot determine prototype." >&4 ;; + * ) case "$endservent_r_proto" in + REENTRANT_PROTO*) ;; + *) endservent_r_proto="REENTRANT_PROTO_$endservent_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "endservent_r has no prototype, not using it." >&4 ;; + esac + d_endservent_r=undef + endservent_r_proto=0 + ;; + esac + ;; +*) endservent_r_proto=0 + ;; +esac + : Locate the flags for 'open()' echo " " $cat >try.c <<'EOCP' @@ -9700,6 +10982,59 @@ case "$i_string" in *) strings=`./findhdr string.h`;; esac +: see if this is a sys/file.h system +val='' +set sys/file.h val +eval $inhdr + +: do we need to include sys/file.h ? +case "$val" in +"$define") + echo " " + if $h_sysfile; then + val="$define" + echo "We'll be including ." >&4 + else + val="$undef" + echo "We won't be including ." >&4 + fi + ;; +*) + h_sysfile=false + ;; +esac +set i_sysfile +eval $setvar + +: see if fcntl.h is there +val='' +set fcntl.h val +eval $inhdr + +: see if we can include fcntl.h +case "$val" in +"$define") + echo " " + if $h_fcntl; then + val="$define" + echo "We'll be including ." >&4 + else + val="$undef" + if $h_sysfile; then + echo "We don't need to include if we include ." >&4 + else + echo "We won't be including ." >&4 + fi + fi + ;; +*) + h_fcntl=false + val="$undef" + ;; +esac +set i_fcntl +eval $setvar + : check for non-blocking I/O stuff case "$h_sysfile" in true) echo "#include " > head.c;; @@ -9715,9 +11050,13 @@ echo "Figuring out the flag used by open() for non-blocking I/O..." >&4 case "$o_nonblock" in '') $cat head.c > try.c - $cat >>try.c <<'EOCP' + $cat >>try.c < #include +#$i_fcntl I_FCNTL +#ifdef I_FCNTL +#include +#endif int main() { #ifdef O_NONBLOCK printf("O_NONBLOCK\n"); @@ -9760,6 +11099,10 @@ case "$eagain" in #include #include #include +#$i_fcntl I_FCNTL +#ifdef I_FCNTL +#include +#endif #define MY_O_NONBLOCK $o_nonblock #ifndef errno /* XXX need better Configure test */ extern int errno; @@ -9820,7 +11163,7 @@ int main() ret = read(pd[0], buf, 1); /* Should read EOF */ alarm(0); sprintf(string, "%d\n", ret); - write(3, string, strlen(string)); + write(4, string, strlen(string)); exit(0); } @@ -9834,7 +11177,7 @@ EOCP set try if eval $compile_ok; then echo "$startsh" >mtry - echo "$run ./try >try.out 2>try.ret 3>try.err || exit 4" >>mtry + echo "$run ./try >try.out 2>try.ret 4>try.err || exit 4" >>mtry chmod +x mtry ./mtry >/dev/null 2>&1 case $? in @@ -9976,94 +11319,6 @@ eval $setvar $rm -f try* -: see if sys/select.h has to be included -set sys/select.h i_sysselct -eval $inhdr - -: see if we should include time.h, sys/time.h, or both -echo " " -if test "X$timeincl" = X; then - echo "Testing to see if we should include , or both." >&4 - $echo $n "I'm now running the test program...$c" - $cat >try.c <<'EOCP' -#include -#ifdef I_TIME -#include -#endif -#ifdef I_SYSTIME -#ifdef SYSTIMEKERNEL -#define KERNEL -#endif -#include -#endif -#ifdef I_SYSSELECT -#include -#endif -int main() -{ - struct tm foo; -#ifdef S_TIMEVAL - struct timeval bar; -#endif -#ifdef S_TIMEZONE - struct timezone tzp; -#endif - if (foo.tm_sec == foo.tm_sec) - exit(0); -#ifdef S_TIMEVAL - if (bar.tv_sec == bar.tv_sec) - exit(0); -#endif - exit(1); -} -EOCP - flags='' - for s_timezone in '-DS_TIMEZONE' ''; do - sysselect='' - for s_timeval in '-DS_TIMEVAL' ''; do - for i_systimek in '' '-DSYSTIMEKERNEL'; do - for i_time in '' '-DI_TIME'; do - for i_systime in '-DI_SYSTIME' ''; do - case "$flags" in - '') $echo $n ".$c" - 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 " " - $echo $n "Succeeded with $flags$c" - fi - ;; - esac - done - done - done - done - done - timeincl='' - echo " " - case "$flags" in - *SYSTIMEKERNEL*) i_systimek="$define" - timeincl=`./findhdr sys/time.h` - echo "We'll include with KERNEL defined." >&4;; - *) i_systimek="$undef";; - esac - case "$flags" in - *I_TIME*) i_time="$define" - timeincl=`./findhdr time.h`" $timeincl" - echo "We'll include ." >&4;; - *) i_time="$undef";; - esac - case "$flags" in - *I_SYSTIME*) i_systime="$define" - timeincl=`./findhdr sys/time.h`" $timeincl" - echo "We'll include ." >&4;; - *) i_systime="$undef";; - esac - $rm -f try.c try -fi - : check for fd_set items $cat <." >&4 - else - val="$undef" - echo "We won't be including ." >&4 - fi - ;; -*) - h_sysfile=false - ;; -esac -set i_sysfile -eval $setvar - : see if prototype for flock is available echo " " set d_flockproto flock $i_sysfile sys/file.h @@ -10179,6 +11418,10 @@ eval $hasproto set fork d_fork eval $inlibc +: see if fp_class exists +set fp_class d_fp_class +eval $inlibc + : see if pathconf exists set pathconf d_pathconf eval $inlibc @@ -10187,6 +11430,18 @@ eval $inlibc set fpathconf d_fpathconf eval $inlibc +: see if fpclass exists +set fpclass d_fpclass +eval $inlibc + +: see if fpclassify exists +set fpclassify d_fpclassify +eval $inlibc + +: see if fpclassl exists +set fpclassl d_fpclassl +eval $inlibc + : check for fpos64_t echo " " @@ -10286,6 +11541,177 @@ eval $inlibc set getgrent d_getgrent eval $inlibc +: see if getgrent_r exists +set getgrent_r d_getgrent_r +eval $inlibc +case "$d_getgrent_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_grp grp.h" + case "$d_getgrent_r_proto:$usethreads" in + ":define") d_getgrent_r_proto=define + set d_getgrent_r_proto getgrent_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_getgrent_r_proto" in + define) + case "$getgrent_r_proto" in + ''|0) try='int getgrent_r(struct group*, char*, size_t, struct group**);' + ./protochk "extern $try" $hdrs && getgrent_r_proto=I_SBWR ;; + esac + case "$getgrent_r_proto" in + ''|0) try='int getgrent_r(struct group*, char*, int, struct group**);' + ./protochk "extern $try" $hdrs && getgrent_r_proto=I_SBIR ;; + esac + case "$getgrent_r_proto" in + ''|0) try='struct group* getgrent_r(struct group*, char*, size_t);' + ./protochk "extern $try" $hdrs && getgrent_r_proto=S_SBW ;; + esac + case "$getgrent_r_proto" in + ''|0) try='struct group* getgrent_r(struct group*, char*, int);' + ./protochk "extern $try" $hdrs && getgrent_r_proto=S_SBI ;; + esac + case "$getgrent_r_proto" in + ''|0) try='int getgrent_r(struct group*, char*, int);' + ./protochk "extern $try" $hdrs && getgrent_r_proto=I_SBI ;; + esac + case "$getgrent_r_proto" in + ''|0) try='int getgrent_r(struct group*, char*, int, FILE**);' + ./protochk "extern $try" $hdrs && getgrent_r_proto=I_SBIH ;; + esac + case "$getgrent_r_proto" in + ''|0) d_getgrent_r=undef + getgrent_r_proto=0 + echo "Disabling getgrent_r, cannot determine prototype." >&4 ;; + * ) case "$getgrent_r_proto" in + REENTRANT_PROTO*) ;; + *) getgrent_r_proto="REENTRANT_PROTO_$getgrent_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "getgrent_r has no prototype, not using it." >&4 ;; + esac + d_getgrent_r=undef + getgrent_r_proto=0 + ;; + esac + ;; +*) getgrent_r_proto=0 + ;; +esac + +: see if getgrgid_r exists +set getgrgid_r d_getgrgid_r +eval $inlibc +case "$d_getgrgid_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_grp grp.h" + case "$d_getgrgid_r_proto:$usethreads" in + ":define") d_getgrgid_r_proto=define + set d_getgrgid_r_proto getgrgid_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_getgrgid_r_proto" in + define) + case "$getgrgid_r_proto" in + ''|0) try='int getgrgid_r(gid_t, struct group*, char*, size_t, struct group**);' + ./protochk "extern $try" $hdrs && getgrgid_r_proto=I_TSBWR ;; + esac + case "$getgrgid_r_proto" in + ''|0) try='int getgrgid_r(gid_t, struct group*, char*, int, struct group**);' + ./protochk "extern $try" $hdrs && getgrgid_r_proto=I_TSBIR ;; + esac + case "$getgrgid_r_proto" in + ''|0) try='int getgrgid_r(gid_t, struct group*, char*, int);' + ./protochk "extern $try" $hdrs && getgrgid_r_proto=I_TSBI ;; + esac + case "$getgrgid_r_proto" in + ''|0) try='struct group* getgrgid_r(gid_t, struct group*, char*, int);' + ./protochk "extern $try" $hdrs && getgrgid_r_proto=S_TSBI ;; + esac + case "$getgrgid_r_proto" in + ''|0) d_getgrgid_r=undef + getgrgid_r_proto=0 + echo "Disabling getgrgid_r, cannot determine prototype." >&4 ;; + * ) case "$getgrgid_r_proto" in + REENTRANT_PROTO*) ;; + *) getgrgid_r_proto="REENTRANT_PROTO_$getgrgid_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "getgrgid_r has no prototype, not using it." >&4 ;; + esac + d_getgrgid_r=undef + getgrgid_r_proto=0 + ;; + esac + ;; +*) getgrgid_r_proto=0 + ;; +esac + +: see if getgrnam_r exists +set getgrnam_r d_getgrnam_r +eval $inlibc +case "$d_getgrnam_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_grp grp.h" + case "$d_getgrnam_r_proto:$usethreads" in + ":define") d_getgrnam_r_proto=define + set d_getgrnam_r_proto getgrnam_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_getgrnam_r_proto" in + define) + case "$getgrnam_r_proto" in + ''|0) try='int getgrnam_r(const char*, struct group*, char*, size_t, struct group**);' + ./protochk "extern $try" $hdrs && getgrnam_r_proto=I_CSBWR ;; + esac + case "$getgrnam_r_proto" in + ''|0) try='int getgrnam_r(const char*, struct group*, char*, int, struct group**);' + ./protochk "extern $try" $hdrs && getgrnam_r_proto=I_CSBIR ;; + esac + case "$getgrnam_r_proto" in + ''|0) try='struct group* getgrnam_r(const char*, char*, int);' + ./protochk "extern $try" $hdrs && getgrnam_r_proto=S_CBI ;; + esac + case "$getgrnam_r_proto" in + ''|0) try='int getgrnam_r(const char*, struct group*, char*, int);' + ./protochk "extern $try" $hdrs && getgrnam_r_proto=I_CSBI ;; + esac + case "$getgrnam_r_proto" in + ''|0) try='struct group* getgrnam_r(const char*, struct group*, char*, int);' + ./protochk "extern $try" $hdrs && getgrnam_r_proto=S_CSBI ;; + esac + case "$getgrnam_r_proto" in + ''|0) d_getgrnam_r=undef + getgrnam_r_proto=0 + echo "Disabling getgrnam_r, cannot determine prototype." >&4 ;; + * ) case "$getgrnam_r_proto" in + REENTRANT_PROTO*) ;; + *) getgrnam_r_proto="REENTRANT_PROTO_$getgrnam_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "getgrnam_r has no prototype, not using it." >&4 ;; + esac + d_getgrnam_r=undef + getgrnam_r_proto=0 + ;; + esac + ;; +*) getgrnam_r_proto=0 + ;; +esac + : see if gethostbyaddr exists set gethostbyaddr d_gethbyaddr eval $inlibc @@ -10383,9 +11809,192 @@ case "$d_phostname" in '') d_phostname="$undef";; esac -: see if this is a netdb.h system -set netdb.h i_netdb -eval $inhdr +: see if gethostbyaddr_r exists +set gethostbyaddr_r d_gethostbyaddr_r +eval $inlibc +case "$d_gethostbyaddr_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h" + case "$d_gethostbyaddr_r_proto:$usethreads" in + ":define") d_gethostbyaddr_r_proto=define + set d_gethostbyaddr_r_proto gethostbyaddr_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_gethostbyaddr_r_proto" in + define) + case "$gethostbyaddr_r_proto" in + ''|0) try='int gethostbyaddr_r(const char*, size_t, int, struct hostent*, char*, size_t, struct hostent**, int*);' + ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=I_CWISBWRE ;; + esac + case "$gethostbyaddr_r_proto" in + ''|0) try='struct hostent* gethostbyaddr_r(const char*, size_t, int, struct hostent*, char*, size_t, int, int*);' + ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=S_CWISBWIE ;; + esac + case "$gethostbyaddr_r_proto" in + ''|0) try='struct hostent* gethostbyaddr_r(const char*, size_t, int, struct hostent*, char*, int, int*);' + ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=S_CWISBIE ;; + esac + case "$gethostbyaddr_r_proto" in + ''|0) try='struct hostent* gethostbyaddr_r(const void*, size_t, int, struct hostent*, char*, int, int*);' + ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=S_TWISBIE ;; + esac + case "$gethostbyaddr_r_proto" in + ''|0) try='struct hostent* gethostbyaddr_r(const char*, int, int, struct hostent*, char*, int, int*);' + ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=S_CIISBIE ;; + esac + case "$gethostbyaddr_r_proto" in + ''|0) try='struct hostent* gethostbyaddr_r(const char*, struct hostent*, char*, int, int*);' + ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=S_CSBIE ;; + esac + case "$gethostbyaddr_r_proto" in + ''|0) try='struct hostent* gethostbyaddr_r(const void*, struct hostent*, char*, int, int*);' + ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=S_TSBIE ;; + esac + case "$gethostbyaddr_r_proto" in + ''|0) try='int gethostbyaddr_r(const char*, size_t, int, struct hostent*, struct hostent_data*);' + ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=I_CWISD ;; + esac + case "$gethostbyaddr_r_proto" in + ''|0) try='int gethostbyaddr_r(const char*, int, int, struct hostent*, struct hostent_data*);' + ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=I_CIISD ;; + esac + case "$gethostbyaddr_r_proto" in + ''|0) try='int gethostbyaddr_r(const char*, int, int);' + ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=I_CII ;; + esac + case "$gethostbyaddr_r_proto" in + ''|0) d_gethostbyaddr_r=undef + gethostbyaddr_r_proto=0 + echo "Disabling gethostbyaddr_r, cannot determine prototype." >&4 ;; + * ) case "$gethostbyaddr_r_proto" in + REENTRANT_PROTO*) ;; + *) gethostbyaddr_r_proto="REENTRANT_PROTO_$gethostbyaddr_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "gethostbyaddr_r has no prototype, not using it." >&4 ;; + esac + d_gethostbyaddr_r=undef + gethostbyaddr_r_proto=0 + ;; + esac + ;; +*) gethostbyaddr_r_proto=0 + ;; +esac + +: see if gethostbyname_r exists +set gethostbyname_r d_gethostbyname_r +eval $inlibc +case "$d_gethostbyname_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h" + case "$d_gethostbyname_r_proto:$usethreads" in + ":define") d_gethostbyname_r_proto=define + set d_gethostbyname_r_proto gethostbyname_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_gethostbyname_r_proto" in + define) + case "$gethostbyname_r_proto" in + ''|0) try='int gethostbyname_r(const char*, struct hostent*, char*, size_t, struct hostent**, int*);' + ./protochk "extern $try" $hdrs && gethostbyname_r_proto=I_CSBWRE ;; + esac + case "$gethostbyname_r_proto" in + ''|0) try='struct hostent* gethostbyname_r(const char*, struct hostent*, char*, int, int*);' + ./protochk "extern $try" $hdrs && gethostbyname_r_proto=S_CSBIE ;; + esac + case "$gethostbyname_r_proto" in + ''|0) try='int gethostbyname_r(const char*, struct hostent*, struct hostent_data*);' + ./protochk "extern $try" $hdrs && gethostbyname_r_proto=I_CSD ;; + esac + case "$gethostbyname_r_proto" in + ''|0) d_gethostbyname_r=undef + gethostbyname_r_proto=0 + echo "Disabling gethostbyname_r, cannot determine prototype." >&4 ;; + * ) case "$gethostbyname_r_proto" in + REENTRANT_PROTO*) ;; + *) gethostbyname_r_proto="REENTRANT_PROTO_$gethostbyname_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "gethostbyname_r has no prototype, not using it." >&4 ;; + esac + d_gethostbyname_r=undef + gethostbyname_r_proto=0 + ;; + esac + ;; +*) gethostbyname_r_proto=0 + ;; +esac + +: see if gethostent_r exists +set gethostent_r d_gethostent_r +eval $inlibc +case "$d_gethostent_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h" + case "$d_gethostent_r_proto:$usethreads" in + ":define") d_gethostent_r_proto=define + set d_gethostent_r_proto gethostent_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_gethostent_r_proto" in + define) + case "$gethostent_r_proto" in + ''|0) try='int gethostent_r(struct hostent*, char*, size_t, struct hostent**, int*);' + ./protochk "extern $try" $hdrs && gethostent_r_proto=I_SBWRE ;; + esac + case "$gethostent_r_proto" in + ''|0) try='int gethostent_r(struct hostent*, char*, int, int*);' + ./protochk "extern $try" $hdrs && gethostent_r_proto=I_SBIE ;; + esac + case "$gethostent_r_proto" in + ''|0) try='struct hostent* gethostent_r(struct hostent*, char*, int, int*);' + ./protochk "extern $try" $hdrs && gethostent_r_proto=S_SBIE ;; + esac + case "$gethostent_r_proto" in + ''|0) try='struct hostent* gethostent_r(struct hostent*, char*, int);' + ./protochk "extern $try" $hdrs && gethostent_r_proto=S_SBI ;; + esac + case "$gethostent_r_proto" in + ''|0) try='int gethostent_r(struct hostent*, char*, int);' + ./protochk "extern $try" $hdrs && gethostent_r_proto=I_SBI ;; + esac + case "$gethostent_r_proto" in + ''|0) try='int gethostent_r(struct hostent*, struct hostent_data*);' + ./protochk "extern $try" $hdrs && gethostent_r_proto=I_SD ;; + esac + case "$gethostent_r_proto" in + ''|0) d_gethostent_r=undef + gethostent_r_proto=0 + echo "Disabling gethostent_r, cannot determine prototype." >&4 ;; + * ) case "$gethostent_r_proto" in + REENTRANT_PROTO*) ;; + *) gethostent_r_proto="REENTRANT_PROTO_$gethostent_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "gethostent_r has no prototype, not using it." >&4 ;; + esac + d_gethostent_r=undef + gethostent_r_proto=0 + ;; + esac + ;; +*) gethostent_r_proto=0 + ;; +esac : see if prototypes for various gethostxxx netdb.h functions are available echo " " @@ -10400,6 +12009,59 @@ eval $inlibc set getlogin d_getlogin eval $inlibc +: see if getlogin_r exists +set getlogin_r d_getlogin_r +eval $inlibc +case "$d_getlogin_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_unistd unistd.h" + case "$d_getlogin_r_proto:$usethreads" in + ":define") d_getlogin_r_proto=define + set d_getlogin_r_proto getlogin_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_getlogin_r_proto" in + define) + case "$getlogin_r_proto" in + ''|0) try='int getlogin_r(char*, size_t);' + ./protochk "extern $try" $hdrs && getlogin_r_proto=I_BW ;; + esac + case "$getlogin_r_proto" in + ''|0) try='int getlogin_r(char*, int);' + ./protochk "extern $try" $hdrs && getlogin_r_proto=I_BI ;; + esac + case "$getlogin_r_proto" in + ''|0) try='char* getlogin_r(char*, size_t);' + ./protochk "extern $try" $hdrs && getlogin_r_proto=B_BW ;; + esac + case "$getlogin_r_proto" in + ''|0) try='char* getlogin_r(char*, int);' + ./protochk "extern $try" $hdrs && getlogin_r_proto=B_BI ;; + esac + case "$getlogin_r_proto" in + ''|0) d_getlogin_r=undef + getlogin_r_proto=0 + echo "Disabling getlogin_r, cannot determine prototype." >&4 ;; + * ) case "$getlogin_r_proto" in + REENTRANT_PROTO*) ;; + *) getlogin_r_proto="REENTRANT_PROTO_$getlogin_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "getlogin_r has no prototype, not using it." >&4 ;; + esac + d_getlogin_r=undef + getlogin_r_proto=0 + ;; + esac + ;; +*) getlogin_r_proto=0 + ;; +esac + : see if getmnt exists set getmnt d_getmnt eval $inlibc @@ -10420,6 +12082,185 @@ eval $inlibc set getnetent d_getnent eval $inlibc +: see if getnetbyaddr_r exists +set getnetbyaddr_r d_getnetbyaddr_r +eval $inlibc +case "$d_getnetbyaddr_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h" + case "$d_getnetbyaddr_r_proto:$usethreads" in + ":define") d_getnetbyaddr_r_proto=define + set d_getnetbyaddr_r_proto getnetbyaddr_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_getnetbyaddr_r_proto" in + define) + case "$getnetbyaddr_r_proto" in + ''|0) try='int getnetbyaddr_r(unsigned long, int, struct netent*, char*, size_t, struct netent**, int*);' + ./protochk "extern $try" $hdrs && getnetbyaddr_r_proto=I_UISBWRE ;; + esac + case "$getnetbyaddr_r_proto" in + ''|0) try='int getnetbyaddr_r(long, int, struct netent*, char*, int);' + ./protochk "extern $try" $hdrs && getnetbyaddr_r_proto=I_LISBI ;; + esac + case "$getnetbyaddr_r_proto" in + ''|0) try='struct netent* getnetbyaddr_r(in_addr_t, int, struct netent*, char*, int);' + ./protochk "extern $try" $hdrs && getnetbyaddr_r_proto=S_TISBI ;; + esac + case "$getnetbyaddr_r_proto" in + ''|0) try='struct netent* getnetbyaddr_r(long, int, struct netent*, char*, int);' + ./protochk "extern $try" $hdrs && getnetbyaddr_r_proto=S_LISBI ;; + esac + case "$getnetbyaddr_r_proto" in + ''|0) try='int getnetbyaddr_r(in_addr_t, int, struct netent*, struct netent_data*);' + ./protochk "extern $try" $hdrs && getnetbyaddr_r_proto=I_TISD ;; + esac + case "$getnetbyaddr_r_proto" in + ''|0) try='int getnetbyaddr_r(long, int, struct netent*, struct netent_data*);' + ./protochk "extern $try" $hdrs && getnetbyaddr_r_proto=I_LISD ;; + esac + case "$getnetbyaddr_r_proto" in + ''|0) try='int getnetbyaddr_r(int, int, struct netent*, struct netent_data*);' + ./protochk "extern $try" $hdrs && getnetbyaddr_r_proto=I_IISD ;; + esac + case "$getnetbyaddr_r_proto" in + ''|0) d_getnetbyaddr_r=undef + getnetbyaddr_r_proto=0 + echo "Disabling getnetbyaddr_r, cannot determine prototype." >&4 ;; + * ) case "$getnetbyaddr_r_proto" in + REENTRANT_PROTO*) ;; + *) getnetbyaddr_r_proto="REENTRANT_PROTO_$getnetbyaddr_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "getnetbyaddr_r has no prototype, not using it." >&4 ;; + esac + d_getnetbyaddr_r=undef + getnetbyaddr_r_proto=0 + ;; + esac + ;; +*) getnetbyaddr_r_proto=0 + ;; +esac + +: see if getnetbyname_r exists +set getnetbyname_r d_getnetbyname_r +eval $inlibc +case "$d_getnetbyname_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h" + case "$d_getnetbyname_r_proto:$usethreads" in + ":define") d_getnetbyname_r_proto=define + set d_getnetbyname_r_proto getnetbyname_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_getnetbyname_r_proto" in + define) + case "$getnetbyname_r_proto" in + ''|0) try='int getnetbyname_r(const char*, struct netent*, char*, size_t, struct netent**, int*);' + ./protochk "extern $try" $hdrs && getnetbyname_r_proto=I_CSBWRE ;; + esac + case "$getnetbyname_r_proto" in + ''|0) try='int getnetbyname_r(const char*, struct netent*, char*, int);' + ./protochk "extern $try" $hdrs && getnetbyname_r_proto=I_CSBI ;; + esac + case "$getnetbyname_r_proto" in + ''|0) try='struct netent* getnetbyname_r(const char*, struct netent*, char*, int);' + ./protochk "extern $try" $hdrs && getnetbyname_r_proto=S_CSBI ;; + esac + case "$getnetbyname_r_proto" in + ''|0) try='int getnetbyname_r(const char*, struct netent*, struct netent_data*);' + ./protochk "extern $try" $hdrs && getnetbyname_r_proto=I_CSD ;; + esac + case "$getnetbyname_r_proto" in + ''|0) d_getnetbyname_r=undef + getnetbyname_r_proto=0 + echo "Disabling getnetbyname_r, cannot determine prototype." >&4 ;; + * ) case "$getnetbyname_r_proto" in + REENTRANT_PROTO*) ;; + *) getnetbyname_r_proto="REENTRANT_PROTO_$getnetbyname_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "getnetbyname_r has no prototype, not using it." >&4 ;; + esac + d_getnetbyname_r=undef + getnetbyname_r_proto=0 + ;; + esac + ;; +*) getnetbyname_r_proto=0 + ;; +esac + +: see if getnetent_r exists +set getnetent_r d_getnetent_r +eval $inlibc +case "$d_getnetent_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h" + case "$d_getnetent_r_proto:$usethreads" in + ":define") d_getnetent_r_proto=define + set d_getnetent_r_proto getnetent_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_getnetent_r_proto" in + define) + case "$getnetent_r_proto" in + ''|0) try='int getnetent_r(struct netent*, char*, size_t, struct netent**, int*);' + ./protochk "extern $try" $hdrs && getnetent_r_proto=I_SBWRE ;; + esac + case "$getnetent_r_proto" in + ''|0) try='int getnetent_r(struct netent*, char*, int, int*);' + ./protochk "extern $try" $hdrs && getnetent_r_proto=I_SBIE ;; + esac + case "$getnetent_r_proto" in + ''|0) try='struct netent* getnetent_r(struct netent*, char*, int, int*);' + ./protochk "extern $try" $hdrs && getnetent_r_proto=S_SBIE ;; + esac + case "$getnetent_r_proto" in + ''|0) try='struct netent* getnetent_r(struct netent*, char*, int);' + ./protochk "extern $try" $hdrs && getnetent_r_proto=S_SBI ;; + esac + case "$getnetent_r_proto" in + ''|0) try='int getnetent_r(struct netent*, char*, int);' + ./protochk "extern $try" $hdrs && getnetent_r_proto=I_SBI ;; + esac + case "$getnetent_r_proto" in + ''|0) try='int getnetent_r(struct netent*, struct netent_data*);' + ./protochk "extern $try" $hdrs && getnetent_r_proto=I_SD ;; + esac + case "$getnetent_r_proto" in + ''|0) d_getnetent_r=undef + getnetent_r_proto=0 + echo "Disabling getnetent_r, cannot determine prototype." >&4 ;; + * ) case "$getnetent_r_proto" in + REENTRANT_PROTO*) ;; + *) getnetent_r_proto="REENTRANT_PROTO_$getnetent_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "getnetent_r has no prototype, not using it." >&4 ;; + esac + d_getnetent_r=undef + getnetent_r_proto=0 + ;; + esac + ;; +*) getnetent_r_proto=0 + ;; +esac + : see if prototypes for various getnetxxx netdb.h functions are available echo " " set d_getnetprotos getnetent $i_netdb netdb.h @@ -10458,6 +12299,157 @@ eval $inlibc set getpriority d_getprior eval $inlibc +: see if getprotobyname_r exists +set getprotobyname_r d_getprotobyname_r +eval $inlibc +case "$d_getprotobyname_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h" + case "$d_getprotobyname_r_proto:$usethreads" in + ":define") d_getprotobyname_r_proto=define + set d_getprotobyname_r_proto getprotobyname_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_getprotobyname_r_proto" in + define) + case "$getprotobyname_r_proto" in + ''|0) try='int getprotobyname_r(const char*, struct protoent*, char*, size_t, struct protoent**);' + ./protochk "extern $try" $hdrs && getprotobyname_r_proto=I_CSBWR ;; + esac + case "$getprotobyname_r_proto" in + ''|0) try='struct protoent* getprotobyname_r(const char*, struct protoent*, char*, int);' + ./protochk "extern $try" $hdrs && getprotobyname_r_proto=S_CSBI ;; + esac + case "$getprotobyname_r_proto" in + ''|0) try='int getprotobyname_r(const char*, struct protoent*, struct protoent_data*);' + ./protochk "extern $try" $hdrs && getprotobyname_r_proto=I_CSD ;; + esac + case "$getprotobyname_r_proto" in + ''|0) d_getprotobyname_r=undef + getprotobyname_r_proto=0 + echo "Disabling getprotobyname_r, cannot determine prototype." >&4 ;; + * ) case "$getprotobyname_r_proto" in + REENTRANT_PROTO*) ;; + *) getprotobyname_r_proto="REENTRANT_PROTO_$getprotobyname_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "getprotobyname_r has no prototype, not using it." >&4 ;; + esac + d_getprotobyname_r=undef + getprotobyname_r_proto=0 + ;; + esac + ;; +*) getprotobyname_r_proto=0 + ;; +esac + +: see if getprotobynumber_r exists +set getprotobynumber_r d_getprotobynumber_r +eval $inlibc +case "$d_getprotobynumber_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h" + case "$d_getprotobynumber_r_proto:$usethreads" in + ":define") d_getprotobynumber_r_proto=define + set d_getprotobynumber_r_proto getprotobynumber_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_getprotobynumber_r_proto" in + define) + case "$getprotobynumber_r_proto" in + ''|0) try='int getprotobynumber_r(int, struct protoent*, char*, size_t, struct protoent**);' + ./protochk "extern $try" $hdrs && getprotobynumber_r_proto=I_ISBWR ;; + esac + case "$getprotobynumber_r_proto" in + ''|0) try='struct protoent* getprotobynumber_r(int, struct protoent*, char*, int);' + ./protochk "extern $try" $hdrs && getprotobynumber_r_proto=S_ISBI ;; + esac + case "$getprotobynumber_r_proto" in + ''|0) try='int getprotobynumber_r(int, struct protoent*, struct protoent_data*);' + ./protochk "extern $try" $hdrs && getprotobynumber_r_proto=I_ISD ;; + esac + case "$getprotobynumber_r_proto" in + ''|0) d_getprotobynumber_r=undef + getprotobynumber_r_proto=0 + echo "Disabling getprotobynumber_r, cannot determine prototype." >&4 ;; + * ) case "$getprotobynumber_r_proto" in + REENTRANT_PROTO*) ;; + *) getprotobynumber_r_proto="REENTRANT_PROTO_$getprotobynumber_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "getprotobynumber_r has no prototype, not using it." >&4 ;; + esac + d_getprotobynumber_r=undef + getprotobynumber_r_proto=0 + ;; + esac + ;; +*) getprotobynumber_r_proto=0 + ;; +esac + +: see if getprotoent_r exists +set getprotoent_r d_getprotoent_r +eval $inlibc +case "$d_getprotoent_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h" + case "$d_getprotoent_r_proto:$usethreads" in + ":define") d_getprotoent_r_proto=define + set d_getprotoent_r_proto getprotoent_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_getprotoent_r_proto" in + define) + case "$getprotoent_r_proto" in + ''|0) try='int getprotoent_r(struct protoent*, char*, size_t, struct protoent**);' + ./protochk "extern $try" $hdrs && getprotoent_r_proto=I_SBWR ;; + esac + case "$getprotoent_r_proto" in + ''|0) try='int getprotoent_r(struct protoent*, char*, int);' + ./protochk "extern $try" $hdrs && getprotoent_r_proto=I_SBI ;; + esac + case "$getprotoent_r_proto" in + ''|0) try='struct protoent* getprotoent_r(struct protoent*, char*, int);' + ./protochk "extern $try" $hdrs && getprotoent_r_proto=S_SBI ;; + esac + case "$getprotoent_r_proto" in + ''|0) try='int getprotoent_r(struct protoent*, struct protoent_data*);' + ./protochk "extern $try" $hdrs && getprotoent_r_proto=I_SD ;; + esac + case "$getprotoent_r_proto" in + ''|0) d_getprotoent_r=undef + getprotoent_r_proto=0 + echo "Disabling getprotoent_r, cannot determine prototype." >&4 ;; + * ) case "$getprotoent_r_proto" in + REENTRANT_PROTO*) ;; + *) getprotoent_r_proto="REENTRANT_PROTO_$getprotoent_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "getprotoent_r has no prototype, not using it." >&4 ;; + esac + d_getprotoent_r=undef + getprotoent_r_proto=0 + ;; + esac + ;; +*) getprotoent_r_proto=0 + ;; +esac + : see if prototypes for various getprotoxxx netdb.h functions are available echo " " set d_getprotoprotos getprotoent $i_netdb netdb.h @@ -10471,6 +12463,173 @@ eval $inlibc set getpwent d_getpwent eval $inlibc +: see if getpwent_r exists +set getpwent_r d_getpwent_r +eval $inlibc +case "$d_getpwent_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_pwd pwd.h" + case "$d_getpwent_r_proto:$usethreads" in + ":define") d_getpwent_r_proto=define + set d_getpwent_r_proto getpwent_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_getpwent_r_proto" in + define) + case "$getpwent_r_proto" in + ''|0) try='int getpwent_r(struct passwd*, char*, size_t, struct passwd**);' + ./protochk "extern $try" $hdrs && getpwent_r_proto=I_SBWR ;; + esac + case "$getpwent_r_proto" in + ''|0) try='int getpwent_r(struct passwd*, char*, int, struct passwd**);' + ./protochk "extern $try" $hdrs && getpwent_r_proto=I_SBIR ;; + esac + case "$getpwent_r_proto" in + ''|0) try='struct passwd* getpwent_r(struct passwd*, char*, size_t);' + ./protochk "extern $try" $hdrs && getpwent_r_proto=S_SBW ;; + esac + case "$getpwent_r_proto" in + ''|0) try='struct passwd* getpwent_r(struct passwd*, char*, int);' + ./protochk "extern $try" $hdrs && getpwent_r_proto=S_SBI ;; + esac + case "$getpwent_r_proto" in + ''|0) try='int getpwent_r(struct passwd*, char*, int);' + ./protochk "extern $try" $hdrs && getpwent_r_proto=I_SBI ;; + esac + case "$getpwent_r_proto" in + ''|0) try='int getpwent_r(struct passwd*, char*, int, FILE**);' + ./protochk "extern $try" $hdrs && getpwent_r_proto=I_SBIH ;; + esac + case "$getpwent_r_proto" in + ''|0) d_getpwent_r=undef + getpwent_r_proto=0 + echo "Disabling getpwent_r, cannot determine prototype." >&4 ;; + * ) case "$getpwent_r_proto" in + REENTRANT_PROTO*) ;; + *) getpwent_r_proto="REENTRANT_PROTO_$getpwent_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "getpwent_r has no prototype, not using it." >&4 ;; + esac + d_getpwent_r=undef + getpwent_r_proto=0 + ;; + esac + ;; +*) getpwent_r_proto=0 + ;; +esac + +: see if getpwnam_r exists +set getpwnam_r d_getpwnam_r +eval $inlibc +case "$d_getpwnam_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_pwd pwd.h" + case "$d_getpwnam_r_proto:$usethreads" in + ":define") d_getpwnam_r_proto=define + set d_getpwnam_r_proto getpwnam_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_getpwnam_r_proto" in + define) + case "$getpwnam_r_proto" in + ''|0) try='int getpwnam_r(const char*, struct passwd*, char*, size_t, struct passwd**);' + ./protochk "extern $try" $hdrs && getpwnam_r_proto=I_CSBWR ;; + esac + case "$getpwnam_r_proto" in + ''|0) try='int getpwnam_r(const char*, struct passwd*, char*, int, struct passwd**);' + ./protochk "extern $try" $hdrs && getpwnam_r_proto=I_CSBIR ;; + esac + case "$getpwnam_r_proto" in + ''|0) try='struct passwd* getpwnam_r(const char*, struct passwd*, char*, int);' + ./protochk "extern $try" $hdrs && getpwnam_r_proto=S_CSBI ;; + esac + case "$getpwnam_r_proto" in + ''|0) try='int getpwnam_r(const char*, struct passwd*, char*, int);' + ./protochk "extern $try" $hdrs && getpwnam_r_proto=I_CSBI ;; + esac + case "$getpwnam_r_proto" in + ''|0) d_getpwnam_r=undef + getpwnam_r_proto=0 + echo "Disabling getpwnam_r, cannot determine prototype." >&4 ;; + * ) case "$getpwnam_r_proto" in + REENTRANT_PROTO*) ;; + *) getpwnam_r_proto="REENTRANT_PROTO_$getpwnam_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "getpwnam_r has no prototype, not using it." >&4 ;; + esac + d_getpwnam_r=undef + getpwnam_r_proto=0 + ;; + esac + ;; +*) getpwnam_r_proto=0 + ;; +esac + +: see if getpwuid_r exists +set getpwuid_r d_getpwuid_r +eval $inlibc +case "$d_getpwuid_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_pwd pwd.h" + case "$d_getpwuid_r_proto:$usethreads" in + ":define") d_getpwuid_r_proto=define + set d_getpwuid_r_proto getpwuid_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_getpwuid_r_proto" in + define) + case "$getpwuid_r_proto" in + ''|0) try='int getpwuid_r(uid_t, struct passwd*, char*, size_t, struct passwd**);' + ./protochk "extern $try" $hdrs && getpwuid_r_proto=I_TSBWR ;; + esac + case "$getpwuid_r_proto" in + ''|0) try='int getpwuid_r(uid_t, struct passwd*, char*, int, struct passwd**);' + ./protochk "extern $try" $hdrs && getpwuid_r_proto=I_TSBIR ;; + esac + case "$getpwuid_r_proto" in + ''|0) try='int getpwuid_r(uid_t, struct passwd*, char*, int);' + ./protochk "extern $try" $hdrs && getpwuid_r_proto=I_TSBI ;; + esac + case "$getpwuid_r_proto" in + ''|0) try='struct passwd* getpwuid_r(uid_t, struct passwd*, char*, int);' + ./protochk "extern $try" $hdrs && getpwuid_r_proto=S_TSBI ;; + esac + case "$getpwuid_r_proto" in + ''|0) d_getpwuid_r=undef + getpwuid_r_proto=0 + echo "Disabling getpwuid_r, cannot determine prototype." >&4 ;; + * ) case "$getpwuid_r_proto" in + REENTRANT_PROTO*) ;; + *) getpwuid_r_proto="REENTRANT_PROTO_$getpwuid_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "getpwuid_r has no prototype, not using it." >&4 ;; + esac + d_getpwuid_r=undef + getpwuid_r_proto=0 + ;; + esac + ;; +*) getpwuid_r_proto=0 + ;; +esac + : see if getservbyname exists set getservbyname d_getsbyname @@ -10484,6 +12643,157 @@ eval $inlibc set getservent d_getsent eval $inlibc +: see if getservbyname_r exists +set getservbyname_r d_getservbyname_r +eval $inlibc +case "$d_getservbyname_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h" + case "$d_getservbyname_r_proto:$usethreads" in + ":define") d_getservbyname_r_proto=define + set d_getservbyname_r_proto getservbyname_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_getservbyname_r_proto" in + define) + case "$getservbyname_r_proto" in + ''|0) try='int getservbyname_r(const char*, const char*, struct servent*, char*, size_t, struct servent**);' + ./protochk "extern $try" $hdrs && getservbyname_r_proto=I_CCSBWR ;; + esac + case "$getservbyname_r_proto" in + ''|0) try='struct servent* getservbyname_r(const char*, const char*, struct servent*, char*, int);' + ./protochk "extern $try" $hdrs && getservbyname_r_proto=S_CCSBI ;; + esac + case "$getservbyname_r_proto" in + ''|0) try='int getservbyname_r(const char*, const char*, struct servent*, struct servent_data*);' + ./protochk "extern $try" $hdrs && getservbyname_r_proto=I_CCSD ;; + esac + case "$getservbyname_r_proto" in + ''|0) d_getservbyname_r=undef + getservbyname_r_proto=0 + echo "Disabling getservbyname_r, cannot determine prototype." >&4 ;; + * ) case "$getservbyname_r_proto" in + REENTRANT_PROTO*) ;; + *) getservbyname_r_proto="REENTRANT_PROTO_$getservbyname_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "getservbyname_r has no prototype, not using it." >&4 ;; + esac + d_getservbyname_r=undef + getservbyname_r_proto=0 + ;; + esac + ;; +*) getservbyname_r_proto=0 + ;; +esac + +: see if getservbyport_r exists +set getservbyport_r d_getservbyport_r +eval $inlibc +case "$d_getservbyport_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h" + case "$d_getservbyport_r_proto:$usethreads" in + ":define") d_getservbyport_r_proto=define + set d_getservbyport_r_proto getservbyport_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_getservbyport_r_proto" in + define) + case "$getservbyport_r_proto" in + ''|0) try='int getservbyport_r(int, const char*, struct servent*, char*, size_t, struct servent**);' + ./protochk "extern $try" $hdrs && getservbyport_r_proto=I_ICSBWR ;; + esac + case "$getservbyport_r_proto" in + ''|0) try='struct servent* getservbyport_r(int, const char*, struct servent*, char*, int);' + ./protochk "extern $try" $hdrs && getservbyport_r_proto=S_ICSBI ;; + esac + case "$getservbyport_r_proto" in + ''|0) try='int getservbyport_r(int, const char*, struct servent*, struct servent_data*);' + ./protochk "extern $try" $hdrs && getservbyport_r_proto=I_ICSD ;; + esac + case "$getservbyport_r_proto" in + ''|0) d_getservbyport_r=undef + getservbyport_r_proto=0 + echo "Disabling getservbyport_r, cannot determine prototype." >&4 ;; + * ) case "$getservbyport_r_proto" in + REENTRANT_PROTO*) ;; + *) getservbyport_r_proto="REENTRANT_PROTO_$getservbyport_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "getservbyport_r has no prototype, not using it." >&4 ;; + esac + d_getservbyport_r=undef + getservbyport_r_proto=0 + ;; + esac + ;; +*) getservbyport_r_proto=0 + ;; +esac + +: see if getservent_r exists +set getservent_r d_getservent_r +eval $inlibc +case "$d_getservent_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h" + case "$d_getservent_r_proto:$usethreads" in + ":define") d_getservent_r_proto=define + set d_getservent_r_proto getservent_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_getservent_r_proto" in + define) + case "$getservent_r_proto" in + ''|0) try='int getservent_r(struct servent*, char*, size_t, struct servent**);' + ./protochk "extern $try" $hdrs && getservent_r_proto=I_SBWR ;; + esac + case "$getservent_r_proto" in + ''|0) try='int getservent_r(struct servent*, char*, int);' + ./protochk "extern $try" $hdrs && getservent_r_proto=I_SBI ;; + esac + case "$getservent_r_proto" in + ''|0) try='struct servent* getservent_r(struct servent*, char*, int);' + ./protochk "extern $try" $hdrs && getservent_r_proto=S_SBI ;; + esac + case "$getservent_r_proto" in + ''|0) try='int getservent_r(struct servent*, struct servent_data*);' + ./protochk "extern $try" $hdrs && getservent_r_proto=I_SD ;; + esac + case "$getservent_r_proto" in + ''|0) d_getservent_r=undef + getservent_r_proto=0 + echo "Disabling getservent_r, cannot determine prototype." >&4 ;; + * ) case "$getservent_r_proto" in + REENTRANT_PROTO*) ;; + *) getservent_r_proto="REENTRANT_PROTO_$getservent_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "getservent_r has no prototype, not using it." >&4 ;; + esac + d_getservent_r=undef + getservent_r_proto=0 + ;; + esac + ;; +*) getservent_r_proto=0 + ;; +esac + : see if prototypes for various getservxxx netdb.h functions are available echo " " set d_getservprotos getservent $i_netdb netdb.h @@ -10493,6 +12803,55 @@ eval $hasproto set getspnam d_getspnam eval $inlibc +: see if this is a shadow.h system +set shadow.h i_shadow +eval $inhdr + +: see if getspnam_r exists +set getspnam_r d_getspnam_r +eval $inlibc +case "$d_getspnam_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_shadow shadow.h" + case "$d_getspnam_r_proto:$usethreads" in + ":define") d_getspnam_r_proto=define + set d_getspnam_r_proto getspnam_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_getspnam_r_proto" in + define) + case "$getspnam_r_proto" in + ''|0) try='int getspnam_r(const char*, struct spwd*, char*, size_t, struct spwd**);' + ./protochk "extern $try" $hdrs && getspnam_r_proto=I_CSBWR ;; + esac + case "$getspnam_r_proto" in + ''|0) try='struct spwd* getspnam_r(const char*, struct spwd*, char*, int);' + ./protochk "extern $try" $hdrs && getspnam_r_proto=S_CSBI ;; + esac + case "$getspnam_r_proto" in + ''|0) d_getspnam_r=undef + getspnam_r_proto=0 + echo "Disabling getspnam_r, cannot determine prototype." >&4 ;; + * ) case "$getspnam_r_proto" in + REENTRANT_PROTO*) ;; + *) getspnam_r_proto="REENTRANT_PROTO_$getspnam_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "getspnam_r has no prototype, not using it." >&4 ;; + esac + d_getspnam_r=undef + getspnam_r_proto=0 + ;; + esac + ;; +*) getspnam_r_proto=0 + ;; +esac + : see if gettimeofday or ftime exists set gettimeofday d_gettimeod eval $inlibc @@ -10512,28 +12871,48 @@ case "$d_gettimeod$d_ftime" in ;; esac -: see if this is an grp system -set grp.h i_grp -eval $inhdr - -case "$i_grp" in -$define) - xxx=`./findhdr grp.h` - $cppstdin $cppflags $cppminus < $xxx >$$.h - - if $contains 'gr_passwd' $$.h >/dev/null 2>&1; then - val="$define" - else - val="$undef" - fi - set d_grpasswd - eval $setvar - - $rm -f $$.h +: see if gmtime_r exists +set gmtime_r d_gmtime_r +eval $inlibc +case "$d_gmtime_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_time time.h $i_systime sys/time.h" + case "$d_gmtime_r_proto:$usethreads" in + ":define") d_gmtime_r_proto=define + set d_gmtime_r_proto gmtime_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_gmtime_r_proto" in + define) + case "$gmtime_r_proto" in + ''|0) try='struct tm* gmtime_r(const time_t*, struct tm*);' + ./protochk "extern $try" $hdrs && gmtime_r_proto=S_TS ;; + esac + case "$gmtime_r_proto" in + ''|0) try='int gmtime_r(const time_t*, struct tm*);' + ./protochk "extern $try" $hdrs && gmtime_r_proto=I_TS ;; + esac + case "$gmtime_r_proto" in + ''|0) d_gmtime_r=undef + gmtime_r_proto=0 + echo "Disabling gmtime_r, cannot determine prototype." >&4 ;; + * ) case "$gmtime_r_proto" in + REENTRANT_PROTO*) ;; + *) gmtime_r_proto="REENTRANT_PROTO_$gmtime_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac ;; -*) - val="$undef"; - set d_grpasswd; eval $setvar + *) case "$usethreads" in + define) echo "gmtime_r has no prototype, not using it." >&4 ;; + esac + d_gmtime_r=undef + gmtime_r_proto=0 + ;; + esac + ;; +*) gmtime_r_proto=0 ;; esac @@ -10587,10 +12966,6 @@ esac set d_htonl eval $setvar -: see if iconv exists -set iconv d_iconv -eval $inlibc - : index or strchr echo " " if set index val -f; eval $csym; $val; then @@ -10653,6 +13028,14 @@ set d_isascii eval $setvar $rm -f isascii* +: see if isfinite exists +set isfinite d_isfinite +eval $inlibc + +: see if isinf exists +set isinf d_isinf +eval $inlibc + : see if isnan exists set isnan d_isnan eval $inlibc @@ -10728,6 +13111,51 @@ eval $setvar set link d_link eval $inlibc +: see if localtime_r exists +set localtime_r d_localtime_r +eval $inlibc +case "$d_localtime_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_time time.h $i_systime sys/time.h" + case "$d_localtime_r_proto:$usethreads" in + ":define") d_localtime_r_proto=define + set d_localtime_r_proto localtime_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_localtime_r_proto" in + define) + case "$localtime_r_proto" in + ''|0) try='struct tm* localtime_r(const time_t*, struct tm*);' + ./protochk "extern $try" $hdrs && localtime_r_proto=S_TS ;; + esac + case "$localtime_r_proto" in + ''|0) try='int localtime_r(const time_t*, struct tm*);' + ./protochk "extern $try" $hdrs && localtime_r_proto=I_TS ;; + esac + case "$localtime_r_proto" in + ''|0) d_localtime_r=undef + localtime_r_proto=0 + echo "Disabling localtime_r, cannot determine prototype." >&4 ;; + * ) case "$localtime_r_proto" in + REENTRANT_PROTO*) ;; + *) localtime_r_proto="REENTRANT_PROTO_$localtime_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "localtime_r has no prototype, not using it." >&4 ;; + esac + d_localtime_r=undef + localtime_r_proto=0 + ;; + esac + ;; +*) localtime_r_proto=0 + ;; +esac + : see if localeconv exists set localeconv d_locconv eval $inlibc @@ -10832,65 +13260,6 @@ esac -: see if modfl exists -set modfl d_modfl -eval $inlibc - -d_modfl_pow32_bug="$undef" - -case "$d_longdbl$d_modfl" in -$define$define) - $cat <try.c < -#include -int main() { - long double nv = 4294967303.15; - long double v, w; - v = modfl(nv, &w); -#ifdef __GLIBC__ - printf("glibc"); -#endif - printf(" %"$sPRIfldbl" %"$sPRIfldbl" %"$sPRIfldbl"\n", nv, v, w); - return 0; -} -EOCP - case "$osname:$gccversion" in - aix:) saveccflags="$ccflags" - ccflags="$ccflags -qlongdouble" ;; # to avoid core dump - esac - set try - if eval $compile; then - foo=`$run ./try` - case "$foo" in - *" 4294967303.150000 1.150000 4294967302.000000") - echo >&4 "Your modfl() is broken for large values." - d_modfl_pow32_bug="$define" - case "$foo" in - glibc) echo >&4 "You should upgrade your glibc to at least 2.2.2 to get a fixed modfl()." - ;; - esac - ;; - *" 4294967303.150000 0.150000 4294967303.000000") - echo >&4 "Your modfl() seems okay for large values." - ;; - *) echo >&4 "I don't understand your modfl() at all." - d_modfl="$undef" - ;; - esac - $rm -f try.* try core core.try.* - else - echo "I cannot figure out whether your modfl() is okay, assuming it isn't." - d_modfl="$undef" - fi - case "$osname:$gccversion" in - aix:) ccflags="$saveccflags" ;; # restore - esac - ;; -esac - : see if mprotect exists set mprotect d_mprotect eval $inlibc @@ -11263,18 +13632,18 @@ set try d_nv_preserves_uv="$undef" if eval $compile; then - d_nv_preserves_uv_bits="`$run ./try`" + nv_preserves_uv_bits="`$run ./try`" fi -case "$d_nv_preserves_uv_bits" in +case "$nv_preserves_uv_bits" in \-[1-9]*) - d_nv_preserves_uv_bits=`expr 0 - $d_nv_preserves_uv_bits` - $echo "Your NVs can preserve all $d_nv_preserves_uv_bits bits of your UVs." 2>&1 + nv_preserves_uv_bits=`expr 0 - $nv_preserves_uv_bits` + $echo "Your NVs can preserve all $nv_preserves_uv_bits bits of your UVs." 2>&1 d_nv_preserves_uv="$define" ;; -[1-9]*) $echo "Your NVs can preserve only $d_nv_preserves_uv_bits bits of your UVs." 2>&1 +[1-9]*) $echo "Your NVs can preserve only $nv_preserves_uv_bits bits of your UVs." 2>&1 d_nv_preserves_uv="$undef" ;; *) $echo "Can't figure out how many bits your NVs preserve." 2>&1 - d_nv_preserves_uv_bits="$undef" ;; + nv_preserves_uv_bits="$undef" ;; esac $rm -f try.* try @@ -11301,14 +13670,7 @@ else fi $rm -f try.* try set d_off64_t -eval $setvar - -: see if POSIX threads are available -set pthread.h i_pthread -eval $inhdr - - - +eval $setvar : how to create joinable pthreads if test "X$usethreads" = "X$define" -a "X$i_pthread" = "X$define"; then @@ -11378,10 +13740,65 @@ eval $inlibc set poll d_poll eval $inlibc -: see if pthread_atfork exists -set pthread_atfork d_pthread_atfork +: see if readlink exists +set readlink d_readlink eval $inlibc +echo " " +procselfexe='' +val="$undef" +case "$d_readlink" in +"$define") + if $issymlink /proc/self/exe ; then + $ls -l /proc/self/exe > reflect + if $contains /`basename $ls` reflect >/dev/null 2>&1; then + echo "You have Linux-like /proc/self/exe." + procselfexe='"/proc/self/exe"' + val="$define" + fi + fi + if $issymlink /proc/curproc/file ; then + $ls -l /proc/curproc/file > reflect + if $contains /`basename $ls` reflect >/dev/null 2>&1; then + echo "You have BSD-like /proc/curproc/file." + procselfexe='"/proc/curproc/file"' + val="$define" + fi + fi + ;; +esac +$rm -f reflect +set d_procselfexe +eval $setvar + +: see whether the pthread_atfork exists +$cat >try.c < +#include +int main() { +#ifdef PTHREAD_ATFORK + pthread_atfork(NULL,NULL,NULL); +#endif +} +EOP + +: see if pthread_atfork exists +set try -DPTHREAD_ATFORK +if eval $compile; then + val="$define" +else + val="$undef" +fi +case "$usethreads" in +$define) + case "$val" in + $define) echo 'pthread_atfork found.' >&4 ;; + *) echo 'pthread_atfork NOT found.' >&4 ;; + esac +esac +set d_pthread_atfork +eval $setvar + : see whether the various POSIXish _yields exist $cat >try.c <$$.h - - if $contains 'pw_quota' $$.h >/dev/null 2>&1; then - val="$define" - else - val="$undef" - fi - set d_pwquota - eval $setvar - - if $contains 'pw_age' $$.h >/dev/null 2>&1; then - val="$define" - else - val="$undef" - fi - set d_pwage - eval $setvar - - if $contains 'pw_change' $$.h >/dev/null 2>&1; then - val="$define" - else - val="$undef" - fi - set d_pwchange - eval $setvar - - if $contains 'pw_class' $$.h >/dev/null 2>&1; then - val="$define" - else - val="$undef" - fi - set d_pwclass - eval $setvar - - if $contains 'pw_expire' $$.h >/dev/null 2>&1; then - val="$define" - else - val="$undef" - fi - set d_pwexpire - eval $setvar - - if $contains 'pw_comment' $$.h >/dev/null 2>&1; then - val="$define" - else - val="$undef" - fi - set d_pwcomment - eval $setvar - - if $contains 'pw_gecos' $$.h >/dev/null 2>&1; then - val="$define" - else - val="$undef" - fi - set d_pwgecos - eval $setvar - - if $contains 'pw_passwd' $$.h >/dev/null 2>&1; then - val="$define" - else - val="$undef" - fi - set d_pwpasswd - eval $setvar - - $rm -f $$.h +: see if random_r exists +set random_r d_random_r +eval $inlibc +case "$d_random_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_stdlib stdlib.h" + case "$d_random_r_proto:$usethreads" in + ":define") d_random_r_proto=define + set d_random_r_proto random_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_random_r_proto" in + define) + case "$random_r_proto" in + ''|0) try='int random_r(int*, struct random_data*);' + ./protochk "extern $try" $hdrs && random_r_proto=I_TS ;; + esac + case "$random_r_proto" in + ''|0) d_random_r=undef + random_r_proto=0 + echo "Disabling random_r, cannot determine prototype." >&4 ;; + * ) case "$random_r_proto" in + REENTRANT_PROTO*) ;; + *) random_r_proto="REENTRANT_PROTO_$random_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac ;; -*) - val="$undef"; - set d_pwquota; eval $setvar - set d_pwage; eval $setvar - set d_pwchange; eval $setvar - set d_pwclass; eval $setvar - set d_pwexpire; eval $setvar - set d_pwcomment; eval $setvar - set d_pwgecos; eval $setvar - set d_pwpasswd; eval $setvar + *) case "$usethreads" in + define) echo "random_r has no prototype, not using it." >&4 ;; + esac + d_random_r=undef + random_r_proto=0 + ;; + esac + ;; +*) random_r_proto=0 ;; esac @@ -11552,9 +13922,95 @@ eval $inlibc set rewinddir d_rewinddir eval $inlibc -: see if readlink exists -set readlink d_readlink +: see if readdir64_r exists +set readdir64_r d_readdir64_r +eval $inlibc +case "$d_readdir64_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_dirent dirent.h" + case "$d_readdir64_r_proto:$usethreads" in + ":define") d_readdir64_r_proto=define + set d_readdir64_r_proto readdir64_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_readdir64_r_proto" in + define) + case "$readdir64_r_proto" in + ''|0) try='int readdir64_r(DIR*, struct dirent64*, struct dirent64**);' + ./protochk "extern $try" $hdrs && readdir64_r_proto=I_TSR ;; + esac + case "$readdir64_r_proto" in + ''|0) try='int readdir64_r(DIR*, struct dirent64*);' + ./protochk "extern $try" $hdrs && readdir64_r_proto=I_TS ;; + esac + case "$readdir64_r_proto" in + ''|0) d_readdir64_r=undef + readdir64_r_proto=0 + echo "Disabling readdir64_r, cannot determine prototype." >&4 ;; + * ) case "$readdir64_r_proto" in + REENTRANT_PROTO*) ;; + *) readdir64_r_proto="REENTRANT_PROTO_$readdir64_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "readdir64_r has no prototype, not using it." >&4 ;; + esac + d_readdir64_r=undef + readdir64_r_proto=0 + ;; + esac + ;; +*) readdir64_r_proto=0 + ;; +esac + +: see if readdir_r exists +set readdir_r d_readdir_r eval $inlibc +case "$d_readdir_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_dirent dirent.h" + case "$d_readdir_r_proto:$usethreads" in + ":define") d_readdir_r_proto=define + set d_readdir_r_proto readdir_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_readdir_r_proto" in + define) + case "$readdir_r_proto" in + ''|0) try='int readdir_r(DIR*, struct dirent*, struct dirent**);' + ./protochk "extern $try" $hdrs && readdir_r_proto=I_TSR ;; + esac + case "$readdir_r_proto" in + ''|0) try='int readdir_r(DIR*, struct dirent*);' + ./protochk "extern $try" $hdrs && readdir_r_proto=I_TS ;; + esac + case "$readdir_r_proto" in + ''|0) d_readdir_r=undef + readdir_r_proto=0 + echo "Disabling readdir_r, cannot determine prototype." >&4 ;; + * ) case "$readdir_r_proto" in + REENTRANT_PROTO*) ;; + *) readdir_r_proto="REENTRANT_PROTO_$readdir_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "readdir_r has no prototype, not using it." >&4 ;; + esac + d_readdir_r=undef + readdir_r_proto=0 + ;; + esac + ;; +*) readdir_r_proto=0 + ;; +esac : see if readv exists set readv d_readv @@ -12060,10 +14516,100 @@ eval $inlibc set setgrent d_setgrent eval $inlibc +: see if setgrent_r exists +set setgrent_r d_setgrent_r +eval $inlibc +case "$d_setgrent_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_grp grp.h" + case "$d_setgrent_r_proto:$usethreads" in + ":define") d_setgrent_r_proto=define + set d_setgrent_r_proto setgrent_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_setgrent_r_proto" in + define) + case "$setgrent_r_proto" in + ''|0) try='int setgrent_r(FILE**);' + ./protochk "extern $try" $hdrs && setgrent_r_proto=I_H ;; + esac + case "$setgrent_r_proto" in + ''|0) try='void setgrent_r(FILE**);' + ./protochk "extern $try" $hdrs && setgrent_r_proto=V_H ;; + esac + case "$setgrent_r_proto" in + ''|0) d_setgrent_r=undef + setgrent_r_proto=0 + echo "Disabling setgrent_r, cannot determine prototype." >&4 ;; + * ) case "$setgrent_r_proto" in + REENTRANT_PROTO*) ;; + *) setgrent_r_proto="REENTRANT_PROTO_$setgrent_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "setgrent_r has no prototype, not using it." >&4 ;; + esac + d_setgrent_r=undef + setgrent_r_proto=0 + ;; + esac + ;; +*) setgrent_r_proto=0 + ;; +esac + : see if sethostent exists set sethostent d_sethent eval $inlibc +: see if sethostent_r exists +set sethostent_r d_sethostent_r +eval $inlibc +case "$d_sethostent_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h" + case "$d_sethostent_r_proto:$usethreads" in + ":define") d_sethostent_r_proto=define + set d_sethostent_r_proto sethostent_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_sethostent_r_proto" in + define) + case "$sethostent_r_proto" in + ''|0) try='int sethostent_r(int, struct hostent_data*);' + ./protochk "extern $try" $hdrs && sethostent_r_proto=I_ID ;; + esac + case "$sethostent_r_proto" in + ''|0) try='void sethostent_r(int, struct hostent_data*);' + ./protochk "extern $try" $hdrs && sethostent_r_proto=V_ID ;; + esac + case "$sethostent_r_proto" in + ''|0) d_sethostent_r=undef + sethostent_r_proto=0 + echo "Disabling sethostent_r, cannot determine prototype." >&4 ;; + * ) case "$sethostent_r_proto" in + REENTRANT_PROTO*) ;; + *) sethostent_r_proto="REENTRANT_PROTO_$sethostent_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "sethostent_r has no prototype, not using it." >&4 ;; + esac + d_sethostent_r=undef + sethostent_r_proto=0 + ;; + esac + ;; +*) sethostent_r_proto=0 + ;; +esac + : see if setitimer exists set setitimer d_setitimer eval $inlibc @@ -12076,10 +14622,100 @@ eval $inlibc set setlocale d_setlocale eval $inlibc +: see if locale.h is available +set locale.h i_locale +eval $inhdr + +: see if setlocale_r exists +set setlocale_r d_setlocale_r +eval $inlibc +case "$d_setlocale_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_locale locale.h" + case "$d_setlocale_r_proto:$usethreads" in + ":define") d_setlocale_r_proto=define + set d_setlocale_r_proto setlocale_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_setlocale_r_proto" in + define) + case "$setlocale_r_proto" in + ''|0) try='int setlocale_r(int, const char*, char*, int);' + ./protochk "extern $try" $hdrs && setlocale_r_proto=I_ICBI ;; + esac + case "$setlocale_r_proto" in + ''|0) d_setlocale_r=undef + setlocale_r_proto=0 + echo "Disabling setlocale_r, cannot determine prototype." >&4 ;; + * ) case "$setlocale_r_proto" in + REENTRANT_PROTO*) ;; + *) setlocale_r_proto="REENTRANT_PROTO_$setlocale_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "setlocale_r has no prototype, not using it." >&4 ;; + esac + d_setlocale_r=undef + setlocale_r_proto=0 + ;; + esac + ;; +*) setlocale_r_proto=0 + ;; +esac + : see if setnetent exists set setnetent d_setnent eval $inlibc +: see if setnetent_r exists +set setnetent_r d_setnetent_r +eval $inlibc +case "$d_setnetent_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h" + case "$d_setnetent_r_proto:$usethreads" in + ":define") d_setnetent_r_proto=define + set d_setnetent_r_proto setnetent_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_setnetent_r_proto" in + define) + case "$setnetent_r_proto" in + ''|0) try='int setnetent_r(int, struct netent_data*);' + ./protochk "extern $try" $hdrs && setnetent_r_proto=I_ID ;; + esac + case "$setnetent_r_proto" in + ''|0) try='void setnetent_r(int, struct netent_data*);' + ./protochk "extern $try" $hdrs && setnetent_r_proto=V_ID ;; + esac + case "$setnetent_r_proto" in + ''|0) d_setnetent_r=undef + setnetent_r_proto=0 + echo "Disabling setnetent_r, cannot determine prototype." >&4 ;; + * ) case "$setnetent_r_proto" in + REENTRANT_PROTO*) ;; + *) setnetent_r_proto="REENTRANT_PROTO_$setnetent_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "setnetent_r has no prototype, not using it." >&4 ;; + esac + d_setnetent_r=undef + setnetent_r_proto=0 + ;; + esac + ;; +*) setnetent_r_proto=0 + ;; +esac + : see if setprotoent exists set setprotoent d_setpent eval $inlibc @@ -12100,10 +14736,100 @@ eval $inlibc set setproctitle d_setproctitle eval $inlibc +: see if setprotoent_r exists +set setprotoent_r d_setprotoent_r +eval $inlibc +case "$d_setprotoent_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h" + case "$d_setprotoent_r_proto:$usethreads" in + ":define") d_setprotoent_r_proto=define + set d_setprotoent_r_proto setprotoent_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_setprotoent_r_proto" in + define) + case "$setprotoent_r_proto" in + ''|0) try='int setprotoent_r(int, struct protoent_data*);' + ./protochk "extern $try" $hdrs && setprotoent_r_proto=I_ID ;; + esac + case "$setprotoent_r_proto" in + ''|0) try='void setprotoent_r(int, struct protoent_data*);' + ./protochk "extern $try" $hdrs && setprotoent_r_proto=V_ID ;; + esac + case "$setprotoent_r_proto" in + ''|0) d_setprotoent_r=undef + setprotoent_r_proto=0 + echo "Disabling setprotoent_r, cannot determine prototype." >&4 ;; + * ) case "$setprotoent_r_proto" in + REENTRANT_PROTO*) ;; + *) setprotoent_r_proto="REENTRANT_PROTO_$setprotoent_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "setprotoent_r has no prototype, not using it." >&4 ;; + esac + d_setprotoent_r=undef + setprotoent_r_proto=0 + ;; + esac + ;; +*) setprotoent_r_proto=0 + ;; +esac + : see if setpwent exists set setpwent d_setpwent eval $inlibc +: see if setpwent_r exists +set setpwent_r d_setpwent_r +eval $inlibc +case "$d_setpwent_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_pwd pwd.h" + case "$d_setpwent_r_proto:$usethreads" in + ":define") d_setpwent_r_proto=define + set d_setpwent_r_proto setpwent_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_setpwent_r_proto" in + define) + case "$setpwent_r_proto" in + ''|0) try='int setpwent_r(FILE**);' + ./protochk "extern $try" $hdrs && setpwent_r_proto=I_H ;; + esac + case "$setpwent_r_proto" in + ''|0) try='void setpwent_r(FILE**);' + ./protochk "extern $try" $hdrs && setpwent_r_proto=V_H ;; + esac + case "$setpwent_r_proto" in + ''|0) d_setpwent_r=undef + setpwent_r_proto=0 + echo "Disabling setpwent_r, cannot determine prototype." >&4 ;; + * ) case "$setpwent_r_proto" in + REENTRANT_PROTO*) ;; + *) setpwent_r_proto="REENTRANT_PROTO_$setpwent_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "setpwent_r has no prototype, not using it." >&4 ;; + esac + d_setpwent_r=undef + setpwent_r_proto=0 + ;; + esac + ;; +*) setpwent_r_proto=0 + ;; +esac + : see if setregid exists set setregid d_setregid eval $inlibc @@ -12128,6 +14854,51 @@ eval $inlibc set setservent d_setsent eval $inlibc +: see if setservent_r exists +set setservent_r d_setservent_r +eval $inlibc +case "$d_setservent_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_netdb netdb.h" + case "$d_setservent_r_proto:$usethreads" in + ":define") d_setservent_r_proto=define + set d_setservent_r_proto setservent_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_setservent_r_proto" in + define) + case "$setservent_r_proto" in + ''|0) try='int setservent_r(int, struct servent_data*);' + ./protochk "extern $try" $hdrs && setservent_r_proto=I_ID ;; + esac + case "$setservent_r_proto" in + ''|0) try='void setservent_r(int, struct servent_data*);' + ./protochk "extern $try" $hdrs && setservent_r_proto=V_ID ;; + esac + case "$setservent_r_proto" in + ''|0) d_setservent_r=undef + setservent_r_proto=0 + echo "Disabling setservent_r, cannot determine prototype." >&4 ;; + * ) case "$setservent_r_proto" in + REENTRANT_PROTO*) ;; + *) setservent_r_proto="REENTRANT_PROTO_$setservent_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "setservent_r has no prototype, not using it." >&4 ;; + esac + d_setservent_r=undef + setservent_r_proto=0 + ;; + esac + ;; +*) setservent_r_proto=0 + ;; +esac + : see if setsid exists set setsid d_setsid eval $inlibc @@ -12383,6 +15154,88 @@ eval $hasproto set socks5_init d_socks5_init eval $inlibc +: see if srand48_r exists +set srand48_r d_srand48_r +eval $inlibc +case "$d_srand48_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_stdlib stdlib.h" + case "$d_srand48_r_proto:$usethreads" in + ":define") d_srand48_r_proto=define + set d_srand48_r_proto srand48_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_srand48_r_proto" in + define) + case "$srand48_r_proto" in + ''|0) try='int srand48_r(long, struct drand48_data*);' + ./protochk "extern $try" $hdrs && srand48_r_proto=I_LS ;; + esac + case "$srand48_r_proto" in + ''|0) d_srand48_r=undef + srand48_r_proto=0 + echo "Disabling srand48_r, cannot determine prototype." >&4 ;; + * ) case "$srand48_r_proto" in + REENTRANT_PROTO*) ;; + *) srand48_r_proto="REENTRANT_PROTO_$srand48_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "srand48_r has no prototype, not using it." >&4 ;; + esac + d_srand48_r=undef + srand48_r_proto=0 + ;; + esac + ;; +*) srand48_r_proto=0 + ;; +esac + +: see if srandom_r exists +set srandom_r d_srandom_r +eval $inlibc +case "$d_srandom_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_stdlib stdlib.h" + case "$d_srandom_r_proto:$usethreads" in + ":define") d_srandom_r_proto=define + set d_srandom_r_proto srandom_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_srandom_r_proto" in + define) + case "$srandom_r_proto" in + ''|0) try='int srandom_r(unsigned int, struct random_data*);' + ./protochk "extern $try" $hdrs && srandom_r_proto=I_TS ;; + esac + case "$srandom_r_proto" in + ''|0) d_srandom_r=undef + srandom_r_proto=0 + echo "Disabling srandom_r, cannot determine prototype." >&4 ;; + * ) case "$srandom_r_proto" in + REENTRANT_PROTO*) ;; + *) srandom_r_proto="REENTRANT_PROTO_$srandom_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "srandom_r has no prototype, not using it." >&4 ;; + esac + d_srandom_r=undef + srandom_r_proto=0 + ;; + esac + ;; +*) srandom_r_proto=0 + ;; +esac + : see if prototype for setresgid is available echo " " set d_sresgproto setresgid $i_unistd unistd.h @@ -12538,6 +15391,26 @@ else echo "Your stdio doesn't appear very std." fi $rm -f try.c try + +# glibc 2.2.90 and above apparently change stdio streams so Perl's +# direct buffer manipulation no longer works. The Configure tests +# should be changed to correctly detect this, but until then, +# the following check should at least let perl compile and run. +# (This quick fix should be updated before 5.8.1.) +# To be defensive, reject all unknown versions, and all versions > 2.2.9. +# A. Dougherty, June 3, 2002. +case "$d_gnulibc" in +$define) + case "$gnulibc_version" in + 2.[01]*) ;; + 2.2) ;; + 2.2.[0-9]) ;; + *) echo "But I will not snoop inside glibc $gnulibc_version stdio buffers." + val="$undef" + ;; + esac + ;; +esac set d_stdstdio eval $setvar @@ -12782,6 +15655,55 @@ if test "X$d_strerror" = X -o "X$d_syserrlst" = X; then fi fi +: see if strerror_r exists +set strerror_r d_strerror_r +eval $inlibc +case "$d_strerror_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_string string.h" + case "$d_strerror_r_proto:$usethreads" in + ":define") d_strerror_r_proto=define + set d_strerror_r_proto strerror_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_strerror_r_proto" in + define) + case "$strerror_r_proto" in + ''|0) try='int strerror_r(int, char*, size_t);' + ./protochk "extern $try" $hdrs && strerror_r_proto=I_IBW ;; + esac + case "$strerror_r_proto" in + ''|0) try='int strerror_r(int, char*, int);' + ./protochk "extern $try" $hdrs && strerror_r_proto=I_IBI ;; + esac + case "$strerror_r_proto" in + ''|0) try='char* strerror_r(int, char*, size_t);' + ./protochk "extern $try" $hdrs && strerror_r_proto=B_IBW ;; + esac + case "$strerror_r_proto" in + ''|0) d_strerror_r=undef + strerror_r_proto=0 + echo "Disabling strerror_r, cannot determine prototype." >&4 ;; + * ) case "$strerror_r_proto" in + REENTRANT_PROTO*) ;; + *) strerror_r_proto="REENTRANT_PROTO_$strerror_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "strerror_r has no prototype, not using it." >&4 ;; + esac + d_strerror_r=undef + strerror_r_proto=0 + ;; + esac + ;; +*) strerror_r_proto=0 + ;; +esac + : see if strftime exists set strftime d_strftime eval $inlibc @@ -13082,6 +16004,24 @@ echo " " set d_telldirproto telldir $i_systypes sys/types.h $i_dirent dirent.h eval $hasproto +: see if time exists +echo " " +if test "X$d_time" = X -o X"$timetype" = X; then + if set time val -f d_time; eval $csym; $val; then + echo 'time() found.' >&4 + val="$define" + rp="What is the type returned by time() on this system?" + set time_t timetype long stdio.h sys/types.h + eval $typedef_ask + else + echo 'time() not found, hope that will do.' >&4 + val="$undef" + timetype='int'; + fi + set d_time + eval $setvar +fi + : see if this is a sys/times.h system set sys/times.h i_systimes eval $inhdr @@ -13104,10 +16044,100 @@ else clocktype='int' fi +: see if tmpnam_r exists +set tmpnam_r d_tmpnam_r +eval $inlibc +case "$d_tmpnam_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h " + case "$d_tmpnam_r_proto:$usethreads" in + ":define") d_tmpnam_r_proto=define + set d_tmpnam_r_proto tmpnam_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_tmpnam_r_proto" in + define) + case "$tmpnam_r_proto" in + ''|0) try='char* tmpnam_r(char*);' + ./protochk "extern $try" $hdrs && tmpnam_r_proto=B_B ;; + esac + case "$tmpnam_r_proto" in + ''|0) d_tmpnam_r=undef + tmpnam_r_proto=0 + echo "Disabling tmpnam_r, cannot determine prototype." >&4 ;; + * ) case "$tmpnam_r_proto" in + REENTRANT_PROTO*) ;; + *) tmpnam_r_proto="REENTRANT_PROTO_$tmpnam_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "tmpnam_r has no prototype, not using it." >&4 ;; + esac + d_tmpnam_r=undef + tmpnam_r_proto=0 + ;; + esac + ;; +*) tmpnam_r_proto=0 + ;; +esac + : see if truncate exists set truncate d_truncate eval $inlibc +: see if ttyname_r exists +set ttyname_r d_ttyname_r +eval $inlibc +case "$d_ttyname_r" in +"$define") + hdrs="$i_systypes sys/types.h define stdio.h $i_unistd unistd.h" + case "$d_ttyname_r_proto:$usethreads" in + ":define") d_ttyname_r_proto=define + set d_ttyname_r_proto ttyname_r $hdrs + eval $hasproto ;; + *) ;; + esac + case "$d_ttyname_r_proto" in + define) + case "$ttyname_r_proto" in + ''|0) try='int ttyname_r(int, char*, size_t);' + ./protochk "extern $try" $hdrs && ttyname_r_proto=I_IBW ;; + esac + case "$ttyname_r_proto" in + ''|0) try='int ttyname_r(int, char*, int);' + ./protochk "extern $try" $hdrs && ttyname_r_proto=I_IBI ;; + esac + case "$ttyname_r_proto" in + ''|0) try='char* ttyname_r(int, char*, int);' + ./protochk "extern $try" $hdrs && ttyname_r_proto=B_IBI ;; + esac + case "$ttyname_r_proto" in + ''|0) d_ttyname_r=undef + ttyname_r_proto=0 + echo "Disabling ttyname_r, cannot determine prototype." >&4 ;; + * ) case "$ttyname_r_proto" in + REENTRANT_PROTO*) ;; + *) ttyname_r_proto="REENTRANT_PROTO_$ttyname_r_proto" ;; + esac + echo "Prototype: $try" ;; + esac + ;; + *) case "$usethreads" in + define) echo "ttyname_r has no prototype, not using it." >&4 ;; + esac + d_ttyname_r=undef + ttyname_r_proto=0 + ;; + esac + ;; +*) ttyname_r_proto=0 + ;; +esac + : see if tzname[] exists echo " " if set tzname val -a d_tzname; eval $csym; $val; then @@ -13127,7 +16157,7 @@ case "$multiarch" in ''|[nN]*) multiarch="$undef" ;; esac -: check for ordering of bytes in a long +: check for ordering of bytes in a UV echo " " case "$usecrosscompile$multiarch" in *$define*) @@ -13150,21 +16180,23 @@ an Alpha will report 12345678. If the test program works the default is probably right. I'm now running the test program... EOM - $cat >try.c <<'EOCP' + $cat >try.c < +#include +typedef $uvtype UV; int main() { int i; union { - unsigned long l; - char c[sizeof(long)]; + UV l; + char c[$uvsize]; } u; - if (sizeof(long) > 4) - u.l = (0x08070605L << 32) | 0x04030201L; + if ($uvsize > 4) + u.l = (((UV)0x08070605) << 32) | (UV)0x04030201; else - u.l = 0x04030201L; - for (i = 0; i < sizeof(long); i++) + u.l = (UV)0x04030201; + for (i = 0; i < $uvsize; i++) printf("%c", u.c[i]+'0'); printf("\n"); exit(0); @@ -13191,7 +16223,7 @@ EOM fi case "$xxx_prompt" in y) - rp="What is the order of bytes in a long?" + rp="What is the order of bytes in $uvtype?" . ./myread byteorder="$ans" ;; @@ -13209,13 +16241,19 @@ $cat <try.c <try.c < #define U32 $u32type -#define BYTEORDER $byteorder +#define BYTEORDER 0x$byteorder +#define U8 $u8type +#include +#ifdef SIGBUS +$signal_t bletch(s) int s; { exit(4); } +#endif int main() { #if BYTEORDER == 0x1234 || BYTEORDER == 0x4321 - U8 buf[] = "\0\0\0\1\0\0\0\0"; + U8 buf[8]; U32 *up; int i; @@ -13226,6 +16264,19 @@ int main() { fflush(stdout); +#ifdef SIGBUS + signal(SIGBUS, bletch); +#endif + + buf[0] = 0; + buf[1] = 0; + buf[2] = 0; + buf[3] = 1; + buf[5] = 0; + buf[6] = 0; + buf[7] = 0; + buf[8] = 1; + for (i = 0; i < 4; i++) { up = (U32*)(buf + i); if (! ((*up == 1 << (8*i)) || /* big-endian */ @@ -13258,7 +16309,7 @@ int main() { EOCP set try if eval $compile_ok; then - echo "(Testing for character data alignment may dump core.)" >&4 + echo "(Testing for character data alignment may crash the test. That's okay.)" >&4 $run ./try 2>&1 >/dev/null case "$?" in 0) cat >&4 <& 4 +'') echo "$0: Fatal: failed to find format strings, cannot continue." >&4 exit 1 ;; esac @@ -14729,47 +17778,6 @@ EOCP ;; esac -: 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 what type is used for size_t rp="What is the type used for the length parameter for string functions?" set size_t sizetype 'unsigned int' stdio.h sys/types.h @@ -14903,6 +17911,7 @@ EOM esac fi : locate the preferred pager for this system +fn=f/ case "$pager" in '') dflt='' @@ -14922,10 +17931,14 @@ case "$pager" in '') dflt=/usr/ucb/more;; esac ;; -*) dflt="$pager";; +*) dflt="$pager" + : Instruct ./getfile to trust the hinted or previous pager value, + : even if it does not begin with a slash. For example, on os2, + : pager might be cmd /c more. See comments in UU/getfile. + fn="f/($pager)" + ;; esac echo " " -fn=f/ rp='What pager is used on your system?' . ./getfile pager="$ans" @@ -14936,10 +17949,7 @@ set pid_t pidtype int stdio.h sys/types.h eval $typedef_ask : Find earliest binary compatible site_perl subdirectory perl can use. -case "$bincompat5005" in -"$define") xs_apiversion='5.005' ;; -*) xs_apiversion=$version ;; # The current site_perl version. -esac +xs_apiversion=$version # The current site_perl version. : Find earliest pure perl site_perl subdirectory perl can use. : The versioned directories started at 5.005. pm_apiversion='5.005' @@ -15295,7 +18305,7 @@ $cat >>signal_cmd <<'EOS' set signal if eval $compile_ok; then - $run ./signal$_exe | $sort -n +1 | $uniq | $awk -f signal.awk >signal.lst + $run ./signal$_exe | ($sort -n -k 2 2>/dev/null || $sort -n +1) | $uniq | $awk -f signal.awk >signal.lst else echo "(I can't seem be able to compile the whole test program)" >&4 echo "(I'll try it in little pieces.)" >&4 @@ -15329,7 +18339,7 @@ EOCP done if $test -s signal.ls1; then $cat signal.nsg signal.ls1 | - $sort -n +1 | $uniq | $awk -f signal.awk >signal.lst + $sort -n | $uniq | $awk -f signal.awk >signal.lst fi fi @@ -15558,24 +18568,6 @@ $rm -f stdioh -: see if time exists -echo " " -if test "X$d_time" = X -o X"$timetype" = X; then - if set time val -f d_time; eval $csym; $val; then - echo 'time() found.' >&4 - val="$define" - rp="What is the type returned by time() on this system?" - set time_t timetype long stdio.h sys/types.h - eval $typedef_ask - else - echo 'time() not found, hope that will do.' >&4 - val="$undef" - timetype='int'; - fi - set d_time - eval $setvar -fi - : see what type uids are declared as in the kernel echo " " echo "Looking for the type for user ids returned by getuid()." @@ -15715,11 +18707,11 @@ case "$yacc" in esac echo " " comp='yacc' -if $test -f "$byacc"; then +if $test -f "$byacc$_exe"; then dflt="$byacc" comp="byacc or $comp" fi -if $test -f "$bison"; then +if $test -f "$bison$_exe"; then comp="$comp or bison -y" fi rp="Which compiler compiler ($comp) shall I use?" @@ -15737,51 +18729,25 @@ case "$yacc" in ;; esac -: see if fcntl.h is there -val='' -set fcntl.h val +: see if this is a fp.h system +set fp.h i_fp eval $inhdr -: see if we can include fcntl.h -case "$val" in -"$define") - echo " " - if $h_fcntl; then - val="$define" - echo "We'll be including ." >&4 - else - val="$undef" - if $h_sysfile; then - echo "We don't need to include if we include ." >&4 - else - echo "We won't be including ." >&4 - fi - fi - ;; -*) - h_fcntl=false - val="$undef" - ;; -esac -set i_fcntl -eval $setvar - -: see if this is a iconv.h system -set iconv.h i_iconv +: see if this is a fp_class.h system +set fp_class.h i_fp_class eval $inhdr : see if this is a ieeefp.h system -set ieeefp.h i_ieeefp -eval $inhdr +case "$i_ieeefp" in +'' ) set ieeefp.h i_ieeefp + eval $inhdr + ;; +esac : see if this is a libutil.h system set libutil.h i_libutil eval $inhdr -: see if locale.h is available -set locale.h i_locale -eval $inhdr - : see if mach cthreads are available if test "X$usethreads" = "X$define"; then set mach/cthreads.h i_machcthr @@ -15803,6 +18769,20 @@ eval $inhdr : see if ndbm.h is available set ndbm.h t_ndbm eval $inhdr + +case "$t_ndbm" in +$undef) + # Some Linux distributions such as RedHat 7.1 put the + # ndbm.h header in /usr/include/gdbm/ndbm.h. + if $test -f /usr/include/gdbm/ndbm.h; then + echo ' found.' + ccflags="$ccflags -I/usr/include/gdbm" + cppflags="$cppflags -I/usr/include/gdbm" + t_ndbm=$define + fi + ;; +esac + case "$t_ndbm" in $define) : see if dbm_open exists @@ -15873,9 +18853,10 @@ BSD_4_3 BSD_4_4 BSD_NET2 BSD_TIME BSD_TYPES BSDCOMPAT bsdi bull c cadmus clipper CMU COFF COMPILER_VERSION concurrent convex cpu cray CRAY CRAYMPP ctix CX_UX CYGWIN DGUX DGUX_SOURCE DJGPP dmert DOLPHIN DPX2 DSO -Dynix DynixPTX ELF encore EPI EXTENSIONS FILE_OFFSET_BITS -FreeBSD GCC_NEW_VARARGS gcos gcx gimpel -GNU_SOURCE GNUC GNUC_MINOR GO32 gould GOULD_PN +Dynix DynixPTX ELF encore EPI EXTENSIONS FAVOR_BSD +FILE_OFFSET_BITS FreeBSD GCC_NEW_VARARGS gcos gcx gimpel +GLIBC GLIBC_MINOR +GNU_SOURCE GNUC GNUC_MINOR GNU_LIBRARY GO32 gould GOULD_PN H3050R H3050RX hbullx20 hcx host_mips hp200 hp300 hp700 HP700 hp800 hp9000 hp9000s200 hp9000s300 hp9000s400 hp9000s500 @@ -15918,7 +18899,11 @@ tower tower32 tower32_200 tower32_600 tower32_700 tower32_800 tower32_850 tss u370 u3b u3b2 u3b20 u3b200 u3b20d u3b5 ultrix UMAXV UnicomPBB UnicomPBD UNICOS UNICOSMK -unix UNIX95 UNIX99 unixpc unos USGr4 USGr4_2 +unix UNIX95 UNIX99 unixpc unos +USE_BSD USE_FILE_OFFSET64 USE_GNU USE_ISOC9X USE_LARGEFILE USE_LARGEFILE64 +USE_MISC USE_POSIX USE_POSIX199309 USE_POSIX199506 USE_POSIX2 +USE_REENTRANT USE_SVID USE_UNIX98 USE_XOPEN USE_XOPEN_EXTENDED +USGr4 USGr4_2 Utek UTek UTS UWIN uxpm uxps vax venix VMESA vms xenix Xenix286 XOPEN_SOURCE XOPEN_SOURCE_EXTENDED XPG2 XPG2_EXTENDED XPG3 XPG3_EXTENDED XPG4 XPG4_EXTENDED @@ -15992,7 +18977,7 @@ for i in \`$cc -v -c tmp.c 2>&1 $postprocess_cc_v\` do case "\$i" in -D*) echo "\$i" | $sed 's/^-D//';; - -A*) $test "$gccversion" && echo "\$i" | $sed 's/^-A\(.*\)(\(.*\))/\1=\2/';; + -A*) $test "$gccversion" && echo "\$i" | $sed 's/^-A//' | $sed 's/\(.*\)(\(.*\))/\1=\2/';; esac done $rm -f try.c @@ -16109,10 +19094,6 @@ set i_termio; eval $setvar val=$val2; set i_sgtty; eval $setvar val=$val3; set i_termios; eval $setvar -: see if this is a shadow.h system -set shadow.h i_shadow -eval $inhdr - : see if stddef is available set stddef.h i_stddef eval $inhdr @@ -16269,7 +19250,7 @@ find_extensions=' else if $test -d $xxx -a $# -lt 10; then set $1$xxx/ $*; - cd $xxx; + cd "$xxx"; eval $find_extensions; cd ..; shift; @@ -16279,17 +19260,21 @@ find_extensions=' esac; done' tdir=`pwd` -cd $rsrc/ext +cd "$rsrc/ext" set X shift eval $find_extensions +# Special case: Add in threads/shared since it is not picked up by the +# recursive find above (and adding in general recursive finding breaks +# SDBM_File/sdbm). A.D. 10/25/2001. +known_extensions="$known_extensions threads/shared" set X $nonxs_extensions shift nonxs_extensions="$*" set X $known_extensions shift known_extensions="$*" -cd $tdir +cd "$tdir" : Now see which are supported on this system. avail_ext='' @@ -16350,7 +19335,12 @@ for xxx in $known_extensions ; do ;; Socket|socket) case "$d_socket" in - true|$define|y) avail_ext="$avail_ext $xxx" ;; + true|$define|y) + case "$osname" in + beos) ;; # not unless BONE + *) avail_ext="$avail_ext $xxx" ;; + esac + ;; esac ;; Sys/Syslog|sys/syslog) @@ -16367,6 +19357,33 @@ for xxx in $known_extensions ; do esac esac ;; + XS/APItest|xs/apitest) + # This is just for testing. Skip it unless we have dynamic loading. + + case "$usedl" in + $define) avail_ext="$avail_ext $xxx" ;; + esac + ;; + XS/Typemap|xs/typemap) + # This is just for testing. Skip it unless we have dynamic loading. + case "$usedl" in + $define) avail_ext="$avail_ext $xxx" ;; + esac + ;; + threads|threads/shared) + # threads and threads::shared are special cases. + # To stop people from asking "Perl 5.8.0 was supposed + # to have this new fancy threads implementation but my + # perl doesn't have it" and from people trying to + # (re)install the threads module using CPAN.pm and + # CPAN.pm then offering to reinstall Perl 5.8.0, + # the threads.pm and threads/shared.pm will always be + # there, croaking informatively ("you need to rebuild + # all of Perl with threads, sorry") when threads haven't + # been compiled in. + # --jhi + avail_ext="$avail_ext $xxx" + ;; IPC/SysV|ipc/sysv) : XXX Do we need a useipcsysv variable here case "${d_msg}${d_sem}${d_shm}" in @@ -16503,6 +19520,20 @@ EOM esac ;; esac +# +# Encode is a special case. If we are building Encode as a static +# extension, we need to explicitly list its subextensions as well. +# For other nested extensions, this is handled automatically by +# the appropriate Makefile.PL. +case " $static_ext " in + *" Encode "*) # Add the subextensions of Encode + cd "$rsrc/ext" + for xxx in `ls Encode/*/Makefile.PL|awk -F/ '{print $2}'`; do + static_ext="$static_ext Encode/$xxx" + done + cd "$tdir" + ;; +esac set X $dynamic_ext $static_ext $nonxs_ext shift @@ -16550,6 +19581,12 @@ if test -d ../UU; then cd .. fi +: configuration may be patched via a 'config.arch' file +if $test -f config.arch; then + echo "I see a config.arch file, loading it." + . ./config.arch +fi + : configuration may be patched via a 'config.over' file if $test -f config.over; then echo " " @@ -16623,11 +19660,11 @@ archlibexp='$archlibexp' archname64='$archname64' archname='$archname' archobjs='$archobjs' +asctime_r_proto='$asctime_r_proto' awk='$awk' baserev='$baserev' bash='$bash' bin='$bin' -bincompat5005='$bincompat5005' binexp='$binexp' bison='$bison' byacc='$byacc' @@ -16665,8 +19702,11 @@ cppminus='$cppminus' cpprun='$cpprun' cppstdin='$cppstdin' cppsymbols='$cppsymbols' +crypt_r_proto='$crypt_r_proto' cryptlib='$cryptlib' csh='$csh' +ctermid_r_proto='$ctermid_r_proto' +ctime_r_proto='$ctime_r_proto' d_Gconvert='$d_Gconvert' d_PRIEUldbl='$d_PRIEUldbl' d_PRIFUldbl='$d_PRIFUldbl' @@ -16686,12 +19726,12 @@ d_access='$d_access' d_accessx='$d_accessx' d_alarm='$d_alarm' d_archlib='$d_archlib' +d_asctime_r='$d_asctime_r' d_atolf='$d_atolf' d_atoll='$d_atoll' d_attribut='$d_attribut' d_bcmp='$d_bcmp' d_bcopy='$d_bcopy' -d_bincompat5005='$d_bincompat5005' d_bsd='$d_bsd' d_bsdgetpgrp='$d_bsdgetpgrp' d_bsdsetpgrp='$d_bsdsetpgrp' @@ -16702,29 +19742,41 @@ d_charvspr='$d_charvspr' d_chown='$d_chown' d_chroot='$d_chroot' d_chsize='$d_chsize' +d_class='$d_class' d_closedir='$d_closedir' d_cmsghdr_s='$d_cmsghdr_s' d_const='$d_const' d_crypt='$d_crypt' +d_crypt_r='$d_crypt_r' d_csh='$d_csh' +d_ctermid_r='$d_ctermid_r' +d_ctime_r='$d_ctime_r' d_cuserid='$d_cuserid' d_dbl_dig='$d_dbl_dig' d_dbminitproto='$d_dbminitproto' d_difftime='$d_difftime' +d_dirfd='$d_dirfd' d_dirnamlen='$d_dirnamlen' d_dlerror='$d_dlerror' d_dlopen='$d_dlopen' d_dlsymun='$d_dlsymun' d_dosuid='$d_dosuid' +d_drand48_r='$d_drand48_r' d_drand48proto='$d_drand48proto' d_dup2='$d_dup2' d_eaccess='$d_eaccess' d_endgrent='$d_endgrent' +d_endgrent_r='$d_endgrent_r' d_endhent='$d_endhent' +d_endhostent_r='$d_endhostent_r' d_endnent='$d_endnent' +d_endnetent_r='$d_endnetent_r' d_endpent='$d_endpent' +d_endprotoent_r='$d_endprotoent_r' d_endpwent='$d_endpwent' +d_endpwent_r='$d_endpwent_r' d_endsent='$d_endsent' +d_endservent_r='$d_endservent_r' d_eofnblk='$d_eofnblk' d_eunice='$d_eunice' d_fchdir='$d_fchdir' @@ -16736,11 +19788,17 @@ d_fd_macros='$d_fd_macros' d_fd_set='$d_fd_set' d_fds_bits='$d_fds_bits' d_fgetpos='$d_fgetpos' +d_finite='$d_finite' +d_finitel='$d_finitel' d_flexfnam='$d_flexfnam' d_flock='$d_flock' d_flockproto='$d_flockproto' d_fork='$d_fork' +d_fp_class='$d_fp_class' d_fpathconf='$d_fpathconf' +d_fpclass='$d_fpclass' +d_fpclassify='$d_fpclassify' +d_fpclassl='$d_fpclassl' d_fpos64_t='$d_fpos64_t' d_frexpl='$d_frexpl' d_fs_data_s='$d_fs_data_s' @@ -16755,19 +19813,29 @@ d_getcwd='$d_getcwd' d_getespwnam='$d_getespwnam' d_getfsstat='$d_getfsstat' d_getgrent='$d_getgrent' +d_getgrent_r='$d_getgrent_r' +d_getgrgid_r='$d_getgrgid_r' +d_getgrnam_r='$d_getgrnam_r' d_getgrps='$d_getgrps' d_gethbyaddr='$d_gethbyaddr' d_gethbyname='$d_gethbyname' d_gethent='$d_gethent' d_gethname='$d_gethname' +d_gethostbyaddr_r='$d_gethostbyaddr_r' +d_gethostbyname_r='$d_gethostbyname_r' +d_gethostent_r='$d_gethostent_r' d_gethostprotos='$d_gethostprotos' d_getitimer='$d_getitimer' d_getlogin='$d_getlogin' +d_getlogin_r='$d_getlogin_r' d_getmnt='$d_getmnt' d_getmntent='$d_getmntent' d_getnbyaddr='$d_getnbyaddr' d_getnbyname='$d_getnbyname' d_getnent='$d_getnent' +d_getnetbyaddr_r='$d_getnetbyaddr_r' +d_getnetbyname_r='$d_getnetbyname_r' +d_getnetent_r='$d_getnetent_r' d_getnetprotos='$d_getnetprotos' d_getpagsz='$d_getpagsz' d_getpbyname='$d_getpbyname' @@ -16778,30 +19846,43 @@ d_getpgrp2='$d_getpgrp2' d_getpgrp='$d_getpgrp' d_getppid='$d_getppid' d_getprior='$d_getprior' +d_getprotobyname_r='$d_getprotobyname_r' +d_getprotobynumber_r='$d_getprotobynumber_r' +d_getprotoent_r='$d_getprotoent_r' d_getprotoprotos='$d_getprotoprotos' d_getprpwnam='$d_getprpwnam' d_getpwent='$d_getpwent' +d_getpwent_r='$d_getpwent_r' +d_getpwnam_r='$d_getpwnam_r' +d_getpwuid_r='$d_getpwuid_r' d_getsbyname='$d_getsbyname' d_getsbyport='$d_getsbyport' d_getsent='$d_getsent' +d_getservbyname_r='$d_getservbyname_r' +d_getservbyport_r='$d_getservbyport_r' +d_getservent_r='$d_getservent_r' d_getservprotos='$d_getservprotos' d_getspnam='$d_getspnam' +d_getspnam_r='$d_getspnam_r' d_gettimeod='$d_gettimeod' +d_gmtime_r='$d_gmtime_r' d_gnulibc='$d_gnulibc' d_grpasswd='$d_grpasswd' d_hasmntopt='$d_hasmntopt' d_htonl='$d_htonl' -d_iconv='$d_iconv' d_index='$d_index' d_inetaton='$d_inetaton' d_int64_t='$d_int64_t' d_isascii='$d_isascii' +d_isfinite='$d_isfinite' +d_isinf='$d_isinf' d_isnan='$d_isnan' d_isnanl='$d_isnanl' d_killpg='$d_killpg' d_lchown='$d_lchown' d_ldbl_dig='$d_ldbl_dig' d_link='$d_link' +d_localtime_r='$d_localtime_r' d_locconv='$d_locconv' d_lockf='$d_lockf' d_longdbl='$d_longdbl' @@ -16844,7 +19925,6 @@ d_mymalloc='$d_mymalloc' d_nice='$d_nice' d_nl_langinfo='$d_nl_langinfo' d_nv_preserves_uv='$d_nv_preserves_uv' -d_nv_preserves_uv_bits='$d_nv_preserves_uv_bits' d_off64_t='$d_off64_t' d_old_pthread_create_joinable='$d_old_pthread_create_joinable' d_oldpthreads='$d_oldpthreads' @@ -16857,6 +19937,7 @@ d_phostname='$d_phostname' d_pipe='$d_pipe' d_poll='$d_poll' d_portable='$d_portable' +d_procselfexe='$d_procselfexe' d_pthread_atfork='$d_pthread_atfork' d_pthread_yield='$d_pthread_yield' d_pwage='$d_pwage' @@ -16869,7 +19950,10 @@ d_pwpasswd='$d_pwpasswd' d_pwquota='$d_pwquota' d_qgcvt='$d_qgcvt' d_quad='$d_quad' +d_random_r='$d_random_r' +d_readdir64_r='$d_readdir64_r' d_readdir='$d_readdir' +d_readdir_r='$d_readdir_r' d_readlink='$d_readlink' d_readv='$d_readv' d_recvmsg='$d_recvmsg' @@ -16894,19 +19978,25 @@ d_sendmsg='$d_sendmsg' d_setegid='$d_setegid' d_seteuid='$d_seteuid' d_setgrent='$d_setgrent' +d_setgrent_r='$d_setgrent_r' d_setgrps='$d_setgrps' d_sethent='$d_sethent' +d_sethostent_r='$d_sethostent_r' d_setitimer='$d_setitimer' d_setlinebuf='$d_setlinebuf' d_setlocale='$d_setlocale' +d_setlocale_r='$d_setlocale_r' d_setnent='$d_setnent' +d_setnetent_r='$d_setnetent_r' d_setpent='$d_setpent' d_setpgid='$d_setpgid' d_setpgrp2='$d_setpgrp2' d_setpgrp='$d_setpgrp' d_setprior='$d_setprior' d_setproctitle='$d_setproctitle' +d_setprotoent_r='$d_setprotoent_r' d_setpwent='$d_setpwent' +d_setpwent_r='$d_setpwent_r' d_setregid='$d_setregid' d_setresgid='$d_setresgid' d_setresuid='$d_setresuid' @@ -16914,6 +20004,7 @@ d_setreuid='$d_setreuid' d_setrgid='$d_setrgid' d_setruid='$d_setruid' d_setsent='$d_setsent' +d_setservent_r='$d_setservent_r' d_setsid='$d_setsid' d_setvbuf='$d_setvbuf' d_sfio='$d_sfio' @@ -16933,6 +20024,8 @@ d_socklen_t='$d_socklen_t' d_sockpair='$d_sockpair' d_socks5_init='$d_socks5_init' d_sqrtl='$d_sqrtl' +d_srand48_r='$d_srand48_r' +d_srandom_r='$d_srandom_r' d_sresgproto='$d_sresgproto' d_sresuproto='$d_sresuproto' d_statblks='$d_statblks' @@ -16951,6 +20044,7 @@ d_strcoll='$d_strcoll' d_strctcpy='$d_strctcpy' d_strerrm='$d_strerrm' d_strerror='$d_strerror' +d_strerror_r='$d_strerror_r' d_strftime='$d_strftime' d_strtod='$d_strtod' d_strtol='$d_strtol' @@ -16975,13 +20069,18 @@ d_telldir='$d_telldir' d_telldirproto='$d_telldirproto' d_time='$d_time' d_times='$d_times' +d_tm_tm_gmtoff='$d_tm_tm_gmtoff' +d_tm_tm_zone='$d_tm_tm_zone' +d_tmpnam_r='$d_tmpnam_r' d_truncate='$d_truncate' +d_ttyname_r='$d_ttyname_r' d_tzname='$d_tzname' d_u32align='$d_u32align' d_ualarm='$d_ualarm' d_umask='$d_umask' d_uname='$d_uname' d_union_semun='$d_union_semun' +d_unordered='$d_unordered' d_usleep='$d_usleep' d_usleepproto='$d_usleepproto' d_ustat='$d_ustat' @@ -17012,12 +20111,19 @@ dlext='$dlext' dlsrc='$dlsrc' doublesize='$doublesize' drand01='$drand01' +drand48_r_proto='$drand48_r_proto' dynamic_ext='$dynamic_ext' eagain='$eagain' ebcdic='$ebcdic' echo='$echo' egrep='$egrep' emacs='$emacs' +endgrent_r_proto='$endgrent_r_proto' +endhostent_r_proto='$endhostent_r_proto' +endnetent_r_proto='$endnetent_r_proto' +endprotoent_r_proto='$endprotoent_r_proto' +endpwent_r_proto='$endpwent_r_proto' +endservent_r_proto='$endservent_r_proto' eunicefix='$eunicefix' exe_ext='$exe_ext' expr='$expr' @@ -17037,11 +20143,34 @@ full_csh='$full_csh' full_sed='$full_sed' gccosandvers='$gccosandvers' gccversion='$gccversion' +getgrent_r_proto='$getgrent_r_proto' +getgrgid_r_proto='$getgrgid_r_proto' +getgrnam_r_proto='$getgrnam_r_proto' +gethostbyaddr_r_proto='$gethostbyaddr_r_proto' +gethostbyname_r_proto='$gethostbyname_r_proto' +gethostent_r_proto='$gethostent_r_proto' +getlogin_r_proto='$getlogin_r_proto' +getnetbyaddr_r_proto='$getnetbyaddr_r_proto' +getnetbyname_r_proto='$getnetbyname_r_proto' +getnetent_r_proto='$getnetent_r_proto' +getprotobyname_r_proto='$getprotobyname_r_proto' +getprotobynumber_r_proto='$getprotobynumber_r_proto' +getprotoent_r_proto='$getprotoent_r_proto' +getpwent_r_proto='$getpwent_r_proto' +getpwnam_r_proto='$getpwnam_r_proto' +getpwuid_r_proto='$getpwuid_r_proto' +getservbyname_r_proto='$getservbyname_r_proto' +getservbyport_r_proto='$getservbyport_r_proto' +getservent_r_proto='$getservent_r_proto' +getspnam_r_proto='$getspnam_r_proto' gidformat='$gidformat' gidsign='$gidsign' gidsize='$gidsize' gidtype='$gidtype' glibpth='$glibpth' +gmake='$gmake' +gmtime_r_proto='$gmtime_r_proto' +gnulibc_version='$gnulibc_version' grep='$grep' groupcat='$groupcat' groupstype='$groupstype' @@ -17060,6 +20189,7 @@ i8size='$i8size' i8type='$i8type' i_arpainet='$i_arpainet' i_bsdioctl='$i_bsdioctl' +i_crypt='$i_crypt' i_db='$i_db' i_dbm='$i_dbm' i_dirent='$i_dirent' @@ -17067,9 +20197,10 @@ i_dld='$i_dld' i_dlfcn='$i_dlfcn' i_fcntl='$i_fcntl' i_float='$i_float' +i_fp='$i_fp' +i_fp_class='$i_fp_class' i_gdbm='$i_gdbm' i_grp='$i_grp' -i_iconv='$i_iconv' i_ieeefp='$i_ieeefp' i_inttypes='$i_inttypes' i_langinfo='$i_langinfo' @@ -17188,6 +20319,7 @@ lint='$lint' lkflags='$lkflags' ln='$ln' lns='$lns' +localtime_r_proto='$localtime_r_proto' locincpth='$locincpth' loclibpth='$loclibpth' longdblsize='$longdblsize' @@ -17236,6 +20368,7 @@ nroff='$nroff' nvEUformat='$nvEUformat' nvFUformat='$nvFUformat' nvGUformat='$nvGUformat' +nv_preserves_uv_bits='$nv_preserves_uv_bits' nveformat='$nveformat' nvfformat='$nvfformat' nvgformat='$nvgformat' @@ -17271,15 +20404,19 @@ prefix='$prefix' prefixexp='$prefixexp' privlib='$privlib' privlibexp='$privlibexp' +procselfexe='$procselfexe' prototype='$prototype' ptrsize='$ptrsize' quadkind='$quadkind' quadtype='$quadtype' randbits='$randbits' randfunc='$randfunc' +random_r_proto='$random_r_proto' randseedtype='$randseedtype' ranlib='$ranlib' rd_nodata='$rd_nodata' +readdir64_r_proto='$readdir64_r_proto' +readdir_r_proto='$readdir_r_proto' revision='$revision' rm='$rm' rmail='$rmail' @@ -17306,6 +20443,13 @@ seedfunc='$seedfunc' selectminbits='$selectminbits' selecttype='$selecttype' sendmail='$sendmail' +setgrent_r_proto='$setgrent_r_proto' +sethostent_r_proto='$sethostent_r_proto' +setlocale_r_proto='$setlocale_r_proto' +setnetent_r_proto='$setnetent_r_proto' +setprotoent_r_proto='$setprotoent_r_proto' +setpwent_r_proto='$setpwent_r_proto' +setservent_r_proto='$setservent_r_proto' sh='$sh' shar='$shar' sharpbang='$sharpbang' @@ -17340,6 +20484,8 @@ socksizetype='$socksizetype' sort='$sort' spackage='$spackage' spitshell='$spitshell' +srand48_r_proto='$srand48_r_proto' +srandom_r_proto='$srandom_r_proto' src='$src' ssizetype='$ssizetype' startperl='$startperl' @@ -17352,6 +20498,7 @@ stdio_cnt='$stdio_cnt' stdio_filbuf='$stdio_filbuf' stdio_ptr='$stdio_ptr' stdio_stream_array='$stdio_stream_array' +strerror_r_proto='$strerror_r_proto' strings='$strings' submit='$submit' subversion='$subversion' @@ -17364,11 +20511,13 @@ tee='$tee' test='$test' timeincl='$timeincl' timetype='$timetype' +tmpnam_r_proto='$tmpnam_r_proto' to='$to' touch='$touch' tr='$tr' trnl='$trnl' troff='$troff' +ttyname_r_proto='$ttyname_r_proto' u16size='$u16size' u16type='$u16type' u32size='$u32size' @@ -17505,7 +20654,7 @@ echo " " exec 1>&4 pwd=`pwd` . ./UU/extract -cd $pwd +cd "$pwd" if $contains '^depend:' [Mm]akefile >/dev/null 2>&1; then dflt=y