X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Configure;h=f4138e6b6c1ee31d64c67e4ad19ec2c9bc10ffff;hb=07eb8ee282b50089a8093dabf88ba738c33af5ad;hp=b561281a6650df5da1e78202706a8368f07183f5;hpb=cce08f5b9b7595afc792a45212fcf309dbd735ca;p=p5sagit%2Fp5-mst-13.2.git diff --git a/Configure b/Configure index b561281..f4138e6 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 Wed Jan 19 19:38:29 EET 2000 [metaconfig 3.0 PL70] +# Generated on Sat Mar 18 23:12:11 EET 2000 [metaconfig 3.0 PL70] # (with additional metaconfig patches by perlbug@perl.com) cat >/tmp/c1$$ <> posthint.sh ;; *) echo "$me: unknown -A command '$xxx', ignoring -A $1" >&2 ;; esac + shift ;; -V) echo "$me generated by metaconfig 3.0 PL70." >&2 exit 0;; @@ -1921,7 +1896,6 @@ ln more nm nroff -perl pg test uname @@ -2129,7 +2103,8 @@ $eunicefix tr : Try to determine whether config.sh was made on this system case "$config_sh" in '') -myuname=`( ($uname -a) 2>/dev/null || hostname) 2>&1` +myuname=`$uname -a 2>/dev/null` +$test -z "$myuname" && myuname=`hostname 2>/dev/null` # tr '[A-Z]' '[a-z]' would not work in EBCDIC # because the A-Z/a-z are not consecutive. myuname=`echo $myuname | $sed -e 's/^[^=]*=//' -e 's/\///g' | \ @@ -2195,6 +2170,7 @@ EOM $test -f /dnix && osname=dnix $test -f /lynx.os && osname=lynxos $test -f /unicos && osname=unicos && osvers=`$uname -r` + $test -f /unicosmk && osname=unicosmk && osvers=`$uname -r` $test -f /unicosmk.ar && osname=unicosmk && osvers=`$uname -r` $test -f /bin/mips && /bin/mips && osname=mips $test -d /NextApps && set X `hostinfo | grep 'NeXT Mach.*:' | \ @@ -2445,12 +2421,12 @@ EOM : specified already. case "$hintfile" in ''|' ') - file=`echo "${osname}_${osvers}" | $sed -e 's@\.@_@g' -e 's@_$@@'` + file=`echo "${osname}_${osvers}" | $sed -e 's%\.%_%g' -e 's%_$%%'` : Also try without trailing minor version numbers. - xfile=`echo $file | $sed -e 's@_[^_]*$@@'` - xxfile=`echo $xfile | $sed -e 's@_[^_]*$@@'` - xxxfile=`echo $xxfile | $sed -e 's@_[^_]*$@@'` - xxxxfile=`echo $xxxfile | $sed -e 's@_[^_]*$@@'` + xfile=`echo $file | $sed -e 's%_[^_]*$%%'` + xxfile=`echo $xfile | $sed -e 's%_[^_]*$%%'` + xxxfile=`echo $xxfile | $sed -e 's%_[^_]*$%%'` + xxxxfile=`echo $xxxfile | $sed -e 's%_[^_]*$%%'` case "$file" in '') dflt=none ;; *) case "$osvers" in @@ -2653,21 +2629,23 @@ $undef$define) . ./whoa; eval "$var=\$tu";; *) eval "$var=$val";; esac' +case "$usethreads" in +$define|true|[yY]*) dflt='y';; +*) dflt='n';; +esac cat </dev/null|tail -1` + $test -f "$xxx" && eval $libscheck + $test -f "$xxx" && libstyle=shared + fi + if test ! -f "$xxx"; then + xxx=$thisdir/lib$thislib.$so + $test -f "$xxx" && eval $libscheck + $test -f "$xxx" && libstyle=shared + fi + if test ! -f "$xxx"; then + xxx=$thisdir/lib$thislib$_a + $test -f "$xxx" && eval $libscheck + $test -f "$xxx" && libstyle=static + fi + if test ! -f "$xxx"; then + xxx=$thisdir/$thislib$_a + $test -f "$xxx" && eval $libscheck + $test -f "$xxx" && libstyle=static + fi + if test ! -f "$xxx"; then + xxx=$thisdir/lib${thislib}_s$_a + $test -f "$xxx" && eval $libscheck + $test -f "$xxx" && libstyle=static + $test -f "$xxx" && thislib=${thislib}_s + fi + if test ! -f "$xxx"; then + xxx=$thisdir/Slib$thislib$_a + $test -f "$xxx" && eval $libscheck + $test -f "$xxx" && libstyle=static + fi + if $test -f "$xxx"; then + case "$libstyle" in + shared) echo "Found -l$thislib (shared)." ;; + static) echo "Found -l$thislib." ;; + *) echo "Found -l$thislib ($libstyle)." ;; esac - elif xxx=`./loc Slib$thislib$_a X $xlibpth`; $test -f "$xxx"; then - echo "Found -l$thislib." case " $dflt " in *"-l$thislib "*);; - *) dflt="$dflt -l$thislib";; + *) dflt="$dflt -l$thislib" + libsfound="$libsfound $xxx" + yyy=`basename $xxx` + libsfiles="$libsfiles $yyy" + yyy=`echo $xxx|$sed -e "s%/$yyy\\$%%"` + case " $libsdirs " in + *" $yyy "*) ;; + *) libsdirs="$libsdirs $yyy" ;; + esac + ;; esac - else - echo "No -l$thislib." + break + fi + done + if $test ! -f "$xxx"; then + echo "No -l$thislib." fi done set X $dflt @@ -4234,7 +4239,7 @@ set off_t lseektype long stdio.h sys/types.h eval $typedef_ask echo " " -$echo $n "Checking to see how big your file offsets are...$c" >&4 +echo "Checking to see how big your file offsets are..." >&4 $cat >try.c < #include @@ -4247,7 +4252,7 @@ EOCP set try if eval $compile_ok; then lseeksize=`./try` - $echo " $lseeksize bytes." >&4 + echo "Your file offsets are $lseeksize bytes long." else dflt=$longsize echo " " @@ -4268,7 +4273,7 @@ case "$fpostype" in *_t) zzz="$fpostype" ;; *) zzz="fpos_t" ;; esac -$echo $n "Checking the size of $zzz...$c" >&4 +echo "Checking the size of $zzz..." >&4 cat > try.c < #include @@ -4282,16 +4287,15 @@ if eval $compile_ok; then yyy=`./try` case "$yyy" in '') fpossize=4 - echo " " echo "(I can't execute the test program--guessing $fpossize.)" >&4 ;; *) fpossize=$yyy - echo " $fpossize bytes." + echo "Your $zzz is $fpossize bytes long." ;; esac else dflt="$longsize" - echo " " + echo " " >&4 echo "(I can't compile the test program. Guessing...)" >&4 rp="What is the size of your file positions (in bytes)?" . ./myread @@ -4300,23 +4304,34 @@ fi +# Backward compatibility (uselfs is deprecated). +case "$uselfs" in +"$define"|true|[yY]*) + cat <&4 + +*** Configure -Duselfs is deprecated, using -Duselargefiles instead. +EOM + uselargefiles="$define" + ;; +esac + case "$lseeksize:$fpossize" in 8:8) cat <&4 + echo "Rechecking to see how big your file offsets are..." >&4 $cat >try.c < #include @@ -4349,7 +4364,7 @@ EOCP set try if eval $compile_ok; then lseeksize=`./try` - $echo " $lseeksize bytes." >&4 + $echo "Your file offsets are now $lseeksize bytes long." else dflt="$lseeksize" echo " " @@ -4380,7 +4395,7 @@ EOCP echo "(I can't execute the test program--guessing $fpossize.)" >&4 ;; *) fpossize=$yyy - echo " $fpossize bytes." + echo " $fpossize bytes." >&4 ;; esac else @@ -4399,7 +4414,7 @@ esac case "$usemorebits" in "$define"|true|[yY]*) - use64bits="$define" + use64bitint="$define" uselongdouble="$define" usemorebits="$define" ;; @@ -4408,70 +4423,170 @@ case "$usemorebits" in esac -case "$intsize:$longsize" in -8:*|*:8) cat <&4 -You have natively 64-bit integers. +*** Configure -Duselonglong is deprecated, using -Duse64bitint instead. EOM - val="$define" ;; -*) cat <&4 + +*** Configure -Duse64bits is deprecated, using -Duse64bitint instead. +EOM + use64bitint="$define" + ;; +esac +case "$use64bitints" in +"$define"|true|[yY]*) + cat <&4 + +*** There is no Configure -Duse64bitints, using -Duse64bitint instead. +EOM + use64bitint="$define" + ;; +esac +case "$use64bitsint" in +"$define"|true|[yY]*) + cat <&4 + +*** There is no Configure -Duse64bitsint, using -Duse64bitint instead. +EOM + use64bitint="$define" + ;; +esac +case "$uselonglongs" in +"$define"|true|[yY]*) + cat <&4 + +*** There is no Configure -Duselonglongs, using -Duse64bitint instead. +EOM + use64bitint="$define" + ;; +esac +case "$use64bitsall" in +"$define"|true|[yY]*) + cat <&4 + +*** There is no Configure -Duse64bitsall, using -Duse64bitall instead. +EOM + use64bitall="$define" + ;; +esac + +case "$ccflags" in +*-DUSE_LONG_LONG*|*-DUSE_64_BIT_INT*|*-DUSE_64_BIT_ALL*) use64bitint="$define";; +esac +case "$use64bitall" in +"$define"|true|[yY]*) use64bitint="$define" ;; +esac + +case "$longsize" in +8) cat <&4 if $test -r $rsrc/patchlevel.h;then + revision=`awk '/define[ ]+PERL_REVISION/ {print $3}' $rsrc/patchlevel.h` patchlevel=`awk '/define[ ]+PERL_VERSION/ {print $3}' $rsrc/patchlevel.h` subversion=`awk '/define[ ]+PERL_SUBVERSION/ {print $3}' $rsrc/patchlevel.h` api_revision=`awk '/define[ ]+PERL_API_REVISION/ {print $3}' $rsrc/patchlevel.h` api_version=`awk '/define[ ]+PERL_API_VERSION/ {print $3}' $rsrc/patchlevel.h` api_subversion=`awk '/define[ ]+PERL_API_SUBVERSION/ {print $3}' $rsrc/patchlevel.h` else + revision=0 patchlevel=0 subversion=0 api_revision=0 api_version=0 api_subversion=0 fi -$echo $n "(You have $package" $c -case "$package" in -"*$baserev") ;; -*) $echo $n " $baserev" $c ;; -esac +$echo $n "(You have $package revision $revision" $c $echo $n " patchlevel $patchlevel" $c test 0 -eq "$subversion" || $echo $n " subversion $subversion" $c echo ".)" case "$osname" in -dos|cygwin|vms|win32) +dos|vms) : XXX Should be a Configure test for double-dots in filenames. - version=`echo $baserev $patchlevel $subversion | \ + version=`echo $revision $patchlevel $subversion | \ $awk '{ printf "%d_%d_%d\n", $1, $2, $3 }'` api_versionstring=`echo $api_revision $api_version $api_subversion | \ $awk '{ printf "%d_%d_%d\n", $1, $2, $3 }'` ;; *) - version=`echo $baserev $patchlevel $subversion | \ + version=`echo $revision $patchlevel $subversion | \ $awk '{ printf "%d.%d.%d\n", $1, $2, $3 }'` api_versionstring=`echo $api_revision $api_version $api_subversion | \ $awk '{ printf "%d.%d.%d\n", $1, $2, $3 }'` @@ -4717,7 +4827,7 @@ case "$installstyle" in *) dflt='lib/perl5' ;; esac ;; -*) dflt='lib/perl5' ;; +*) dflt="$installstyle" ;; esac : Probably not worth prompting for this since we prompt for all : the directories individually, and the prompt would be too long and @@ -4807,9 +4917,9 @@ case "$usethreads$usemultiplicity" in ;; *) $cat </dev/null 2>&1; then + perl5=$tdir/perl + break; + elif $test -x $tdir/perl5 && $tdir/perl5 -Mless -e 'use 5.005;' >/dev/null 2>&1; then + perl5=$tdir/perl + break; + fi + done + ;; +*) perl5="$perl5" + ;; +esac +case "$perl5" in +'') echo "None found. That's ok.";; +*) echo "Using $perl5." ;; +esac + $cat < getverlist <$first) 2>/dev/null; then if $test -f 123456789abcde; then echo 'You cannot have filenames longer than 14 characters. Sigh.' >&4 val="$undef" else - if (echo hi >$second) 2>/dev/null; then - if $test -f /tmp/cf$$/123456789abcde; then - $cat <<'EOM' -That's peculiar... You can have filenames longer than 14 characters, but only -on some of the filesystems. Maybe you are using NFS. Anyway, to avoid problems -I shall consider your system cannot support long filenames at all. -EOM - val="$undef" - else - echo 'You can have filenames longer than 14 characters.' >&4 - val="$define" - fi - else - $cat <<'EOM' -How confusing! Some of your filesystems are sane enough to allow filenames -longer than 14 characters but some others like /tmp can't even think about them. -So, for now on, I shall assume your kernel does not allow them at all. -EOM - val="$undef" - fi + echo 'You can have filenames longer than 14 characters.'>&4 + val="$define" fi else $cat <<'EOM' -You can't have filenames longer than 14 chars. You can't even think about them! +You can't have filenames longer than 14 chars. +You can't even think about them! EOM val="$undef" fi set d_flexfnam eval $setvar -$rm -rf /tmp/cf$$ 123456789abcde* +$rm -rf 123456789abcde* : determine where library module manual pages go set man3dir man3dir none @@ -6493,7 +6671,7 @@ esac echo "If you don't want the manual sources installed, answer 'none'." prog=`echo $package | $sed 's/-*[0-9.]*$//'` case "$man3dir" in -'') dflt=`echo $man1dir | $sed -e 's/man1/man3/g' -e 's/man\.1/man\.3/g'` +'') dflt=`echo "$man1dir" | $sed -e 's/man1/man3/g' -e 's/man\.1/man\.3/g'` if $test -d "$privlib/man/man3"; then cat <&4 @@ -6511,16 +6689,18 @@ EOM esac fi ;; -' ') dflt=none;; *) dflt="$man3dir" ;; esac +case "$dflt" in +' ') dflt=none ;; +esac echo " " fn=dn+~ rp="Where do the $package library man pages (source) go?" . ./getfile man3dir="$ans" man3direxp="$ansexp" -case "$man1dir" in +case "$man3dir" in '') man3dir=' ' installman3dir='';; esac @@ -6811,7 +6991,7 @@ $cat <&4 -Perl can be built to take advantage of long longs which -(if available) may give more range for integer numbers. +*** 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. -If this doesn't make any sense to you, just accept the default 'n'. EOM - -case "$ccflags" in -*-DUSE_LONG_LONG*) uselonglong="$define" ;; + uselongdouble=$undef + ;; esac -case "$uselonglong" in +case "$useperlio" in $define|true|[yY]*) dflt='y';; *) dflt='n';; esac -rp='Try to use long longs if available?' -. ./myread -case "$ans" in -y|Y) val="$define" ;; -*) val="$undef" ;; -esac -set uselonglong -eval $setvar - -case "$uselonglong" in -true|[yY]*) uselonglong="$define" ;; -esac - -case "$uselonglong" in -$define) -: Look for a hint-file generated 'call-back-unit'. If the -: user has specified that long longs should be used, -: we may need to set or change some other defaults. - if $test -f uselonglong.cbu; then - echo "Your platform has some specific hints for long longs, using them..." - . ./uselonglong.cbu - else - $cat <. Versions 5.003_02 and later of perl allow alternate IO @@ -7112,12 +7268,8 @@ have sfio installed) or regular stdio. Using PerlIO with sfio may cause problems with some extension modules. Using PerlIO with stdio is safe, but it is slower than plain stdio and therefore is not the default. -If this doesn't make any sense to you, just accept the default 'n'. +If this doesn't make any sense to you, just accept the default '$dflt'. EOM -case "$useperlio" in -$define|true|[yY]*) dflt='y';; -*) dflt='n';; -esac rp='Use the experimental PerlIO abstraction layer?' . ./myread case "$ans" in @@ -7139,26 +7291,33 @@ case "$vendorprefix" in ;; *) d_vendorbin="$define" : determine where vendor-supplied executables go. - dflt=$vendorprefix/bin + case "$vendorbin" in + '') dflt=$vendorprefix/bin ;; + *) dflt="$vendorbin" ;; + esac fn=d~+ rp='Pathname for the vendor-supplied executables directory?' . ./getfile vendorbin="$ans" vendorbinexp="$ansexp" - : Change installation prefix, if necessary. - if $test X"$prefix" != X"$installprefix"; then - installvendorbin=`echo $vendorbinexp | $sed "s#^$prefix#$installprefix#"` - else - installvendorbin="$vendorbinexp" - fi ;; esac +: Change installation prefix, if necessary. +if $test X"$prefix" != X"$installprefix"; then + installvendorbin=`echo $vendorbinexp | $sed "s#^$prefix#$installprefix#"` +else + installvendorbin="$vendorbinexp" +fi + +: see if qgcvt exists +set qgcvt d_qgcvt +eval $inlibc : check for length of double echo " " case "$doublesize" in '') - $echo $n "Checking to see how big your double precision numbers are...$c" >&4 + echo "Checking to see how big your double precision numbers are..." >&4 $cat >try.c <<'EOCP' #include int main() @@ -7170,7 +7329,7 @@ EOCP set try if eval $compile_ok; then doublesize=`./try` - $echo " $doublesize bytes." >&4 + echo "Your double is $doublesize bytes long." else dflt='8' echo "(I can't seem to compile the test program. Guessing...)" @@ -7184,15 +7343,15 @@ $rm -f try.c try : check for long doubles echo " " -$echo $n "Checking to see if your system supports long double..." $c >&4 +echo "Checking to see if you have long double..." >&4 echo 'int main() { long double x = 7.0; }' > try.c set try if eval $compile; then val="$define" - echo " Yes, it does." >&4 + echo "You have long double." else val="$undef" - echo " No, it doesn't." >&4 + echo "You do not have long double." fi $rm try.* set d_longdbl @@ -7202,7 +7361,7 @@ eval $setvar case "${d_longdbl}${longdblsize}" in $define) echo " " - $echo $n "Checking to see how big your long doubles are..." $c >&4 + echo "Checking to see how big your long doubles are..." >&4 $cat >try.c <<'EOCP' #include int main() @@ -7214,7 +7373,7 @@ EOCP set try if eval $compile; then longdblsize=`./try$exe_ext` - $echo " $longdblsize bytes." >&4 + echo "Your long doubles are $longdblsize bytes long." else dflt='8' echo " " @@ -7230,117 +7389,6 @@ EOCP esac $rm -f try.* try -: Check how to convert floats to strings. -if test "X$d_Gconvert" = X; then - echo " " - echo "Checking for an efficient way to convert floats to strings." - $cat >try.c < - -#ifdef I_STDLIB -#include -#endif - -int -checkit(expect, got) -char *expect; -char *got; -{ - if (strcmp(expect, got)) { - printf("%s oddity: Expected %s, got %s\n", - myname, expect, got); - exit(1); - } -} - -int main() -{ - char buf[64]; - buf[63] = '\0'; - - /* This must be 1st test on (which?) platform */ - /* Alan Burlison */ - Gconvert((DOUBLETYPE)0.1, 8, 0, buf); - checkit("0.1", buf); - - Gconvert((DOUBLETYPE)1.0, 8, 0, buf); - checkit("1", buf); - - Gconvert((DOUBLETYPE)0.0, 8, 0, buf); - checkit("0", buf); - - Gconvert((DOUBLETYPE)-1.0, 8, 0, buf); - checkit("-1", buf); - - /* Some Linux gcvt's give 1.e+5 here. */ - Gconvert((DOUBLETYPE)100000.0, 8, 0, buf); - checkit("100000", buf); - - /* Some Linux gcvt's give -1.e+5 here. */ - Gconvert((DOUBLETYPE)-100000.0, 8, 0, buf); - checkit("-100000", buf); - - 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" in - definedefine) xxx_list="`echo $xxx_list|sed 's/gcvt/qgcvt gcvt/'`" ;; - esac - - for xxx_convert in $xxx_list; do - echo "Trying $xxx_convert..." - $rm -f try try$_o - set try -DTRY_$xxx_convert - if eval $compile; then - echo "$xxx_convert() found." >&4 - if ./try; then - echo "I'll use $xxx_convert to convert floats into a string." >&4 - break; - else - echo "...But $xxx_convert didn't work as I expected." - fi - else - echo "$xxx_convert NOT found." >&4 - fi - done - - case "$xxx_convert" in - gconvert) d_Gconvert='gconvert((x),(n),(t),(b))' ;; - gcvt) d_Gconvert='gcvt((x),(n),(b))' ;; - qgcvt) d_Gconvert='qgcvt((x),(n),(b))' ;; - *) d_Gconvert='sprintf((b),"%.*g",(n),(x))' ;; - esac -fi - echo " " if $test X"$d_longdbl" = X"$define"; then @@ -7452,6 +7500,159 @@ case "$sPRIfldbl" in ;; esac +: Check how to convert floats to strings. +if test "X$d_Gconvert" = X; then + 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 < + +#define I_STDLIB $i_stdlib +#ifdef I_STDLIB +#include +#endif + +int +checkit(expect, got) +char *expect; +char *got; +{ + if (strcmp(expect, got)) { + printf("%s oddity: Expected %s, got %s\n", + myname, expect, got); + exit(1); + } +} + +int main() +{ + char buf[64]; + buf[63] = '\0'; + + /* This must be 1st test on (which?) platform */ + /* Alan Burlison */ + Gconvert((DOUBLETYPE)0.1, 8, 0, buf); + checkit("0.1", buf); + + Gconvert((DOUBLETYPE)1.0, 8, 0, buf); + checkit("1", buf); + + Gconvert((DOUBLETYPE)1.1, 8, 0, buf); + checkit("1.1", buf); + + Gconvert((DOUBLETYPE)1.01, 8, 0, buf); + checkit("1.01", buf); + + Gconvert((DOUBLETYPE)1.001, 8, 0, buf); + checkit("1.001", buf); + + Gconvert((DOUBLETYPE)1.0001, 8, 0, buf); + checkit("1.0001", buf); + + Gconvert((DOUBLETYPE)1.00001, 8, 0, buf); + checkit("1.00001", buf); + + Gconvert((DOUBLETYPE)1.000001, 8, 0, buf); + checkit("1.000001", buf); + + Gconvert((DOUBLETYPE)0.0, 8, 0, buf); + checkit("0", buf); + + Gconvert((DOUBLETYPE)-1.0, 8, 0, buf); + checkit("-1", buf); + + /* Some Linux gcvt's give 1.e+5 here. */ + Gconvert((DOUBLETYPE)100000.0, 8, 0, buf); + checkit("100000", buf); + + /* Some Linux gcvt's give -1.e+5 here. */ + Gconvert((DOUBLETYPE)-100000.0, 8, 0, buf); + checkit("-100000", buf); + + 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_qgcvt" in + "$define$define$define") xxx_list="`echo $xxx_list|sed 's/gcvt/qgcvt gcvt/'`" ;; + esac + + for xxx_convert in $xxx_list; do + echo "Trying $xxx_convert..." + $rm -f try try$_o + set try -DTRY_$xxx_convert + if eval $compile; then + echo "$xxx_convert() found." >&4 + if ./try; then + echo "I'll use $xxx_convert to convert floats into a string." >&4 + break; + else + echo "...But $xxx_convert didn't work as I expected." + fi + else + echo "$xxx_convert NOT found." >&4 + fi + done + + case "$xxx_convert" in + gconvert) d_Gconvert='gconvert((x),(n),(t),(b))' ;; + gcvt) d_Gconvert='gcvt((x),(n),(b))' ;; + qgcvt) d_Gconvert='qgcvt((x),(n),(b))' ;; + *) case "$uselongdouble$d_longdbl$d_PRIgldbl" in + "$define$define$define") + d_Gconvert="sprintf((b),\"%.*$sPRIgldbl\",(n),(x))" ;; + *) d_Gconvert='sprintf((b),"%.*g",(n),(x))' ;; + esac + ;; + esac +fi + : Initialize h_fcntl h_fcntl=false @@ -8420,7 +8621,8 @@ extern int errno; #ifdef I_UNISTD #include #endif -#ifdef $i_string +#$i_string I_STRING +#ifdef I_STRING #include #else #include @@ -8838,43 +9040,20 @@ set fpathconf d_fpathconf eval $inlibc -: check for off64_t -echo " " -echo "Checking to see if your system supports off64_t..." >&4 -$cat >try.c < -#include -int main() { off64_t x = 7; }' -EOCP -set try -if eval $compile; then - val="$define" - echo "Yes, it does." -else - val="$undef" - echo "No, it doesn't." - case "$lseeksize" in - 8) echo "(Your off_t is 64 bits, so you could use that.)" ;; - esac -fi -$rm -f try.* try -set d_off64_t -eval $setvar - : check for fpos64_t echo " " -echo "Checking to see if your system supports fpos64_t..." >&4 +echo "Checking to see if you have fpos64_t..." >&4 $cat >try.c < -int main() { fpos64_t x x = 7; }' +#include +int main() { fpos64_t x = 7; } EOCP set try if eval $compile; then val="$define" - echo "Yes, it does." + echo "You have fpos64_t." else val="$undef" - echo "No, it doesn't." + echo "You do not have fpos64_t." case "$fpossize" in 8) echo "(Your fpos_t is 64 bits, so you could use that.)" ;; esac @@ -8927,7 +9106,7 @@ esac set fseeko d_fseeko eval $inlibc case "$longsize" in -8) echo "(Your long is 64 bits, so in a pinch you could use fseek.)" ;; +8) echo "(Your long is 64 bits, so you could use fseek.)" ;; esac : see if fsetpos exists @@ -8953,9 +9132,18 @@ eval $inlibc set ftello d_ftello eval $inlibc case "$longsize" in -8) echo "(Your long is 64 bits, so in a pinch you could use ftell.)" ;; +8) echo "(Your long is 64 bits, so you could use ftell.)" ;; esac +: see if getcwd exists +set getcwd d_getcwd +eval $inlibc + + +: see if getfsstat exists +set getfsstat d_getfsstat +eval $inlibc + : see if getgrent exists set getgrent d_getgrent eval $inlibc @@ -9253,6 +9441,10 @@ 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 @@ -9290,6 +9482,51 @@ set d_index; eval $setvar set inet_aton d_inetaton eval $inlibc +: see if inttypes.h is available +: we want a real compile instead of Inhdr because some systems +: have an inttypes.h which includes non-existent headers +echo " " +$cat >try.c < +int main() { + static int32_t foo32 = 0x12345678; +} +EOCP +set try +if eval $compile; then + echo " found." >&4 + val="$define" +else + echo " NOT found." >&4 + val="$undef" +fi +$rm -f try.c try +set i_inttypes +eval $setvar + +: check for int64_t +echo " " +echo "Checking to see if you have int64_t..." >&4 +$cat >try.c < +#$i_inttypes I_INTTYPES +#ifdef I_INTTYPES +#include +#endif +int main() { int64_t x = 7; } +EOCP +set try +if eval $compile; then + val="$define" + echo "You have int64_t." +else + val="$undef" + echo "You do not have int64_t." +fi +$rm -f try try.* +set d_int64_t +eval $setvar + : Look for isascii echo " " $cat >isascii.c <<'EOCP' @@ -9392,15 +9629,15 @@ eval $inlibc : check for long long echo " " -$echo $n "Checking to see if your system supports long long..." $c >&4 +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 " Yes, it does." >&4 + echo "You have have long long." else val="$undef" - echo " No, it doesn't." >&4 + echo "You do not have long long." fi $rm try.* set d_longlong @@ -9410,7 +9647,7 @@ eval $setvar case "${d_longlong}${longlongsize}" in $define) echo " " - $echo $n "Checking to see how big your long longs are..." $c >&4 + echo "Checking to see how big your long longs are..." >&4 $cat >try.c <<'EOCP' #include int main() @@ -9422,7 +9659,7 @@ EOCP set try if eval $compile_ok; then longlongsize=`./try$exe_ext` - $echo " $longlongsize bytes." >&4 + echo "Your long longs are $longlongsize bytes long." else dflt='8' echo " " @@ -9438,10 +9675,19 @@ EOCP esac $rm -f try.* try +: see if prototype for lseek is available +echo " " +set d_lseekproto lseek $i_systypes sys/types.h $i_unistd unistd.h +eval $hasproto + : see if lstat exists set lstat d_lstat eval $inlibc +: see if madvise exists +set madvise d_madvise +eval $inlibc + : see if mblen exists set mblen d_mblen eval $inlibc @@ -9478,14 +9724,57 @@ eval $inlibc set mkdir d_mkdir eval $inlibc +: see if mkdtemp exists +set mkdtemp d_mkdtemp +eval $inlibc + : see if mkfifo exists set mkfifo d_mkfifo eval $inlibc +: see if mkstemp exists +set mkstemp d_mkstemp +eval $inlibc + +: see if mkstemps exists +set mkstemps d_mkstemps +eval $inlibc + : see if mktime exists set mktime d_mktime eval $inlibc +: see if this is a sys/mman.h system +set sys/mman.h i_sysmman +eval $inhdr + +: see if mmap exists +set mmap d_mmap +eval $inlibc +: see what shmat returns +: default to something harmless +mmaptype='void *' +case "$i_sysmman$d_mmap" in +"$define$define") + $cat >mmap.c <<'END' +#include +void *mmap(); +END + if $cc $ccflags -c mmap.c >/dev/null 2>&1; then + mmaptype='void *' + else + mmaptype='caddr_t' + fi + echo "and it returns ($mmaptype)." >&4 + ;; +esac + + + +: see if mprotect exists +set mprotect d_mprotect +eval $inlibc + : see if msgctl exists set msgctl d_msgctl eval $inlibc @@ -9519,74 +9808,37 @@ freebsd) eval $setvar set msgget d_msgget eval $setvar - set msgsnd d_msgsnd - eval $setvar - set msgrcv d_msgrcv - eval $setvar - ;; - esac - ;; -esac -: we could also check for sys/ipc.h ... -if $h_msg && $test `./findhdr sys/msg.h`; then - echo "You have the full msg*(2) library." >&4 - val="$define" -else - echo "You don't have the full msg*(2) library." >&4 - val="$undef" -fi -set d_msg -eval $setvar - -: see if nice exists -set nice d_nice -eval $inlibc - -: see if inttypes.h is available -: we want a real compile instead of Inhdr because some systems -: have an inttypes.h which includes non-existent headers -echo " " -$cat >try.c < -int main() { - static int32_t foo32 = 0x12345678; -} -EOCP -set try -if eval $compile; then - echo " found." >&4 - val="$define" -else - echo " NOT found." >&4 - val="$undef" -fi -$rm -f try.c try -set i_inttypes -eval $setvar - -: check for int64_t -echo " " -$echo $n "Checking to see if your system supports int64_t...$c" >&4 -$cat >try.c < -#$i_inttypes I_INTTYPES -#ifdef I_INTTYPES -#include -#endif -int main() { int64_t x = 7; } -EOCP -set try -if eval $compile; then + set msgsnd d_msgsnd + eval $setvar + set msgrcv d_msgrcv + eval $setvar + ;; + esac + ;; +esac +: we could also check for sys/ipc.h ... +if $h_msg && $test `./findhdr sys/msg.h`; then + echo "You have the full msg*(2) library." >&4 val="$define" - echo " Yes, it does." >&4 else + echo "You don't have the full msg*(2) library." >&4 val="$undef" - echo " No, it doesn't." >&4 fi -$rm -f try try.* -set d_int64t +set d_msg eval $setvar +: see if msync exists +set msync d_msync +eval $inlibc + +: see if munmap exists +set munmap d_munmap +eval $inlibc + +: see if nice exists +set nice d_nice +eval $inlibc + echo " " echo "Checking which 64-bit integer type we could use..." >&4 @@ -9609,8 +9861,8 @@ case "$intsize" in eval $setvar quadkind=2 ;; - *) case "$uselonglong:$d_longlong:$longlongsize" in - define:define:8) + *) case "$d_longlong:$longlongsize" in + define:8) val='"long long"' set quadtype eval $setvar @@ -9619,7 +9871,7 @@ case "$intsize" in eval $setvar quadkind=3 ;; - *) case "$d_int64t" in + *) case "$d_int64_t" in define) val=int64_t set quadtype @@ -9638,14 +9890,10 @@ case "$intsize" in esac case "$quadtype" in -'') case "$uselonglong:$d_longlong:$longlongsize" in - undef:define:8) - echo "(You would have 'long long', but you are not using it.)" >&4 ;; - *) echo "Alas, no 64-bit integer types in sight." >&4 ;; - esac +'') echo "Alas, no 64-bit integer types in sight." >&4 d_quad="$undef" ;; -*) if test X"$use64bits" = Xdefine -o X"$longsize" = X8; then +*) if test X"$use64bitint" = Xdefine -o X"$longsize" = X8; then verb="will" else verb="could" @@ -9689,7 +9937,7 @@ $rm -f try.c try echo " " $echo "Choosing the C types to be used for Perl's internal types..." >&4 -case "$use64bits:$d_quad:$quadtype" in +case "$use64bitint:$d_quad:$quadtype" in define:define:?*) ivtype="$quadtype" uvtype="$uquadtype" @@ -9880,18 +10128,42 @@ EOP set try if eval $compile; then case "`./try$exe_ext`" in - preserve) d_nvpresuv="$define" ;; + preserve) d_nv_preserves_uv="$define" ;; esac fi -case "$d_nvpresuv" in +case "$d_nv_preserves_uv" in $define) $echo "Yes, they can." 2>&1 ;; *) $echo "No, they can't." 2>&1 - d_nvpresuv="$undef" + d_nv_preserves_uv="$undef" ;; esac $rm -f try.* try + +: check for off64_t +echo " " +echo "Checking to see if you have off64_t..." >&4 +$cat >try.c < +#include +int main() { off64_t x = 7; } +EOCP +set try +if eval $compile; then + val="$define" + echo "You have off64_t." +else + val="$undef" + echo "You do not have off64_t." + case "$lseeksize" in + 8) echo "(Your off_t is 64 bits, so you could use that.)" ;; + esac +fi +$rm -f try.* try +set d_off64_t +eval $setvar + : see if POSIX threads are available set pthread.h i_pthread eval $inhdr @@ -10912,10 +11184,6 @@ set d_sigsetjmp eval $setvar $rm -f try.c try -: see if sqrtl exists -set sqrtl d_sqrtl -eval $inlibc - : see if sys/stat.h is available set sys/stat.h i_sysstat eval $inhdr @@ -11212,6 +11480,54 @@ eval $inlibc set strtoll d_strtoll eval $inlibc +case "$d_longlong-$d_strtoll" in +"$define-$define") + $cat <try.c <<'EOCP' +#include +#ifdef __hpux +#define strtoll __strtoll +#endif +#include +extern long long int strtoll(char *s, char **, int); +static int bad = 0; +int check(char *s, long long ell, int een) { + long long gll; + errno = 0; + gll = strtoll(s, 0, 10); + if (!((gll == ell) && (errno == een))) + bad++; +} +int main() { + check(" 1", 1LL, 0); + check(" 0", 0LL, 0); + check("-1", -1LL, 0); + check("-9223372036854775808", -9223372036854775808LL, 0); + check("-9223372036854775808", -9223372036854775808LL, 0); + check(" 9223372036854775807", 9223372036854775807LL, 0); + check("-9223372036854775808", -9223372036854775808LL, 0); + check(" 9223372036854775808", 9223372036854775807LL, ERANGE); + check("-9223372036854775809", -9223372036854775808LL, ERANGE); + if (!bad) + printf("ok\n"); +} +EOCP + set try + if eval $compile; then + case "`./try`" in + ok) echo "Your strtoll() seems to be working okay." ;; + *) cat <&4 +Your strtoll() doesn't seem to be working okay. +EOM + d_strtoll="$undef" + ;; + esac + fi + ;; +esac + : see if strtoul exists set strtoul d_strtoul eval $inlibc @@ -11220,6 +11536,49 @@ eval $inlibc set strtoull d_strtoull eval $inlibc +case "$d_longlong-$d_strtoull" in +"$define-$define") + $cat <try.c <<'EOCP' +#include +#ifdef __hpux +#define strtoull __strtoull +#endif +#include +extern unsigned long long int strtoull(char *s, char **, int); +static int bad = 0; +int check(char *s, long long eull, int een) { + long long gull; + errno = 0; + gull = strtoull(s, 0, 10); + if (!((gull == eull) && (errno == een))) + bad++; +} +int main() { + check(" 1", 1LL, 0); + check(" 0", 0LL, 0); + check("18446744073709551615", 18446744073709551615ULL, 0); + check("18446744073709551616", 18446744073709551615ULL, ERANGE); + if (!bad) + printf("ok\n"); +} +EOCP + set try + if eval $compile; then + case "`./try`" in + ok) echo "Your strtoull() seems to be working okay." ;; + *) cat <&4 +Your strtoull() doesn't seem to be working okay. +EOM + d_strtoull="$undef" + ;; + esac + fi + ;; +esac + : see if strtouq exists set strtouq d_strtouq eval $inlibc @@ -11474,7 +11833,7 @@ case "$crosscompile" in esac case "$osname" in -next|rhapsody) multiarch="$define" ;; +next|rhapsody|darwin) multiarch="$define" ;; esac case "$multiarch" in ''|[nN]*) multiarch="$undef" ;; @@ -11496,11 +11855,20 @@ EOM *) case "$alignbytes" in '') echo "Checking alignment constraints..." >&4 - $cat >try.c <<'EOCP' + if $test "X$uselongdouble" = Xdefine -a "X$d_longdbl" = Xdefine; then + $cat >try.c <<'EOCP' +typedef long double NV; +EOCP + else + $cat >try.c <<'EOCP' +typedef double NV; +EOCP + fi + $cat >>try.c <<'EOCP' #include struct foobar { char foo; - double bar; + NV bar; } try_algn; int main() { @@ -11527,6 +11895,9 @@ EOCP esac +: set the base revision +baserev=5.0 + : check for ordering of bytes in a long echo " " case "$crosscompile$multiarch" in @@ -12168,9 +12539,52 @@ EOM $rm -f core try.core core.try.* case "$fflushNULL" in x) $cat >&4 <tryp.c < +int +main(int argc, char **argv) +{ + char buf[1024]; + int i; + char *bp = buf; + while (1) { + while ((i = getc(stdin)) != -1 + && (*bp++ = i) != '\n' + && bp < &buf[1024]) + /* DO NOTHING */ ; + *bp = '\0'; + fprintf(stdout, "%s", buf); + fflush(NULL); + if (i == -1) + return 0; + bp = buf; + } +} +EOCP + fflushNULL="$define" + set tryp + if eval $compile; then + $rm -f tryp.out + $cat tryp.c | ./tryp$exe_ext 2>/dev/null > tryp.out + if cmp tryp.c tryp.out >/dev/null 2>&1; then + $cat >&4 <&4 <&4 <&4 <tryp.c < +int +main(int argc, char **argv) +{ + char buf[1024]; + int i; + char *bp = buf; + while (1) { + while ((i = getc(stdin)) != -1 + && (*bp++ = i) != '\n' + && bp < &buf[1024]) + /* DO NOTHING */ ; + *bp = '\0'; + fprintf(stdout, "%s", buf); + fflush(stdin); + if (i == -1) + return 0; + bp = buf; + } +} +EOCP + set tryp + if eval $compile; then + $rm -f tryp.out + $cat tryp.c | ./tryp$exe_ext 2>/dev/null > tryp.out + if cmp tryp.c tryp.out >/dev/null 2>&1; then + $cat >&4 </dev/null - if $test -s try.out -a "X$?" = X42; then - fflushall="`$cat try.out`" - fi - fi - $rm -f core try.core core.try.* + : now check for fflushall behaviour case "$fflushall" in - x) $cat >&4 <&4 </dev/null + if $test -s try.out -a "X$?" = X42; then + fflushall="`$cat try.out`" + fi + fi + $rm -f core try.core core.try.* + case "$fflushall" in + x) $cat >&4 <&4 <&4 <&4 <&4 <&4 <&4 ;; *) gidsize=$yyy - echo "Your $zzz size is $gidsize bytes." + echo "Your $zzz is $gidsize bytes long." ;; esac else @@ -12399,7 +12856,7 @@ EOCP fi fi -if $test X"$sPRId64" = X -a X"$i_inttypes.h" = X"$define" -a X"$quadtype" = Xint64_t; then +if $test X"$sPRId64" = X -a X"$i_inttypes" = X"$define" -a X"$quadtype" = Xint64_t; then $cat >try.c <<'EOCP' #include #include @@ -12840,11 +13297,20 @@ rp="What is the type of process ids on this system?" 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 +: Find earliest pure perl site_perl subdirectory perl can use. +: The versioned directories started at 5.005. +pm_apiversion='5.005' + : check for length of pointer echo " " case "$ptrsize" in '') - $echo $n "Checking to see how big your pointers are...$c" >&4 + echo "Checking to see how big your pointers are..." >&4 if test "$voidflags" -gt 7; then echo '#define VOID_PTR char *' > try.c else @@ -12861,7 +13327,7 @@ EOCP set try if eval $compile_ok; then ptrsize=`./try` - $echo " $ptrsize bytes." >&4 + echo "Your pointers are $ptrsize bytes long." else dflt='4' echo "(I can't seem to compile the test program. Guessing...)" >&4 @@ -13325,6 +13791,100 @@ echo $sig_name | $awk \ }' $rm -f signal signal.c signal.awk signal.lst signal_cmd +echo " " +case "$sizetype" in +*_t) zzz="$sizetype" ;; +*) zzz="filesize" ;; +esac +echo "Checking the size of $zzz..." >&4 +cat > try.c < +#include +int main() { + printf("%d\n", (int)sizeof($sizetype)); + exit(0); +} +EOCP +set try +if eval $compile_ok; then + yyy=`./try` + case "$yyy" in + '') sizesize=4 + echo "(I can't execute the test program--guessing $sizesize.)" >&4 + ;; + *) sizesize=$yyy + echo "Your $zzz size is $sizesize bytes." + ;; + esac +else + sizesize=4 + echo "(I can't compile the test program--guessing $sizesize.)" >&4 +fi + + +: check for socklen_t +echo " " +echo "Checking to see if you have socklen_t..." >&4 +$cat >try.c < +#$d_socket HAS_SOCKET +#ifdef HAS_SOCKET +#include +#endif +int main() { socklen_t x = 16; } +EOCP +set try +if eval $compile; then + val="$define" + echo "You have socklen_t." +else + val="$undef" + echo "You do not have socklen_t." + case "$sizetype" in + size_t) echo "(You do have size_t, that might work. Some people are happy with just an int.)" ;; + esac +fi +$rm -f try try.* +set d_socklen_t +eval $setvar + +: check for type of the size argument to socket calls +case "$d_socket" in +"$define") + $cat <&4 ;; *) uidsize=$yyy - echo "Your $zzz size is $uidsize bytes." + echo "Your $zzz is $uidsize bytes long." ;; esac else @@ -13607,6 +14167,14 @@ esac set i_fcntl eval $setvar +: see if this is a iconv.h system +set iconv.h i_iconv +eval $inhdr + +: see if this is a ieeefp.h system +set ieeefp.h i_ieeefp +eval $inhdr + : see if locale.h is available set locale.h i_locale eval $inhdr @@ -13686,57 +14254,120 @@ eval $inhdr set poll.h i_poll eval $inhdr -: get C preprocessor symbols handy echo " " -$echo $n "Hmm... $c" -echo $al | $tr ' ' $trnl >Cppsym.know -$cat <Cppsym +$echo "Guessing which symbols your C compiler and preprocessor define..." >&4 +$cat <<'EOSH' > Cppsym.know +a29k ABI64 aegis AES_SOURCE AIX AIX32 AIX370 +AIX41 AIX42 AIX43 AIX_SOURCE aixpc ALL_SOURCE +alliant alpha am29000 AM29000 amiga AMIGAOS AMIX +ansi ANSI_C_SOURCE apollo ardent atarist att386 att3b BeOS +BIG_ENDIAN BIT_MSF bsd BSD bsd43 bsd4_2 bsd4_3 BSD4_3 bsd4_4 +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 +H3050R H3050RX hbullx20 hcx host_mips +hp200 hp300 hp700 HP700 hp800 hp9000 +hp9000s200 hp9000s300 hp9000s400 hp9000s500 +hp9000s700 hp9000s800 hp9k8 hp_osf hppa hpux HPUX_SOURCE +i186 i286 i386 i486 i586 i686 i8086 i80960 i860 I960 +iAPX286 ibm ibm032 ibmesa IBMR2 ibmrt ILP32 ILP64 +INLINE_INTRINSICS INTRINSICS INT64 interdata is68k ksr1 +LANGUAGE_C LARGE_FILE_API LARGEFILE64_SOURCE +LARGEFILE_SOURCE LFS64_LARGEFILE LFS_LARGEFILE +Linux LITTLE_ENDIAN LONG64 LONG_DOUBLE LONG_LONG +LONGDOUBLE LONGLONG LP64 luna luna88k Lynx +M68000 m68k m88100 m88k M88KBCS_TARGET M_COFF +M_I186 M_I286 M_I386 M_I8086 M_I86 M_I86SM M_SYS3 +M_SYS5 M_SYSIII M_SYSV M_UNIX M_XENIX MACH machine MachTen +MATH_HAS_NO_SIDE_EFFECTS +mc300 mc500 mc68000 mc68010 mc68020 mc68030 mc68040 +mc68060 mc68k mc68k32 mc700 mc88000 mc88100 merlin +mert MiNT mips MIPS_FPSET MIPS_ISA MIPS_SIM MIPS_SZINT +MIPS_SZLONG MIPS_SZPTR MIPSEB MIPSEL MODERN_C motorola +mpeix MSDOS MTXINU MULTIMAX mvs MVS n16 ncl_el ncl_mr +NetBSD news1500 news1700 news1800 news1900 news3700 +news700 news800 news900 NeXT NLS ns16000 ns32000 +ns32016 ns32332 ns32k nsc32000 +OCS88 OEMVS OpenBSD os OS2 OS390 osf OSF1 OSF_SOURCE +pa_risc PA_RISC1_1 PA_RISC2_0 PARAGON parisc +pc532 pdp11 PGC PIC plexus PORTAR posix +POSIX1B_SOURCE POSIX2_SOURCE POSIX4_SOURCE +POSIX_C_SOURCE POSIX_SOURCE POWER +PROTOTYPES PWB pyr QNX R3000 REENTRANT RES Rhapsody RISC6000 +riscix riscos RT scs SCO sequent sgi SGI_SOURCE sinix +SIZE_INT SIZE_LONG SIZE_PTR SOCKET_SOURCE SOCKETS_SOURCE +sony sony_news sonyrisc sparc sparclite spectrum +stardent stdc STDC_EXT stratos sun sun3 sun386 +Sun386i svr3 svr4 SVR4_2 SVR4_SOURCE svr5 +SX system SYSTYPE_BSD SYSTYPE_BSD43 SYSTYPE_BSD44 +SYSTYPE_SVR4 SYSTYPE_SVR5 SYSTYPE_SYSV SYSV SYSV3 SYSV4 SYSV5 +sysV68 sysV88 Tek4132 Tek4300 titan +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 +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 +z8000 +EOSH +# Maybe put other stuff here too. +cat <>Cppsym.know +$osname +EOSH +./tr '[a-z]' '[A-Z]' < Cppsym.know > Cppsym.a +./tr '[A-Z]' '[a-z]' < Cppsym.know > Cppsym.b +$cat Cppsym.a Cppsym.b | $tr ' ' $trnl | sort | uniq > Cppsym.know +$rm -f Cppsym.a Cppsym.b +cat < Cppsym $startsh -case "\$1" in --l) list=true - shift - ;; -esac -unknown='' -case "\$list\$#" in -1|2) - for sym do - if $contains "^\$1$" Cppsym.true >/dev/null 2>&1; then - exit 0 - elif $contains "^\$1$" Cppsym.know >/dev/null 2>&1; then - : - else - unknown="\$unknown \$sym" - fi - done - set X \$unknown - shift - ;; -esac -case \$# in -0) exit 1;; -esac -echo \$* | $tr ' ' '$trnl' | $sed -e 's/\(.*\)/\\ -#ifdef \1\\ -exit 0; _ _ _ _\1\\ \1\\ -#endif\\ -/' >Cppsym\$\$ -echo "exit 1; _ _ _" >>Cppsym\$\$ -$cppstdin $cppminus Cppsym2\$\$ -case "\$list" in -true) $awk 'NF > 5 {print substr(\$6,2,100)}' Cppsym.got + if $test -s Cppsym.got; then + $rm -f Cppsym.got + exit 0 + fi + $rm -f Cppsym.got + exit 1 +else + $tr " " "$trnl" | ./Cppsym.try + exit 0 +fi +EOSH chmod +x Cppsym $eunicefix Cppsym -./Cppsym -l $al | $sort | $grep -v '^$' >Cppsym.true - +cat < Cppsym.try +$startsh +cat <<'EOCP' > try.c +#include +int main() { +EOCP +$awk \\ +EOSH +cat <<'EOSH' >> Cppsym.try +'length($1) > 0 { + printf "#ifdef %s\n#if %s+0\nprintf(\"%s=%%ld\\n\", %s);\n#else\nprintf(\"%s\\n\");\n#endif\n#endif\n", $1, $1, $1, $1, $1 + printf "#ifdef _%s\n#if _%s+0\nprintf(\"_%s=%%ld\\n\", _%s);\n#else\nprintf(\"_%s\\n\");\n#endif\n#endif\n", $1, $1, $1, $1, $1 + printf "#ifdef __%s\n#if __%s+0\nprintf(\"__%s=%%ld\\n\", __%s);\n#else\nprintf(\"__%s\\n\");\n#endif\n#endif\n", $1, $1, $1, $1, $1 + printf "#ifdef __%s__\n#if __%s__+0\nprintf(\"__%s__=%%ld\\n\", __%s__);\n#else\nprintf(\"__%s__\\n\");\n#endif\n#endif\n", $1, $1, $1, $1, $1 +}' >> try.c +echo '}' >> try.c +EOSH +cat <> Cppsym.try +ccflags="$ccflags" +case "$osname-$gccversion" in +irix-) ccflags="\$ccflags -woff 1178" ;; +esac +$cc $optimize \$ccflags $ldflags -o try try.c $libs && ./try$exe_ext +EOSH +chmod +x Cppsym.try +$eunicefix Cppsym.try +./Cppsym < Cppsym.know > Cppsym.true : now check the C compiler for additional symbols postprocess_cc_v='' case "$osname" in @@ -13768,7 +14399,8 @@ fi $awk '/\=/ { print $0; next } { print $0"=1" }' ccsym.raw >ccsym.list -$awk '{ print $0"=1" }' Cppsym.true >ccsym.true +$awk '/\=/ { print $0; next } + { print $0"=1" }' Cppsym.true >ccsym.true $comm -13 ccsym.true ccsym.list >ccsym.own $comm -12 ccsym.true ccsym.list >ccsym.com $comm -23 ccsym.true ccsym.list >ccsym.cpp @@ -13978,6 +14610,10 @@ $rm -f varargs* set stddef.h i_stddef eval $inhdr +: see if this is a sunmath.h system +set sunmath.h i_sunmath +eval $inhdr + : see if sys/access.h is available set sys/access.h i_sysaccess eval $inhdr @@ -14003,6 +14639,16 @@ fi set i_sysioctl eval $setvar + +: see if this is a syslog.h system +set syslog.h i_syslog +eval $inhdr + + +: see if this is a sys/mode.h system +set sys/mode.h i_sysmode +eval $inhdr + : see if sys/resource.h has to be included set sys/resource.h i_sysresrc eval $inhdr @@ -14023,6 +14669,11 @@ eval $inhdr set sys/un.h i_sysun eval $inhdr + +: see if this is a sys/utsname.h system +set sys/utsname.h i_sysutsname +eval $inhdr + : see if this is a syswait system set sys/wait.h i_syswait eval $inhdr @@ -14133,12 +14784,30 @@ for xxx in $known_extensions ; do ;; NDBM_File|ndbm_fil) case "$i_ndbm" in - $define) avail_ext="$avail_ext $xxx" ;; + $define) + case "$osname-$use64bitint" in + hpux-define) + case "$libs" in + *-lndbm*) avail_ext="$avail_ext $xxx" ;; + esac + ;; + *) avail_ext="$avail_ext $xxx" ;; + esac + ;; esac ;; ODBM_File|odbm_fil) case "${i_dbm}${i_rpcsvcdbm}" in - *"${define}"*) avail_ext="$avail_ext $xxx" ;; + *"${define}"*) + case "$osname-$use64bitint" in + hpux-define) + case "$libs" in + *-ldbm*) avail_ext="$avail_ext $xxx" ;; + esac + ;; + *) avail_ext="$avail_ext $xxx" ;; + esac + ;; esac ;; POSIX|posix) @@ -14515,6 +15184,8 @@ d_fstatfs='$d_fstatfs' d_fstatvfs='$d_fstatvfs' d_ftello='$d_ftello' d_ftime='$d_ftime' +d_getcwd='$d_getcwd' +d_getfsstat='$d_getfsstat' d_getgrent='$d_getgrent' d_getgrps='$d_getgrps' d_gethbyaddr='$d_gethbyaddr' @@ -14550,9 +15221,10 @@ 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_int64t='$d_int64t' +d_int64_t='$d_int64_t' d_isascii='$d_isascii' d_killpg='$d_killpg' d_lchown='$d_lchown' @@ -14562,7 +15234,9 @@ d_locconv='$d_locconv' d_lockf='$d_lockf' d_longdbl='$d_longdbl' d_longlong='$d_longlong' +d_lseekproto='$d_lseekproto' d_lstat='$d_lstat' +d_madvise='$d_madvise' d_mblen='$d_mblen' d_mbstowcs='$d_mbstowcs' d_mbtowc='$d_mbtowc' @@ -14572,8 +15246,13 @@ d_memcpy='$d_memcpy' d_memmove='$d_memmove' d_memset='$d_memset' d_mkdir='$d_mkdir' +d_mkdtemp='$d_mkdtemp' d_mkfifo='$d_mkfifo' +d_mkstemp='$d_mkstemp' +d_mkstemps='$d_mkstemps' d_mktime='$d_mktime' +d_mmap='$d_mmap' +d_mprotect='$d_mprotect' d_msg='$d_msg' d_msg_ctrunc='$d_msg_ctrunc' d_msg_dontroute='$d_msg_dontroute' @@ -14584,9 +15263,11 @@ d_msgctl='$d_msgctl' d_msgget='$d_msgget' d_msgrcv='$d_msgrcv' d_msgsnd='$d_msgsnd' +d_msync='$d_msync' +d_munmap='$d_munmap' d_mymalloc='$d_mymalloc' d_nice='$d_nice' -d_nvpresuv='$d_nvpresuv' +d_nv_preserves_uv='$d_nv_preserves_uv' d_off64_t='$d_off64_t' d_old_pthread_create_joinable='$d_old_pthread_create_joinable' d_oldpthreads='$d_oldpthreads' @@ -14607,6 +15288,7 @@ d_pwexpire='$d_pwexpire' d_pwgecos='$d_pwgecos' d_pwpasswd='$d_pwpasswd' d_pwquota='$d_pwquota' +d_qgcvt='$d_qgcvt' d_quad='$d_quad' d_readdir='$d_readdir' d_readlink='$d_readlink' @@ -14660,6 +15342,7 @@ d_shmget='$d_shmget' d_sigaction='$d_sigaction' d_sigsetjmp='$d_sigsetjmp' d_socket='$d_socket' +d_socklen_t='$d_socklen_t' d_sockpair='$d_sockpair' d_sqrtl='$d_sqrtl' d_statblks='$d_statblks' @@ -14703,6 +15386,7 @@ d_umask='$d_umask' d_uname='$d_uname' d_union_semun='$d_union_semun' d_ustat='$d_ustat' +d_vendorarch='$d_vendorarch' d_vendorbin='$d_vendorbin' d_vendorlib='$d_vendorlib' d_vfork='$d_vfork' @@ -14780,6 +15464,8 @@ i_fcntl='$i_fcntl' i_float='$i_float' i_gdbm='$i_gdbm' i_grp='$i_grp' +i_iconv='$i_iconv' +i_ieeefp='$i_ieeefp' i_inttypes='$i_inttypes' i_limits='$i_limits' i_locale='$i_locale' @@ -14805,12 +15491,16 @@ i_stdarg='$i_stdarg' i_stddef='$i_stddef' i_stdlib='$i_stdlib' i_string='$i_string' +i_sunmath='$i_sunmath' i_sysaccess='$i_sysaccess' i_sysdir='$i_sysdir' i_sysfile='$i_sysfile' i_sysfilio='$i_sysfilio' i_sysin='$i_sysin' i_sysioctl='$i_sysioctl' +i_syslog='$i_syslog' +i_sysmman='$i_sysmman' +i_sysmode='$i_sysmode' i_sysmount='$i_sysmount' i_sysndir='$i_sysndir' i_sysparam='$i_sysparam' @@ -14827,6 +15517,7 @@ i_systimes='$i_systimes' i_systypes='$i_systypes' i_sysuio='$i_sysuio' i_sysun='$i_sysun' +i_sysutsname='$i_sysutsname' i_sysvfs='$i_sysvfs' i_syswait='$i_syswait' i_termio='$i_termio' @@ -14841,6 +15532,7 @@ i_varhdr='$i_varhdr' i_vfork='$i_vfork' ignore_versioned_solibs='$ignore_versioned_solibs' inc_version_list='$inc_version_list' +inc_version_list_init='$inc_version_list_init' incpath='$incpath' inews='$inews' installarchlib='$installarchlib' @@ -14856,6 +15548,7 @@ installsitebin='$installsitebin' installsitelib='$installsitelib' installstyle='$installstyle' installusrbinperl='$installusrbinperl' +installvendorarch='$installvendorarch' installvendorbin='$installvendorbin' installvendorlib='$installvendorlib' intsize='$intsize' @@ -14875,6 +15568,10 @@ libc='$libc' libperl='$libperl' libpth='$libpth' libs='$libs' +libsdirs='$libsdirs' +libsfiles='$libsfiles' +libsfound='$libsfound' +libspath='$libspath' libswanted='$libswanted' line='$line' lint='$lint' @@ -14907,6 +15604,7 @@ man3ext='$man3ext' medium='$medium' mips_type='$mips_type' mkdir='$mkdir' +mmaptype='$mmaptype' models='$models' modetype='$modetype' more='$more' @@ -14940,6 +15638,7 @@ pager='$pager' passcat='$passcat' patchlevel='$patchlevel' path_sep='$path_sep' +perl5='$perl5' perl='$perl' perladmin='$perladmin' perlpath='$perlpath' @@ -14947,6 +15646,7 @@ pg='$pg' phostname='$phostname' pidtype='$pidtype' plibpth='$plibpth' +pm_apiversion='$pm_apiversion' pmake='$pmake' pr='$pr' prefix='$prefix' @@ -14962,6 +15662,7 @@ randfunc='$randfunc' randseedtype='$randseedtype' ranlib='$ranlib' rd_nodata='$rd_nodata' +revision='$revision' rm='$rm' rmail='$rmail' runnm='$runnm' @@ -15003,9 +15704,11 @@ sitearchexp='$sitearchexp' sitebin='$sitebin' sitebinexp='$sitebinexp' sitelib='$sitelib' +sitelib_stem='$sitelib_stem' sitelibexp='$sitelibexp' siteprefix='$siteprefix' siteprefixexp='$siteprefixexp' +sizesize='$sizesize' sizetype='$sizetype' sleep='$sleep' smail='$smail' @@ -15013,6 +15716,7 @@ small='$small' so='$so' sockethdr='$sockethdr' socketlib='$socketlib' +socksizetype='$socksizetype' sort='$sort' spackage='$spackage' spitshell='$spitshell' @@ -15060,12 +15764,12 @@ uname='$uname' uniq='$uniq' uquadtype='$uquadtype' use5005threads='$use5005threads' -use64bits='$use64bits' +use64bitall='$use64bitall' +use64bitint='$use64bitint' usedl='$usedl' useithreads='$useithreads' uselargefiles='$uselargefiles' uselongdouble='$uselongdouble' -uselonglong='$uselonglong' usemorebits='$usemorebits' usemultiplicity='$usemultiplicity' usemymalloc='$usemymalloc' @@ -15086,9 +15790,12 @@ uvsize='$uvsize' uvtype='$uvtype' uvuformat='$uvuformat' uvxformat='$uvxformat' +vendorarch='$vendorarch' +vendorarchexp='$vendorarchexp' vendorbin='$vendorbin' vendorbinexp='$vendorbinexp' vendorlib='$vendorlib' +vendorlib_stem='$vendorlib_stem' vendorlibexp='$vendorlibexp' vendorprefix='$vendorprefix' vendorprefixexp='$vendorprefixexp' @@ -15096,6 +15803,7 @@ version='$version' vi='$vi' voidflags='$voidflags' xlibpth='$xlibpth' +xs_apiversion='$xs_apiversion' zcat='$zcat' zip='$zip' EOT