X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Configure;h=61f812512fdbbc0b5f249ba8a73f494bf05d6892;hb=cb86ce0e71355d781c8bc843c5a2c7c61381dce9;hp=1452c039b54968b425d8f42822a09bb204969560;hpb=f1994c67466226ad5ce4a4d81f1da5b2830797fa;p=p5sagit%2Fp5-mst-13.2.git diff --git a/Configure b/Configure index 1452c03..61f8125 100755 --- a/Configure +++ b/Configure @@ -20,8 +20,8 @@ # $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $ # -# Generated on Tue Oct 20 11:18:44 EET DST 1998 [metaconfig 3.0 PL70] -# (with additional metaconfig patches by jhi@iki.fi) +# Generated on Tue Feb 2 22:42:52 EET 1999 [metaconfig 3.0 PL70] +# (with additional metaconfig patches by perlbug@perl.com) cat >/tmp/c1$$ <&4 @@ -1627,7 +1655,7 @@ Much effort has been expended to ensure that this shell script will run on any Unix system. If despite that it blows up on yours, your best bet is to edit Configure and run it again. If you can't run Configure for some reason, you'll have to generate a config.sh file by hand. Whatever problems you -have, let me (jhi@iki.fi) know how I blew it. +have, let me (perlbug@perl.com) know how I blew it. This installation script affects things in two ways: @@ -1990,7 +2018,7 @@ EOM (cd $src/hints; ls -C *.sh) | $sed 's/\.sh/ /g' >&4 dflt='' : Half the following guesses are probably wrong... If you have better - : tests or hints, please send them to jhi@iki.fi + : tests or hints, please send them to perlbug@perl.com : The metaconfig authors would also appreciate a copy... $test -f /irix && osname=irix $test -f /xenix && osname=sco_xenix @@ -2080,7 +2108,7 @@ EOM osvers="$3" ;; dynixptx*) osname=dynixptx - osvers="$3" + osvers=`echo "$4"|sed 's/^v//'` ;; freebsd) osname=freebsd osvers="$3" ;; @@ -2406,7 +2434,7 @@ none) osvers='' ;; esac : who configured the system -cf_time=`LC_ALL=C; export LC_ALL; $date 2>&1` +cf_time=`LC_ALL=C; LANGUAGE=C; export LC_ALL; export LANGUAGE; $date 2>&1` cf_by=`(logname) 2>/dev/null` case "$cf_by" in "") @@ -2447,23 +2475,18 @@ To do so, Configure must be run with -Dusethreads. (See README.threads for details.) EOM case "$usethreads" in -$define|true|[yY]*) dflt='y';; +$define|true|[yY]*) dflt='y';; *) dflt='n';; esac rp='Build a threading Perl?' . ./myread case "$ans" in -y|Y) val="$define" ;; +y|Y) val="$define" ;; *) val="$undef" ;; esac set usethreads eval $setvar -: Look for a hint-file generated 'call-back-unit'. Now that the -: user has specified if a threading perl is to be built, we may need -: to set or change some other defaults. -if $test -f usethreads.cbu; then - . ./usethreads.cbu -fi + case "$d_oldpthreads" in '') : Configure tests would be welcome here. For now, assume undef. val="$undef" ;; @@ -2472,6 +2495,32 @@ esac set d_oldpthreads eval $setvar + +case "$usethreads" in +"$define"|true|[yY]*) +: Look for a hint-file generated 'call-back-unit'. If the +: user has specified that a threading perl is to be built, +: we may need to set or change some other defaults. + if $test -f usethreads.cbu; then + . ./usethreads.cbu + fi + case "$osname" in + aix|dec_osf|dos_djgpp|freebsd|hpux|irix|linux|os2|solaris|vmesa) + # Known thread-capable platforms. + ;; + *) + cat >&4 <&4 <pdp11.c <<'EOP' -main() { +int main() { #ifdef pdp11 exit(0); #else @@ -3706,7 +3783,7 @@ false) esac case "$cppstdin" in -"$wrapper") ;; +"$wrapper"|'cppstdin') ;; *) $rm -f $wrapper;; esac $rm -f testcpp.c testcpp.out @@ -4123,7 +4200,7 @@ echo " " echo "Checking your choice of C compiler and flags for coherency..." >&4 $cat > try.c <<'EOF' #include -main() { printf("Ok\n"); exit(0); } +int main() { printf("Ok\n"); exit(0); } EOF set X $cc $optimize $ccflags -o try $ldflags try.c $libs shift @@ -4131,7 +4208,7 @@ $cat >try.msg <<'EOM' I've tried to compile and run the following simple program: EOM -$cat try.c +$cat try.c >> try.msg $cat >> try.msg <&4 $cat >prototype.c <<'EOCP' -main(int argc, char *argv[]) { +int main(int argc, char *argv[]) { exit(0);} EOCP if $cc $ccflags -c prototype.c >prototype.out 2>&1 ; then @@ -4443,6 +4520,31 @@ else installbin="$binexp" fi +: determine whether to install perl also as /usr/bin/perl + +echo " " +if test -d /usr/bin -a "X$installbin" != X/usr/bin; then + $cat </dev/null 2>&1; then eval $xrun +elif com="sed -n -e 's/^__.*//' -e 's/[ ]*D[ ]*[0-9]*.*//p'";\ + eval $xscan;\ + $contains '^fprintf$' libc.list >/dev/null 2>&1; then + eval $xrun else $nm -p $* 2>/dev/null >libc.tmp $grep fprintf libc.tmp > libc.ptf @@ -4871,7 +4976,7 @@ yes) else tval=false; fi;; *) - echo "main() { extern short $1$tdc; printf(\"%hd\", $1$tc); }" > t.c; + echo "int main() { extern short $1$tdc; printf(\"%hd\", $1$tc); }" > t.c; if $cc $optimize $ccflags $ldflags -o t t.c $libs >/dev/null 2>&1; then tval=true; else tval=false; @@ -5020,7 +5125,7 @@ EOM /* Test for whether ELF binaries are produced */ #include #include -main() { +int main() { char b[4]; int i = open("a.out",O_RDONLY); if(i == -1) @@ -5061,6 +5166,7 @@ use no flags, say "none". EOM case "$lddlflags" in '') case "$osname" in + beos) dflt='-nostart' ;; hpux) dflt='-b' ;; linux|irix*) dflt='-shared' ;; next) dflt='none' ;; @@ -5074,6 +5180,10 @@ EOM esac : Try to guess additional flags to pick up local libraries. + : Be careful not to append to a plain 'none' + case "$dflt" in + none) dflt='' ;; + esac for thisflag in $ldflags; do case "$thisflag" in -L*) @@ -5137,7 +5247,7 @@ $undef) ;; *) case "$useshrplib" in '') case "$osname" in - svr4*|dgux|dynixptx|esix|powerux) + svr4*|dgux|dynixptx|esix|powerux|beos) dflt=y also='Building a shared libperl is required for dynamic loading to work on your system.' ;; @@ -5182,6 +5292,7 @@ EOM case "${osname}${osvers}" in next4*) xxx='DYLD_LIBRARY_PATH' ;; os2*) xxx='' ;; # Nothing special needed. + beos*) xxx='' ;; *) xxx='LD_LIBRARY_PATH' ;; esac if test X"$xxx" != "X"; then @@ -5190,7 +5301,7 @@ EOM To build perl, you must add the current working directory to your $xxx environment variable before running make. You can do this with - $xxx=\`pwd\`; export $xxx + $xxx=\`pwd\`:\$$xxx; export $xxx for Bourne-style shells, or setenv $xxx \`pwd\` for Csh-style shells. You *MUST* do this before running make. @@ -5268,7 +5379,7 @@ case "$shrpdir" in *) $cat >&4 < #endif -main() { +int main() { exit(R_OK); } EOCP @@ -6322,7 +6435,7 @@ case "$d_getpgrp" in #ifdef I_UNISTD # include #endif -main() +int main() { if (getuid() == 0) { printf("(I see you are running Configure as super-user...)\n"); @@ -6384,7 +6497,7 @@ case "$d_setpgrp" in #ifdef I_UNISTD # include #endif -main() +int main() { if (getuid() == 0) { printf("(I see you are running Configure as super-user...)\n"); @@ -6442,7 +6555,7 @@ case "$intsize" in echo "Checking to see how big your integers are..." >&4 $cat >intsize.c <<'EOCP' #include -main() +int main() { printf("intsize=%d;\n", sizeof(int)); printf("longsize=%d;\n", sizeof(long)); @@ -6538,7 +6651,7 @@ $cat >try.c < #include $signal_t blech(s) int s; { exit(3); } -main() +int main() { $xxx i32; double f, g; @@ -6596,7 +6709,7 @@ $signal_t blech_in_list(s) int s; { exit(4); } unsigned long dummy_long(p) unsigned long p; { return p; } unsigned int dummy_int(p) unsigned int p; { return p; } unsigned short dummy_short(p) unsigned short p; { return p; } -main() +int main() { double f; unsigned long along; @@ -6688,7 +6801,7 @@ if set vprintf val -f d_vprintf; eval $csym; $val; then $cat >vprintf.c <<'EOF' #include -main() { xxx("foo"); } +int main() { xxx("foo"); } xxx(va_alist) va_dcl @@ -6731,12 +6844,153 @@ eval $inlibc set chsize d_chsize eval $inlibc +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; foo.$field = 0; }" >> try.c; +if eval $cc $optimize $ccflags -c try.c >/dev/null 2>&1; then + val="$define"; +else + val="$undef"; +fi; +set $varname; +eval $setvar; +$rm -f try.c try.o' + +: see if this is a sys/uio.h system +set sys/uio.h i_sysuio +eval $inhdr + +echo "Checking to see if your system supports struct iovec..." >&4 +set d_iovec_s iovec iov_base $i_sysuio sys/uio.h +eval $hasfield +case "$d_iovec_s" in +"$define") echo "Yup, it does." >&4 + ;; +*) echo "Nope, it doesn't." >&4 + ;; +esac + +socketlib='' +sockethdr='' +: see whether socket exists +echo " " +$echo $n "Hmm... $c" >&4 +if set socket val -f d_socket; eval $csym; $val; then + echo "Looks like you have Berkeley networking support." >&4 + d_socket="$define" + if set setsockopt val -f; eval $csym; $val; then + d_oldsock="$undef" + else + echo "...but it uses the old BSD 4.1c interface, rather than 4.2." >&4 + d_oldsock="$define" + fi +else + if $contains socklib libc.list >/dev/null 2>&1; then + echo "Looks like you have Berkeley networking support." >&4 + d_socket="$define" + : we will have to assume that it supports the 4.2 BSD interface + d_oldsock="$undef" + else + echo "You don't have Berkeley networking in libc$_a..." >&4 + if test "X$d_socket" = "X$define"; then + echo "...but you seem to believe that you have sockets." >&4 + else + for net in net socket + do + if test -f /usr/lib/lib$net$_a; then + ( ($nm $nm_opt /usr/lib/lib$net$_a | eval $nm_extract) || \ + $ar t /usr/lib/lib$net$_a) 2>/dev/null >> libc.list + if $contains socket libc.list >/dev/null 2>&1; then + d_socket="$define" + socketlib="-l$net" + case "$net" in + net) + echo "...but the Wollongong group seems to have hacked it in." >&4 + sockethdr="-I/usr/netinclude" + ;; + esac + echo "Found Berkeley sockets interface in lib$net." >& 4 + if $contains setsockopt libc.list >/dev/null 2>&1; then + d_oldsock="$undef" + else + echo "...using the old BSD 4.1c interface, rather than 4.2." >&4 + d_oldsock="$define" + fi + break + fi + fi + done + if test "X$d_socket" != "X$define"; then + echo "or anywhere else I see." >&4 + d_socket="$undef" + d_oldsock="$undef" + fi + fi + fi +fi + +: see if socketpair exists +set socketpair d_sockpair +eval $inlibc + + +echo " " +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 < +#include +int main() { + int i = $ENUM; +} +EOF + val="$undef" + set try; if eval $compile; then + val="$define" + fi + set d_${enum}; eval $setvar + $rm -f try.c try +done + +set sendmsg d_sendmsg +eval $inlibc + +set recvmsg d_recvmsg +eval $inlibc + +echo " " +$echo $n "Checking to see if your system supports struct msghdr...$c" >&4 +set d_msghdr_s msghdr msg_name define sys/types.h $d_socket sys/socket.h $i_sysuio sys/uio.h +eval $hasfield +case "$d_msghdr_s" in +"$define") echo "Yup, it does." >&4 + ;; +*) echo "Nope, it doesn't." >&4 + ;; +esac + +$echo $n "Checking to see if your system supports struct cmsghdr...$c" >&4 +set d_cmsghdr_s cmsghdr cmsg_len define sys/types.h $d_socket sys/socket.h $i_sysuio sys/uio.h +eval $hasfield +case "$d_cmsghdr_s" in +"$define") echo "Yup, it does." >&4 + ;; +*) echo "Nope, it doesn't." >&4 + ;; +esac + : check for const keyword echo " " echo 'Checking to see if your C compiler knows about "const"...' >&4 $cat >const.c <<'EOCP' typedef struct spug { int drokk; } spug; -main() +int main() { const char *foo; const spug y; @@ -6785,6 +7039,18 @@ fi set d_crypt eval $setvar +: 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 ;; +esac + : see if cuserid exists set cuserid d_cuserid eval $inlibc @@ -6938,23 +7204,6 @@ set d_dirnamlen eval $setvar $rm -f try.c -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; foo.$field = 0; }" >> try.c; -if eval $cc $optimize $ccflags -c try.c >/dev/null 2>&1; then - val="$define"; -else - val="$undef"; -fi; -set $varname; -eval $setvar; -$rm -f try.c try.o' - if $test X"$use64bits" = X"$define"; then : see if fstat64 exists @@ -7052,14 +7301,14 @@ EOCP echo " " echo "Checking to see if your system supports struct flock64..." >&4 if $h_fcntl; then - set d_flock64s flock64 l_len define fcntl.h + set d_flock64_s flock64 l_len define fcntl.h eval $hasfield else val="$undef" - set d_flock64s + set d_flock64_s eval $setvar fi - case "$d_flock64s" in + case "$d_flock64_s" in "$define") echo "Yup, it does." >&4 ;; *) echo "Nope, it doesn't." >&4 @@ -7069,9 +7318,9 @@ EOCP : check for struct dirent64 echo " " echo "Checking to see if your system supports struct dirent64..." >&4 - set d_dirent64s dirent64 d_off $i_dirent dirent.h + set d_dirent64_s dirent64 d_off $i_dirent dirent.h eval $hasfield - case "$d_flock64s" in + case "$d_dirent64_s" in "$define") echo "Yup, it does." >&4 ;; *) echo "Nope, it doesn't." >&4 @@ -7080,7 +7329,7 @@ EOCP else val="$undef" - for xxx in d_fstat64 d_ftruncate64 d_lockf64 d_lseek64 d_lstat64 d_open64 d_opendir64 d_readdir64 d_seekdir64 d_stat64 d_telldir64 d_truncate64 d_off64t d_ino64t d_flock64s d_dirent64s + for xxx in d_fstat64 d_ftruncate64 d_lockf64 d_lseek64 d_lstat64 d_open64 d_opendir64 d_readdir64 d_seekdir64 d_stat64 d_telldir64 d_truncate64 d_off64t d_ino64t d_flock64_s d_dirent64_s do set $xxx eval $setvar @@ -7145,7 +7394,7 @@ $cat >fred.c<open3.c <<'EOCP' #ifdef I_SYS_FILE #include #endif -main() { +int main() { if(O_RDONLY); #ifdef O_TRUNC exit(0); @@ -7325,7 +7574,7 @@ case "$o_nonblock" in '') $cat head.c > try.c $cat >>try.c <<'EOCP' -main() { +int main() { #ifdef O_NONBLOCK printf("O_NONBLOCK\n"); exit(0); @@ -7372,7 +7621,7 @@ extern int errno; $signal_t blech(x) int x; { exit(3); } EOCP $cat >> try.c <<'EOCP' -main() +int main() { int pd[2]; int pu[2]; @@ -7498,80 +7747,273 @@ eval $inlibc set fcntl d_fcntl eval $inlibc -: see if fgetpos exists -set fgetpos d_fgetpos -eval $inlibc - - -if $test X"$use64bits" = X"$define"; then - : see if fgetpos64 exists - set fgetpos64 d_fgetpos64 - eval $inlibc - - : see if fopen64 exists - set freopen64 d_fopen64 - eval $inlibc - - : see if freopen64 exists - set freopen64 d_freopen64 - eval $inlibc - - : see if fseek64 exists - set fseek64 d_fseek64 - eval $inlibc - - : see if fseeko64 exists - set fseeko64 d_fseeko64 - eval $inlibc - - : see if fsetpos64 exists - set fsetpos64 d_fsetpos64 - eval $inlibc - - : see if ftell64 exists - set ftell64 d_ftell64 - eval $inlibc - - : see if ftello64 exists - set ftello64 d_ftello64 - eval $inlibc - - : see if tmpfile64 exists - set tmpfile64 d_tmpfile64 - eval $inlibc -else - val="$undef" - for xxx in d_fgetpos64 d_fopen64 d_freopen64 d_fseek64 d_fseeko64 d_fsetpos64 d_ftell64 d_ftello64 d_tmpfile64 - do - set $xxx - eval $setvar - done -fi - -: see if flock exists -set flock d_flock -eval $inlibc - -: see if fork exists -set fork d_fork -eval $inlibc - -: see if pathconf exists -set pathconf d_pathconf -eval $inlibc - -: see if fpathconf exists -set fpathconf d_fpathconf -eval $inlibc - -: see if fseeko exists -set fseeko d_fseeko -eval $inlibc +: see if sys/select.h has to be included +set sys/select.h i_sysselct +eval $inhdr -: see if fsetpos exists +: 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 <fd_set.c < +#ifdef HAS_SOCKET +#include /* Might include */ +#endif +#ifdef I_SYS_TIME +#include +#endif +#ifdef I_SYS_SELECT +#include +#endif +int main() { + fd_set fds; + +#ifdef TRYBITS + if(fds.fds_bits); +#endif + +#if defined(FD_SET) && defined(FD_CLR) && defined(FD_ISSET) && defined(FD_ZERO) + exit(0); +#else + exit(1); +#endif +} +EOCP +set fd_set -DTRYBITS +if eval $compile; then + d_fds_bits="$define" + d_fd_set="$define" + echo "Well, your system knows about the normal fd_set typedef..." >&4 + if ./fd_set; then + echo "and you have the normal fd_set macros (just as I'd expect)." >&4 + d_fd_macros="$define" + else + $cat >&4 <<'EOM' +but not the normal fd_set macros! Gaaack! I'll have to cover for you. +EOM + d_fd_macros="$undef" + fi +else + $cat <<'EOM' +Hmm, your compiler has some difficulty with fd_set. Checking further... +EOM + set fd_set + if eval $compile; then + d_fds_bits="$undef" + d_fd_set="$define" + echo "Well, your system has some sort of fd_set available..." >&4 + if ./fd_set; then + echo "and you have the normal fd_set macros." >&4 + d_fd_macros="$define" + else + $cat <<'EOM' +but not the normal fd_set macros! Gross! More work for me... +EOM + d_fd_macros="$undef" + fi + else + echo "Well, you got zip. That's OK, I can roll my own fd_set stuff." >&4 + d_fd_set="$undef" + d_fds_bits="$undef" + d_fd_macros="$undef" + fi +fi +$rm -f fd_set* + +: see if fgetpos exists +set fgetpos d_fgetpos +eval $inlibc + + +if $test X"$use64bits" = X"$define"; then + : see if fgetpos64 exists + set fgetpos64 d_fgetpos64 + eval $inlibc + + : see if fopen64 exists + set freopen64 d_fopen64 + eval $inlibc + + : see if freopen64 exists + set freopen64 d_freopen64 + eval $inlibc + + : see if fseek64 exists + set fseek64 d_fseek64 + eval $inlibc + + : see if fseeko64 exists + set fseeko64 d_fseeko64 + eval $inlibc + + : see if fsetpos64 exists + set fsetpos64 d_fsetpos64 + eval $inlibc + + : see if ftell64 exists + set ftell64 d_ftell64 + eval $inlibc + + : see if ftello64 exists + set ftello64 d_ftello64 + eval $inlibc + + : see if tmpfile64 exists + set tmpfile64 d_tmpfile64 + eval $inlibc +else + val="$undef" + for xxx in d_fgetpos64 d_fopen64 d_freopen64 d_fseek64 d_fseeko64 d_fsetpos64 d_ftell64 d_ftello64 d_tmpfile64 + do + set $xxx + eval $setvar + done +fi + +: see if flock exists +set flock d_flock +eval $inlibc + +: see if fork exists +set fork d_fork +eval $inlibc + +: see if pathconf exists +set pathconf d_pathconf +eval $inlibc + +: see if fpathconf exists +set fpathconf d_fpathconf +eval $inlibc + +: see if fseeko exists +set fseeko d_fseeko +eval $inlibc + +: see if fsetpos exists set fsetpos d_fsetpos eval $inlibc +: see if this is a sys/param system +set sys/param.h i_sysparam +eval $inhdr + +: see if this is a sys/mount.h system +set sys/mount.h i_sysmount +eval $inhdr + + +: see if statfs exists +set statfs d_statfs +eval $inlibc + +: see if fstatfs exists +set fstatfs d_fstatfs +eval $inlibc + +: see if statfs knows about mount flags +set d_statfsflags statfs f_flags $i_sysparam sys/param.h $i_sysmount sys/mount.h +eval $hasfield + + +: see if statvfs exists +set statvfs d_statvfs +eval $inlibc + +: see if fstatvfs exists +set fstatvfs d_fstatvfs +eval $inlibc + + : see if ftello exists set ftello d_ftello eval $inlibc @@ -7592,6 +8034,89 @@ eval $inlibc set gethostent d_gethent eval $inlibc +: see how we will look up host name +echo " " +if false; then + : dummy stub to allow use of elif +elif set gethostname val -f d_gethname; eval $csym; $val; then + echo 'gethostname() found.' >&4 + d_gethname="$define" + call=gethostname +elif set uname val -f d_uname; eval $csym; $val; then + if ./xenix; then + $cat <<'EOM' +uname() was found, but you're running xenix, and older versions of xenix +have a broken uname(). If you don't really know whether your xenix is old +enough to have a broken system call, use the default answer. + +EOM + dflt=y + case "$d_uname" in + "$define") dflt=n;; + esac + rp='Is your uname() broken?' + . ./myread + case "$ans" in + n*) d_uname="$define"; call=uname;; + esac + else + echo 'uname() found.' >&4 + d_uname="$define" + call=uname + fi +fi +case "$d_gethname" in +'') d_gethname="$undef";; +esac +case "$d_uname" in +'') d_uname="$undef";; +esac +case "$d_uname$d_gethname" in +*define*) + dflt=n + cat <&4;; + *) + echo "I'll use 'popen("'"'$aphostname'", "r")'"' to get your hostname." >&4 + ;; + esac;; +esac +case "$d_phostname" in +'') d_phostname="$undef";; +esac + : see if this is a netdb.h system set netdb.h i_netdb eval $inhdr @@ -7819,17 +8344,36 @@ else vali="$undef" fi fi -set d_strchr; eval $setvar -val="$vali" -set d_index; eval $setvar - -: check whether inet_aton exists -set inet_aton d_inetaton -eval $inlibc +set d_strchr; eval $setvar +val="$vali" +set d_index; eval $setvar + +: check whether inet_aton exists +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 -: see if inttypes.h is available -set inttypes.h i_inttypes -eval $inhdr : check for int64_t case "$use64bits" in "$define" ) @@ -7864,7 +8408,7 @@ echo " " $cat >isascii.c <<'EOCP' #include #include -main() { +int main() { int c = 'A'; if (isascii(c)) exit(0); @@ -7939,7 +8483,7 @@ case "$doublesize" in $echo $n "Checking to see how big your double precision numbers are...$c" >&4 $cat >try.c <<'EOCP' #include -main() +int main() { printf("%d\n", sizeof(double)); } @@ -7981,7 +8525,7 @@ $define) $echo $n "Checking to see how big your long doubles are...$c" >&4 $cat >try.c <<'EOCP' #include -main() +int main() { printf("%d\n", sizeof(long double)); } @@ -8027,7 +8571,7 @@ $define) $echo $n "Checking to see how big your long longs are...$c" >&4 $cat >try.c <<'EOCP' #include -main() +int main() { printf("%d\n", sizeof(long long)); } @@ -8151,6 +8695,62 @@ eval $setvar set nice d_nice eval $inlibc +: how to create joinable pthreads +if test "X$usethreads" = "X$define"; then + echo " " + echo "Checking what constant to use for creating joinable pthreads..." >&4 + $cat >try.c <<'EOCP' +#include +int main() { + int detachstate = JOINABLE; +} +EOCP + set try -DJOINABLE=PTHREAD_CREATE_JOINABLE + if eval $compile; then + echo "You seem to use PTHREAD_CREATE_JOINABLE." >&2 + val="$undef" # Yes, undef. + set d_old_pthread_create_joinable + eval $setvar + val="" + set old_pthread_create_joinable + eval $setvar + else + set try -DJOINABLE=PTHREAD_CREATE_UNDETACHED + if eval $compile; then + echo "You seem to use PTHREAD_CREATE_UNDETACHED." >&2 + val="$define" + set d_old_pthread_create_joinable + eval $setvar + val=PTHREAD_CREATE_UNDETACHED + set old_pthread_create_joinable + eval $setvar + else + set try -DJOINABLE=__UNDETACHED + if eval $compile; then + echo "You seem to use __UNDETACHED." >&2 + val="$define" + set d_old_pthread_create_joinable + eval $setvar + val=__UNDETACHED + set old_pthread_create_joinable + eval $setvar + else + echo "Egads, nothing obvious found. Guessing that you use 0." >&2 + val="$define" + set d_old_pthread_create_joinable + eval $setvar + val=0 + set old_pthread_create_joinable + eval $setvar + fi + fi + fi + $rm -f try try.* +else + d_old_pthread_create_joinable="$undef" + old_pthread_create_joinable="" +fi + : see if pause exists set pause d_pause eval $inlibc @@ -8163,45 +8763,77 @@ eval $inlibc set poll d_poll eval $inlibc -: test whether pthreads are created in joinable -- aka undetached -- state -if test "X$usethreads" = "X$define"; then - echo $n "Checking whether pthreads are created joinable. $c" >&4 - $cat >try.c <<'EOCP' + +: see whether the various POSIXish _yields exist +$cat >try.c < #include int main() { - pthread_attr_t attr; - int detachstate; - printf("%s\n", - pthread_attr_init(&attr) == 0 && - pthread_attr_getdetachstate(&attr, &detachstate) == 0 && - detachstate == PTHREAD_CREATE_DETACHED ? - "detached" : "joinable"); - exit(0); +#ifdef SCHED_YIELD + sched_yield(); +#else +#ifdef PTHREAD_YIELD + pthread_yield(); +#else +#ifdef PTHREAD_YIELD_NULL + pthread_yield(NULL); +#endif +#endif +#endif } -EOCP - set try - if eval $compile; then - yyy=`./try` - case "$yyy" in - detached) echo "Nope, they aren't." >&4 ;; - *) echo "Yup, they are." >&4 ;; - esac - else - echo " " - echo "(I can't execute the test program--assuming they are.)" >&4 - yyy=joinable - fi - $rm -f try try.* - case "$yyy" in - detached) val="$undef" ;; - *) val="$define" ;; +EOP +: see if sched_yield exists +set try -DSCHED_YIELD +if eval $compile; then + val="$define" + sched_yield='sched_yield()' +else + val="$undef" +fi +case "$usethreads" in +$define) + case "$val" in + $define) echo 'sched_yield() found.' >&4 ;; + *) echo 'sched_yield() NOT found.' >&4 ;; esac - set d_pthreads_created_joinable - eval $setvar +esac +set d_sched_yield +eval $setvar + +: see if pthread_yield exists +set try -DPTHREAD_YIELD +if eval $compile; then + val="$define" + case "$sched_yield" in + '') sched_yield='pthread_yield()' ;; + esac else - d_pthreads_created_joinable="$undef" + set try -DPTHREAD_YIELD_NULL + if eval $compile; then + val="$define" + case "$sched_yield" in + '') sched_yield='pthread_yield(NULL)' ;; + esac + else + val="$undef" + fi fi +case "$usethreads" in +$define) + case "$val" in + $define) echo 'pthread_yield() found.' >&4 ;; + *) echo 'pthread_yield() NOT found.' >&4 ;; + esac + ;; +esac +set d_pthread_yield +eval $setvar + +case "$sched_yield" in +'') sched_yield=undef ;; +esac + +$rm -f try try.* : see if this is a pwd.h system set pwd.h i_pwd @@ -8305,6 +8937,10 @@ eval $inlibc set readlink d_readlink eval $inlibc +: see if readv exists +set readv d_readv +eval $inlibc + : see if rename exists set rename d_rename eval $inlibc @@ -8365,7 +9001,7 @@ EOCP #ifdef I_UNISTD # include /* Needed for NetBSD */ #endif -main() +int main() { char buf[128], abc[128]; char *b; @@ -8441,7 +9077,7 @@ EOCP #ifdef I_UNISTD # include /* Needed for NetBSD */ #endif -main() +int main() { char buf[128], abc[128]; char *b; @@ -8519,7 +9155,7 @@ EOCP #ifdef I_UNISTD # include /* Needed for NetBSD */ #endif -main() +int main() { char a = -1; char b = 0; @@ -8762,9 +9398,9 @@ END eval $setvar case "$d_semctl_semid_ds" in $define) - echo "You can $also use struct semid_ds * for semctl IPC_STAT." >&4 + echo "You can $also use struct semid_ds* for semctl IPC_STAT." >&4 ;; - *) echo "You cannot use struct semid_ds * for semctl IPC_STAT." >&4 + *) echo "You cannot use struct semid_ds* for semctl IPC_STAT." >&4 ;; esac $rm -f try.h @@ -9004,7 +9640,7 @@ if set sigaction val -f d_sigaction; eval $csym; $val; then #include #include #include -main() +int main() { struct sigaction act, oact; } @@ -9031,7 +9667,7 @@ case "$d_sigsetjmp" in #include sigjmp_buf env; int set = 1; -main() +int main() { if (sigsetjmp(env,1)) exit(set); @@ -9068,59 +9704,6 @@ set d_sigsetjmp eval $setvar $rm -f try.c try -socketlib='' -sockethdr='' -: see whether socket exists -echo " " -$echo $n "Hmm... $c" >&4 -if set socket val -f d_socket; eval $csym; $val; then - echo "Looks like you have Berkeley networking support." >&4 - d_socket="$define" - if set setsockopt val -f; eval $csym; $val; then - d_oldsock="$undef" - else - echo "...but it uses the old 4.1c interface, rather than 4.2" >&4 - d_oldsock="$define" - fi -else - if $contains socklib libc.list >/dev/null 2>&1; then - echo "Looks like you have Berkeley networking support." >&4 - d_socket="$define" - : we will have to assume that it supports the 4.2 BSD interface - d_oldsock="$undef" - else - echo "You don't have Berkeley networking in libc$_a..." >&4 - if test -f /usr/lib/libnet$_a; then - ( ($nm $nm_opt /usr/lib/libnet$_a | eval $nm_extract) || \ - $ar t /usr/lib/libnet$_a) 2>/dev/null >> libc.list - if $contains socket libc.list >/dev/null 2>&1; then - echo "...but the Wollongong group seems to have hacked it in." >&4 - socketlib="-lnet" - sockethdr="-I/usr/netinclude" - d_socket="$define" - if $contains setsockopt libc.list >/dev/null 2>&1; then - d_oldsock="$undef" - else - echo "...using the old 4.1c interface, rather than 4.2" >&4 - d_oldsock="$define" - fi - else - echo "or even in libnet$_a, which is peculiar." >&4 - d_socket="$undef" - d_oldsock="$undef" - fi - else - echo "or anywhere else I see." >&4 - d_socket="$undef" - d_oldsock="$undef" - fi - fi -fi - -: see if socketpair exists -set socketpair d_sockpair -eval $inlibc - : see if stat knows about block sizes echo " " set d_statblks stat st_blocks $i_sysstat sys/stat.h @@ -9174,7 +9757,7 @@ $cat >try.c < #define FILE_ptr(fp) $stdio_ptr #define FILE_cnt(fp) $stdio_cnt -main() { +int main() { FILE *fp = fopen("try.c", "r"); char c = getc(fp); if ( @@ -9225,7 +9808,7 @@ $define) #include #define FILE_base(fp) $stdio_base #define FILE_bufsiz(fp) $stdio_bufsiz -main() { +int main() { FILE *fp = fopen("try.c", "r"); char c = getc(fp); if ( @@ -9261,7 +9844,7 @@ eval $inlibc echo " " echo "Checking to see if your C compiler can copy structs..." >&4 $cat >try.c <<'EOCP' -main() +int main() { struct blurfl { int dyick; @@ -9360,6 +9943,15 @@ eval $inlibc set tcsetpgrp d_tcsetpgrp eval $inlibc +: see if sys/types.h has to be included +set sys/types.h i_systypes +eval $inhdr + +: see if prototype for telldir is available +echo " " +set d_telldirproto telldir $i_systypes sys/types.h $i_dirent dirent.h +eval $hasproto + : define an is-a-typedef? function typedef='type=$1; var=$2; def=$3; shift; shift; shift; inclist=$@; case "$inclist" in @@ -9458,43 +10050,6 @@ eval $setvar set umask d_umask eval $inlibc -: see how we will look up host name -echo " " -if false; then - : dummy stub to allow use of elif -elif set uname val -f d_uname; eval $csym; $val; then - if ./xenix; then - $cat <<'EOM' -uname() was found, but you're running xenix, and older versions of xenix -have a broken uname(). If you don't really know whether your xenix is old -enough to have a broken system call, use the default answer. - -EOM - dflt=y - case "$d_uname" in - "$define") dflt=n;; - esac - rp='Is your uname() broken?' - . ./myread - case "$ans" in - n*) d_uname="$define"; call=uname;; - esac - else - echo 'uname() found.' >&4 - d_uname="$define" - call=uname - fi -fi -case "$d_gethname" in -'') d_gethname="$undef";; -esac -case "$d_uname" in -'') d_uname="$undef";; -esac -case "$d_phostname" in -'') d_phostname="$undef";; -esac - : backward compatibility for d_hvfork if test X$d_hvfork != X; then d_vfork="$d_hvfork" @@ -9540,10 +10095,6 @@ eval $inhdr set sys/ndir.h i_sysndir eval $inhdr -: see if sys/types.h has to be included -set sys/types.h i_systypes -eval $inhdr - : see if closedir exists set closedir d_closedir eval $inlibc @@ -9606,7 +10157,7 @@ $rm -f closedir* echo " " echo 'Checking to see if your C compiler knows about "volatile"...' >&4 $cat >try.c <<'EOCP' -main() +int main() { typedef struct _goo_struct goo_struct; goo_struct * volatile goo = ((goo_struct *)0); @@ -9649,6 +10200,10 @@ eval $inlibc set wctomb d_wctomb eval $inlibc +: see if writev exists +set writev d_writev +eval $inlibc + : preserve RCS keywords in files with variable substitution, grrr Date='$Date' Id='$Id' @@ -9665,7 +10220,7 @@ struct foobar { char foo; double bar; } try; -main() +int main() { printf("%d\n", (char *)&try.bar - (char *)&try.foo); } @@ -9700,7 +10255,7 @@ I'm now running the test program... EOM $cat >try.c <<'EOCP' #include -main() +int main() { int i; union { @@ -9795,7 +10350,7 @@ $define) #include #include #include -main() +int main() { #ifdef DB_VERSION_MAJOR /* DB version >= 2 */ int Major, Minor, Patch ; @@ -9878,7 +10433,7 @@ size_t size; { } HASHINFO info; -main() +int main() { info.hash = hash_cb; } @@ -9923,7 +10478,7 @@ const DBT *key2; { } BTREEINFO info; -main() +int main() { info.prefix = prefix_cb; } @@ -9976,7 +10531,7 @@ sub() { #endif exit(0); } -main() { sub(); } +int main() { sub(); } EOCP if $cc $ccflags -c -DTRY=$defvoidused try.c >.out 2>&1 ; then voidflags=$defvoidused @@ -10044,6 +10599,7 @@ $rm -f try.* .out : How can we generate normalized random numbers ? echo " " +echo "Looking for a random number function..." >&4 case "$randfunc" in '') if set drand48 val -f; eval $csym; $val; then @@ -10085,8 +10641,8 @@ while $test "$cont"; do if set $ans val -f; eval $csym; $val; then cont='' else - dflt=n - rp="Function $ans does not exists. Use that name anyway?" + dflt=y + rp="I cannot find function $ans. Use that name anyway?" . ./myread dflt=rand case "$ans" in @@ -10116,7 +10672,7 @@ echo "Checking to see how many bits your $randfunc() function produces..." >&4 #ifdef I_STDLIB # include #endif -main() +int main() { register int i; register unsigned long tmp; @@ -10191,7 +10747,7 @@ if eval $compile_ok; then echo "Nope, no EBCDIC. Assuming ASCII or some ISO Latin." >&4 fi else - echo "$me: I'm unable to compile the test program." >&4 + echo "I'm unable to compile the test program." >&4 echo "I'll assume ASCII or some ISO Latin." >&4 fi $rm -f tebcdic.c tebcdic @@ -10203,18 +10759,6 @@ rp="What is the type for file position used by fsetpos()?" set fpos_t fpostype long stdio.h sys/types.h eval $typedef_ask -: 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 ;; -esac - : Store the full pathname to the sed program for use in the C program full_sed=$sed @@ -10281,7 +10825,7 @@ $echo $n "Checking to see how big your file offsets are...$c" >&4 $cat >try.c < #include -main() +int main() { printf("%d\n", sizeof($lseektype)); } @@ -10524,40 +11068,9 @@ rp='What pager is used on your system?' pager="$ans" : see what type pids are declared as in the kernel -rp="What is the type of process ids on this system?" -set pid_t pidtype int stdio.h sys/types.h -eval $typedef_ask - - -: see whether the state of pthread_attr_setdetachstate is an int pointer -$cat >try.c < -main() { - pthread_attr_t attr; - int state = 0; - pthread_attr_init(&attr); -#ifdef POINTER - pthread_attr_setdetachstate(&attr, &state); -#else - pthread_attr_setdetachstate(&attr, state); -#endif -} -EOP -set try -if eval $compile; then - val="$undef" -else - set try -DPOINTER - if eval $compile; then - val="$define" - else - val="$undef" - fi -fi -set pthread_setdetachstate_pointer -eval $setvar - -$rm -f try try.* +rp="What is the type of process ids on this system?" +set pid_t pidtype int stdio.h sys/types.h +eval $typedef_ask : check for length of pointer echo " " @@ -10571,7 +11084,7 @@ case "$ptrsize" in fi $cat >>try.c <<'EOCP' #include -main() +int main() { printf("%d\n", sizeof(VOID_PTR)); exit(0); @@ -10598,7 +11111,7 @@ echo "Checking how to generate random libraries on your machine..." >&4 echo 'int bar1() { return bar2(); }' > bar1.c echo 'int bar2() { return 2; }' > bar2.c $cat > foo.c <<'EOP' -main() { printf("%d\n", bar1()); exit(0); } +int main() { printf("%d\n", bar1()); exit(0); } EOP $cc $ccflags -c bar1.c >/dev/null 2>&1 $cc $ccflags -c bar2.c >/dev/null 2>&1 @@ -10635,240 +11148,6 @@ else fi $rm -f foo* bar* - -: see whether the various POSIXish _yields exist -$cat >try.c < -#include -main() { -#ifdef SCHED_YIELD - sched_yield(); -#else -#ifdef PTHREAD_YIELD - pthread_yield(); -#else -#ifdef PTHREAD_YIELD_NULL - pthread_yield(NULL); -#endif -#endif -#endif -} -EOP -: see if sched_yield exists -set try -DSCHED_YIELD -if eval $compile; then - val="$define" - sched_yield='sched_yield()' -else - val="$undef" -fi -case "$usethreads" in -$define) - case "$val" in - $define) echo 'sched_yield() found.' >&4 ;; - *) echo 'sched_yield() NOT found.' >&4 ;; - esac -esac -set d_sched_yield -eval $setvar - -: see if pthread_yield exists -set try -DPTHREAD_YIELD -if eval $compile; then - val="$define" - case "$sched_yield" in - '') sched_yield='pthread_yield()' ;; - esac -else - set try -DPTHREAD_YIELD_NULL - if eval $compile; then - val="$define" - case "$sched_yield" in - '') sched_yield='pthread_yield(NULL)' ;; - esac - else - val="$undef" - fi -fi -case "$usethreads" in -$define) - case "$val" in - $define) echo 'pthread_yield() found.' >&4 ;; - *) echo 'pthread_yield() NOT found.' >&4 ;; - esac - ;; -esac -set d_pthread_yield -eval $setvar - -case "$sched_yield" in -'') sched_yield=undef ;; -esac - -$rm -f try 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 -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 <fd_set.c < -#ifdef HAS_SOCKET -#include /* Might include */ -#endif -#ifdef I_SYS_TIME -#include -#endif -#ifdef I_SYS_SELECT -#include -#endif -main() { - fd_set fds; - -#ifdef TRYBITS - if(fds.fds_bits); -#endif - -#if defined(FD_SET) && defined(FD_CLR) && defined(FD_ISSET) && defined(FD_ZERO) - exit(0); -#else - exit(1); -#endif -} -EOCP -set fd_set -DTRYBITS -if eval $compile; then - d_fds_bits="$define" - d_fd_set="$define" - echo "Well, your system knows about the normal fd_set typedef..." >&4 - if ./fd_set; then - echo "and you have the normal fd_set macros (just as I'd expect)." >&4 - d_fd_macros="$define" - else - $cat >&4 <<'EOM' -but not the normal fd_set macros! Gaaack! I'll have to cover for you. -EOM - d_fd_macros="$undef" - fi -else - $cat <<'EOM' -Hmm, your compiler has some difficulty with fd_set. Checking further... -EOM - set fd_set - if eval $compile; then - d_fds_bits="$undef" - d_fd_set="$define" - echo "Well, your system has some sort of fd_set available..." >&4 - if ./fd_set; then - echo "and you have the normal fd_set macros." >&4 - d_fd_macros="$define" - else - $cat <<'EOM' -but not the normal fd_set macros! Gross! More work for me... -EOM - d_fd_macros="$undef" - fi - else - echo "Well, you got zip. That's OK, I can roll my own fd_set stuff." >&4 - d_fd_set="$undef" - d_fds_bits="$undef" - d_fd_macros="$undef" - fi -fi -$rm -f fd_set* - : check for type of arguments to select. case "$selecttype" in '') case "$d_select" in @@ -10883,7 +11162,9 @@ EOM : The first arg can be int, unsigned, or size_t : The last arg may or may not be 'const' val='' - for xxx in 'fd_set *' 'int *' 'void *'; do + : void pointer has been seen but using that + : breaks the selectminbits test + for xxx in 'fd_set *' 'int *'; do for nfd in 'int' 'size_t' 'unsigned long' 'unsigned' ; do for tmo in 'struct timeval *' 'const struct timeval *'; do case "$val" in @@ -11218,7 +11499,13 @@ $eunicefix signal_cmd : generate list of signal names echo " " case "$sig_name_init" in -'') +'') doinit=yes ;; +*) case "$sig_num_init" in + ''|*,*) doinit=yes ;; + esac ;; +esac +case "$doinit" in +yes) echo "Generating a list of signal names and numbers..." >&4 . ./signal_cmd sig_name=`$awk '{printf "%s ", $1}' signal.lst` @@ -11226,7 +11513,9 @@ case "$sig_name_init" in sig_name_init=`$awk 'BEGIN { printf "\"ZERO\", " } { printf "\"%s\", ", $1 } END { printf "0\n" }' signal.lst` - sig_num=`$awk 'BEGIN { printf "0, " } + sig_num=`$awk '{printf "%d ", $2}' signal.lst` + sig_num="0 $sig_num" + sig_num_init=`$awk 'BEGIN { printf "0, " } { printf "%d, ", $2} END { printf "0\n"}' signal.lst` ;; @@ -11258,7 +11547,7 @@ $cat > ssize.c < #define Size_t $sizetype #define SSize_t $dflt -main() +int main() { if (sizeof(Size_t) == sizeof(SSize_t)) printf("$dflt\n"); @@ -11429,10 +11718,24 @@ eval $setvar 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 + eval $inhdr +else + i_machcthr="$undef" +fi + + + : see if this is a math.h system set math.h i_math eval $inhdr +: see if this is a mntent.h system +set mntent.h i_mntent +eval $inhdr + : see if ndbm.h is available set ndbm.h t_ndbm eval $inhdr @@ -11482,6 +11785,10 @@ esac set i_neterrno eval $setvar +: see if this is a poll.h system +set poll.h i_poll +eval $inhdr + : get C preprocessor symbols handy echo " " $echo $n "Hmm... $c" @@ -11777,10 +12084,6 @@ fi set i_sysioctl eval $setvar -: see if this is a sys/param system -set sys/param.h i_sysparam -eval $inhdr - : see if sys/resource.h has to be included set sys/resource.h i_sysresrc eval $inhdr @@ -11789,6 +12092,10 @@ eval $inhdr set sys/security.h i_syssecrt eval $inhdr +: see if this is a sys/statvfs.h system +set sys/statvfs.h i_sysstatvfs +eval $inhdr + : see if this is a sys/un.h system set sys/un.h i_sysun eval $inhdr @@ -12213,6 +12520,7 @@ d_chown='$d_chown' d_chroot='$d_chroot' d_chsize='$d_chsize' d_closedir='$d_closedir' +d_cmsghdr_s='$d_cmsghdr_s' d_const='$d_const' d_crypt='$d_crypt' d_csh='$d_csh' @@ -12222,7 +12530,7 @@ d_dbmclose64='$d_dbmclose64' d_dbminit64='$d_dbminit64' d_delete64='$d_delete64' d_difftime='$d_difftime' -d_dirent64s='$d_dirent64s' +d_dirent64_s='$d_dirent64_s' d_dirnamlen='$d_dirnamlen' d_dlerror='$d_dlerror' d_dlopen='$d_dlopen' @@ -12250,7 +12558,7 @@ d_fgetpos64='$d_fgetpos64' d_fgetpos='$d_fgetpos' d_firstkey64='$d_firstkey64' d_flexfnam='$d_flexfnam' -d_flock64s='$d_flock64s' +d_flock64_s='$d_flock64_s' d_flock='$d_flock' d_fopen64='$d_fopen64' d_fork='$d_fork' @@ -12262,6 +12570,8 @@ d_fseeko='$d_fseeko' d_fsetpos64='$d_fsetpos64' d_fsetpos='$d_fsetpos' d_fstat64='$d_fstat64' +d_fstatfs='$d_fstatfs' +d_fstatvfs='$d_fstatvfs' d_ftell64='$d_ftell64' d_ftello64='$d_ftello64' d_ftello='$d_ftello' @@ -12301,6 +12611,7 @@ d_index='$d_index' d_inetaton='$d_inetaton' d_ino64t='$d_ino64t' d_int64t='$d_int64t' +d_iovec_s='$d_iovec_s' d_isascii='$d_isascii' d_killpg='$d_killpg' d_lchown='$d_lchown' @@ -12324,14 +12635,21 @@ d_mkdir='$d_mkdir' d_mkfifo='$d_mkfifo' d_mktime='$d_mktime' d_msg='$d_msg' +d_msg_ctrunc='$d_msg_ctrunc' +d_msg_dontroute='$d_msg_dontroute' +d_msg_oob='$d_msg_oob' +d_msg_peek='$d_msg_peek' +d_msg_proxy='$d_msg_proxy' d_msgctl='$d_msgctl' d_msgget='$d_msgget' +d_msghdr_s='$d_msghdr_s' d_msgrcv='$d_msgrcv' d_msgsnd='$d_msgsnd' d_mymalloc='$d_mymalloc' d_nextkey64='$d_nextkey64' d_nice='$d_nice' d_off64t='$d_off64t' +d_old_pthread_create_joinable='$d_old_pthread_create_joinable' d_oldpthreads='$d_oldpthreads' d_oldsock='$d_oldsock' d_open3='$d_open3' @@ -12344,7 +12662,6 @@ d_pipe='$d_pipe' d_poll='$d_poll' d_portable='$d_portable' d_pthread_yield='$d_pthread_yield' -d_pthreads_created_joinable='$d_pthreads_created_joinable' d_pwage='$d_pwage' d_pwchange='$d_pwchange' d_pwclass='$d_pwclass' @@ -12356,6 +12673,8 @@ d_pwquota='$d_pwquota' d_readdir64='$d_readdir64' d_readdir='$d_readdir' d_readlink='$d_readlink' +d_readv='$d_readv' +d_recvmsg='$d_recvmsg' d_rename='$d_rename' d_rewinddir='$d_rewinddir' d_rmdir='$d_rmdir' @@ -12363,6 +12682,7 @@ d_safebcpy='$d_safebcpy' d_safemcpy='$d_safemcpy' d_sanemcmp='$d_sanemcmp' d_sched_yield='$d_sched_yield' +d_scm_rights='$d_scm_rights' d_seekdir64='$d_seekdir64' d_seekdir='$d_seekdir' d_select='$d_select' @@ -12372,6 +12692,7 @@ d_semctl_semid_ds='$d_semctl_semid_ds' d_semctl_semun='$d_semctl_semun' d_semget='$d_semget' d_semop='$d_semop' +d_sendmsg='$d_sendmsg' d_setegid='$d_setegid' d_seteuid='$d_seteuid' d_setgrent='$d_setgrent' @@ -12408,6 +12729,9 @@ d_socket='$d_socket' d_sockpair='$d_sockpair' d_stat64='$d_stat64' d_statblks='$d_statblks' +d_statfs='$d_statfs' +d_statfsflags='$d_statfsflags' +d_statvfs='$d_statvfs' d_stdio_cnt_lval='$d_stdio_cnt_lval' d_stdio_ptr_lval='$d_stdio_ptr_lval' d_stdiobase='$d_stdiobase' @@ -12433,6 +12757,7 @@ d_tcgetpgrp='$d_tcgetpgrp' d_tcsetpgrp='$d_tcsetpgrp' d_telldir64='$d_telldir64' d_telldir='$d_telldir' +d_telldirproto='$d_telldirproto' d_time='$d_time' d_times='$d_times' d_tmpfile64='$d_tmpfile64' @@ -12452,6 +12777,7 @@ d_wait4='$d_wait4' d_waitpid='$d_waitpid' d_wcstombs='$d_wcstombs' d_wctomb='$d_wctomb' +d_writev='$d_writev' d_xenix='$d_xenix' date='$date' db_hashtype='$db_hashtype' @@ -12505,13 +12831,16 @@ i_grp='$i_grp' i_inttypes='$i_inttypes' i_limits='$i_limits' i_locale='$i_locale' +i_machcthr='$i_machcthr' i_malloc='$i_malloc' i_math='$i_math' i_memory='$i_memory' +i_mntent='$i_mntent' i_ndbm='$i_ndbm' i_netdb='$i_netdb' i_neterrno='$i_neterrno' i_niin='$i_niin' +i_poll='$i_poll' i_pwd='$i_pwd' i_rpcsvcdbm='$i_rpcsvcdbm' i_sfio='$i_sfio' @@ -12526,6 +12855,7 @@ i_sysfile='$i_sysfile' i_sysfilio='$i_sysfilio' i_sysin='$i_sysin' i_sysioctl='$i_sysioctl' +i_sysmount='$i_sysmount' i_sysndir='$i_sysndir' i_sysparam='$i_sysparam' i_sysresrc='$i_sysresrc' @@ -12533,10 +12863,12 @@ i_syssecrt='$i_syssecrt' i_sysselct='$i_sysselct' i_syssockio='$i_syssockio' i_sysstat='$i_sysstat' +i_sysstatvfs='$i_sysstatvfs' i_systime='$i_systime' i_systimek='$i_systimek' i_systimes='$i_systimes' i_systypes='$i_systypes' +i_sysuio='$i_sysuio' i_sysun='$i_sysun' i_syswait='$i_syswait' i_termio='$i_termio' @@ -12559,6 +12891,7 @@ installprivlib='$installprivlib' installscript='$installscript' installsitearch='$installsitearch' installsitelib='$installsitelib' +installusrbinperl='$installusrbinperl' intsize='$intsize' known_extensions='$known_extensions' ksh='$ksh' @@ -12625,6 +12958,7 @@ nonxs_ext='$nonxs_ext' nroff='$nroff' o_nonblock='$o_nonblock' obj_ext='$obj_ext' +old_pthread_create_joinable='$old_pthread_create_joinable' optimize='$optimize' orderlib='$orderlib' osname='$osname' @@ -12648,7 +12982,6 @@ prefixexp='$prefixexp' privlib='$privlib' privlibexp='$privlibexp' prototype='$prototype' -pthread_setdetachstate_pointer='$pthread_setdetachstate_pointer' ptrsize='$ptrsize' randbits='$randbits' randfunc='$randfunc' @@ -12676,6 +13009,7 @@ shsharp='$shsharp' sig_name='$sig_name' sig_name_init='$sig_name_init' sig_num='$sig_num' +sig_num_init='$sig_num_init' signal_t='$signal_t' sitearch='$sitearch' sitearchexp='$sitearchexp'