X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Configure;h=60eac75eba3b9a96a44da2a6ccb651223b526bf4;hb=3387927231e5bf4138a3082ecafb247e03a8061a;hp=1194303a8ab273591f8fde72573b320e36ec3697;hpb=56e771c1bc71c994cd5a877d8b2eadd47e254ff8;p=p5sagit%2Fp5-mst-13.2.git diff --git a/Configure b/Configure index 1194303..60eac75 100755 --- a/Configure +++ b/Configure @@ -16,16 +16,21 @@ # The dist package (which contains metaconfig) is available via SVN: # svn co https://svn.sourceforge.net/svnroot/dist/trunk/dist # +# Though this script was generated by metaconfig from metaunits, it is +# OK to send patches against Configure itself. It's up to the Configure +# pumpkin to backport the patch to the metaunits if it is accepted. +# For more information on patching Configure, see pod/perlhack.pod +# +# The metaunits are also available from the public git repository: +# http://perl5.git.perl.org/metaconfig.git/ or +# $ git clone git://perl5.git.perl.org/metaconfig.git metaconfig # -# Though this script was generated by metaconfig, it is OK to send -# patches against it. It's up to the Configure pumpkin to backport -# the patch to the metaunits if it is accepted. # See Porting/pumpkin.pod for more information on metaconfig. # # $Id: Head.U 6 2006-08-25 22:21:46Z rmanfredi $ # -# Generated on Fri Aug 22 17:08:28 CEST 2008 [metaconfig 3.5 PL0] +# Generated on Fri May 21 07:59:07 CEST 2010 [metaconfig 3.5 PL0] # (with additional metaconfig patches by perlbug@perl.org) cat >c1$$ <&4 <&4 <&4 </dev/null; then + echo "Substituting less -R for less." + less="$less -R" + _less=$less + fi + ;; +esac case "$ln" in ln) echo "Substituting cp for ln." @@ -4129,7 +4169,9 @@ fi version_patchlevel_string="version $patchlevel subversion $subversion" case "$perl_patchlevel" in 0|'') ;; -*) version_patchlevel_string="$version_patchlevel_string patch $perl_patchlevel" ;; +*) perl_patchlevel=`echo $perl_patchlevel | sed 's/.* //'` + version_patchlevel_string="$version_patchlevel_string patch $perl_patchlevel" + ;; esac $echo "(You have $package $version_patchlevel_string.)" @@ -6348,6 +6390,7 @@ eval $setvar $rm -f reflect flect : now see if they want to do setuid emulation +if $test $patchlevel -lt 11; then echo " " val="$undef" case "$d_suidsafe" in @@ -6379,6 +6422,20 @@ EOM esac set d_dosuid eval $setvar +else + case "$d_dosuid" in + "$define") + cat >&4 <[1] cmp $b->[1]} @candidates; } else { ;@candidates = (); @@ -7007,6 +7065,11 @@ case "$vendorprefix" in esac prefixvar=vendorarch . ./installprefix +if $test X"$vendorarch" = X"$vendorlib"; then + d_vendorarch="$undef" +else + d_vendorarch="$define" +fi : Final catch-all directories to search $cat </dev/null 2>&1; then tval=true; elif $test "$mistrustnm" = compile -o "$mistrustnm" = run; then - echo "extern $extern_C void *$1$tdc; void *(*(p()))$tdc { return &$1; } int main() { if(p()) return(0); else return(1); }"> try.c; + echo "$extern_C void *$1$tdc; void *(*(p()))$tdc { return &$1; } int main() { if(p()) return(0); else return(1); }"> try.c; $cc -o try $optimize $ccflags $ldflags try.c >/dev/null 2>&1 $libs && tval=true; $test "$mistrustnm" = run -a -x try && { $run ./try$_exe >/dev/null 2>&1 || tval=false; }; $rm_try; fi; else - echo "extern $extern_C void *$1$tdc; void *(*(p()))$tdc { return &$1; } int main() { if(p()) return(0); else return(1); }"> try.c; + echo "$extern_C void *$1$tdc; void *(*(p()))$tdc { return &$1; } int main() { if(p()) return(0); else return(1); }"> try.c; $cc -o try $optimize $ccflags $ldflags try.c $libs >/dev/null 2>&1 && tval=true; $rm_try; fi; @@ -7882,6 +7948,7 @@ esac rp="Do you wish to use dynamic loading?" . ./myread usedl="$ans" +bin_ELF="$undef" case "$ans" in y*) usedl="$define" case "$dlsrc" in @@ -7978,6 +8045,7 @@ EOM You appear to have ELF support. I'll use $cc to build dynamic libraries. EOM dflt="$cc" + bin_ELF="$define" else echo "I'll use ld to build dynamic libraries." dflt='ld' @@ -8004,6 +8072,7 @@ EOM case "$lddlflags" in '') case "$osname" in beos) dflt='-nostart' ;; + haiku) dflt='-shared' ;; hpux) dflt='-b'; case "$gccversion" in '') dflt="$dflt +vnocompatwarnings" ;; @@ -8097,7 +8166,7 @@ $undef) ;; *) case "$useshrplib" in '') case "$osname" in - svr4*|nonstopux|dgux|dynixptx|esix|powerux|beos|cygwin*) + svr4*|nonstopux|dgux|dynixptx|esix|powerux|beos|haiku|cygwin*) dflt=y also='Building a shared libperl is required for dynamic loading to work on your system.' ;; @@ -8145,6 +8214,13 @@ esac case "$useshrplib" in true) + case "$userelocatableinc" in + true|define) + echo "Cannot build with both -Duserelocatableinc and -Duseshrplib" >&4 + echo "See INSTALL for an explanation why that won't work." >&4 + exit 4 + ;; + esac case "$libperl" in '') # Figure out a good name for libperl.so. Since it gets stored in @@ -8264,6 +8340,9 @@ if "$useshrplib"; then beos) # beos doesn't like the default, either. ;; + haiku) + # Haiku doesn't like the default, either. + ;; hpux*) # hpux doesn't like the default, either. tmp_shrpenv="env LDOPTS=\"+s +b${shrpdir}\"" @@ -9490,6 +9569,46 @@ esac prefixvar=vendorscript . ./installprefix +: script used to emit important warnings +cat >warn <msg +else + cat >msg +fi +echo "*** WARNING:" >&4 +sed -e 's/^/*** /' &4 +echo "*** " >&4 +cat msg >>config.msg +echo " " >>config.msg +rm -f msg +EOS +chmod +x warn +$eunicefix warn + +: see which of string.h or strings.h is needed +echo " " +strings=`./findhdr string.h` +if $test "$strings" && $test -r "$strings"; then + echo "Using instead of ." >&4 + val="$define" +else + val="$undef" + strings=`./findhdr strings.h` + if $test "$strings" && $test -r "$strings"; then + echo "Using instead of ." >&4 + else + ./warn "No string header found -- You'll surely have problems." + fi +fi +set i_string +eval $setvar +case "$i_string" in +"$undef") strings=`./findhdr strings.h`;; +*) strings=`./findhdr string.h`;; +esac + : see if qgcvt exists set qgcvt d_qgcvt eval $inlibc @@ -9663,15 +9782,18 @@ char *myname = "sprintf"; #include -#define I_STDLIB $i_stdlib +#$i_stdlib I_STDLIB #ifdef I_STDLIB #include #endif +#$i_string I_STRING +#ifdef I_STRING +# include +#else +# include +#endif -int -checkit(expect, got) -char *expect; -char *got; +int checkit(char *expect, char *got) { if (strcmp(expect, got)) { printf("%s oddity: Expected %s, got %s\n", @@ -9914,6 +10036,26 @@ eval $inlibc set alarm d_alarm eval $inlibc +: see if 64bit time functions exists + +set ctime64 d_ctime64 +eval $inlibc + +set localtime64 d_localtime64 +eval $inlibc + +set gmtime64 d_gmtime64 +eval $inlibc + +set mktime64 d_mktime64 +eval $inlibc + +set difftime64 d_difftime64 +eval $inlibc + +set asctime64 d_asctime64 +eval $inlibc + : see if POSIX threads are available set pthread.h i_pthread eval $inhdr @@ -10155,19 +10297,19 @@ case "$d_asctime_r" in define) case "$asctime_r_proto" in ''|0) try='char* asctime_r(const struct tm*, char*);' - ./protochk "extern $try" $hdrs && asctime_r_proto=B_SB ;; + ./protochk "$extern_C $try" $hdrs && asctime_r_proto=B_SB ;; esac case "$asctime_r_proto" in ''|0) try='char* asctime_r(const struct tm*, char*, int);' - ./protochk "extern $try" $hdrs && asctime_r_proto=B_SBI ;; + ./protochk "$extern_C $try" $hdrs && asctime_r_proto=B_SBI ;; esac case "$asctime_r_proto" in ''|0) try='int asctime_r(const struct tm*, char*);' - ./protochk "extern $try" $hdrs && asctime_r_proto=I_SB ;; + ./protochk "$extern_C $try" $hdrs && asctime_r_proto=I_SB ;; esac case "$asctime_r_proto" in ''|0) try='int asctime_r(const struct tm*, char*, int);' - ./protochk "extern $try" $hdrs && asctime_r_proto=I_SBI ;; + ./protochk "$extern_C $try" $hdrs && asctime_r_proto=I_SBI ;; esac case "$asctime_r_proto" in ''|0) d_asctime_r=undef @@ -10412,6 +10554,34 @@ set d_attribute_unused eval $setvar $rm -f attrib* +: Look for GCC-style attribute deprecated +case "$d_attribute_deprecated" in +'') +echo " " +echo "Checking whether your compiler can handle __attribute__((deprecated)) ..." >&4 +$cat >attrib.c <<'EOCP' +#include +int I_am_deprecated(void) __attribute__((deprecated)); +EOCP +if $cc $ccflags -c attrib.c >attrib.out 2>&1 ; then + if $contains 'warning' attrib.out >/dev/null 2>&1; then + echo "Your C compiler doesn't support __attribute__((deprecated))." + val="$undef" + else + echo "Your C compiler supports __attribute__((deprecated))." + val="$define" + fi +else + echo "Your C compiler doesn't seem to understand __attribute__ at all." + val="$undef" +fi +;; +*) val="$d_attribute_deprecated" ;; +esac +set d_attribute_deprecated +eval $setvar +$rm -f attrib* + : Look for GCC-style attribute warn_unused_result case "$d_attribute_warn_unused_result" in '') @@ -10861,7 +11031,7 @@ int main() signal(SIGFPE, blech); /* Don't let compiler optimize the test away. Store the number - in a writable string for gcc to pass to sscanf under HP/UX. + in a writable string for gcc to pass to sscanf under HP-UX. */ sprintf(str, "2147483647"); sscanf(str, "%lf", &f); /* f = (double) 0x7fffffff; */ @@ -10928,7 +11098,7 @@ int main() optimized the whole file away */ /* Store the number in a writable string for gcc to pass to - sscanf under HP/UX. + sscanf under HP-UX. */ sprintf(str, "-123"); sscanf(str, "%lf", &f); /* f = -123.; */ @@ -11300,11 +11470,11 @@ case "$d_crypt_r" in define) case "$crypt_r_proto" in ''|0) try='char* crypt_r(const char*, const char*, struct crypt_data*);' - ./protochk "extern $try" $hdrs && crypt_r_proto=B_CCS ;; + ./protochk "$extern_C $try" $hdrs && crypt_r_proto=B_CCS ;; esac case "$crypt_r_proto" in ''|0) try='char* crypt_r(const char*, const char*, CRYPTD*);' - ./protochk "extern $try" $hdrs && crypt_r_proto=B_CCD ;; + ./protochk "$extern_C $try" $hdrs && crypt_r_proto=B_CCD ;; esac case "$crypt_r_proto" in ''|0) d_crypt_r=undef @@ -11361,7 +11531,7 @@ case "$d_ctermid_r" in define) case "$ctermid_r_proto" in ''|0) try='char* ctermid_r(char*);' - ./protochk "extern $try" $hdrs && ctermid_r_proto=B_B ;; + ./protochk "$extern_C $try" $hdrs && ctermid_r_proto=B_B ;; esac case "$ctermid_r_proto" in ''|0) d_ctermid_r=undef @@ -11402,19 +11572,19 @@ case "$d_ctime_r" in define) case "$ctime_r_proto" in ''|0) try='char* ctime_r(const time_t*, char*);' - ./protochk "extern $try" $hdrs && ctime_r_proto=B_SB ;; + ./protochk "$extern_C $try" $hdrs && ctime_r_proto=B_SB ;; esac case "$ctime_r_proto" in ''|0) try='char* ctime_r(const time_t*, char*, int);' - ./protochk "extern $try" $hdrs && ctime_r_proto=B_SBI ;; + ./protochk "$extern_C $try" $hdrs && ctime_r_proto=B_SBI ;; esac case "$ctime_r_proto" in ''|0) try='int ctime_r(const time_t*, char*);' - ./protochk "extern $try" $hdrs && ctime_r_proto=I_SB ;; + ./protochk "$extern_C $try" $hdrs && ctime_r_proto=I_SB ;; esac case "$ctime_r_proto" in ''|0) try='int ctime_r(const time_t*, char*, int);' - ./protochk "extern $try" $hdrs && ctime_r_proto=I_SBI ;; + ./protochk "$extern_C $try" $hdrs && ctime_r_proto=I_SBI ;; esac case "$ctime_r_proto" in ''|0) d_ctime_r=undef @@ -11820,7 +11990,7 @@ case "$d_drand48_r" in define) case "$drand48_r_proto" in ''|0) try='int drand48_r(struct drand48_data*, double*);' - ./protochk "extern $try" $hdrs && drand48_r_proto=I_ST ;; + ./protochk "$extern_C $try" $hdrs && drand48_r_proto=I_ST ;; esac case "$drand48_r_proto" in ''|0) d_drand48_r=undef @@ -11903,11 +12073,11 @@ case "$d_endgrent_r" in define) case "$endgrent_r_proto" in ''|0) try='int endgrent_r(FILE**);' - ./protochk "extern $try" $hdrs && endgrent_r_proto=I_H ;; + ./protochk "$extern_C $try" $hdrs && endgrent_r_proto=I_H ;; esac case "$endgrent_r_proto" in ''|0) try='void endgrent_r(FILE**);' - ./protochk "extern $try" $hdrs && endgrent_r_proto=V_H ;; + ./protochk "$extern_C $try" $hdrs && endgrent_r_proto=V_H ;; esac case "$endgrent_r_proto" in ''|0) d_endgrent_r=undef @@ -11956,11 +12126,11 @@ case "$d_endhostent_r" in define) case "$endhostent_r_proto" in ''|0) try='int endhostent_r(struct hostent_data*);' - ./protochk "extern $try" $hdrs && endhostent_r_proto=I_D ;; + ./protochk "$extern_C $try" $hdrs && endhostent_r_proto=I_D ;; esac case "$endhostent_r_proto" in ''|0) try='void endhostent_r(struct hostent_data*);' - ./protochk "extern $try" $hdrs && endhostent_r_proto=V_D ;; + ./protochk "$extern_C $try" $hdrs && endhostent_r_proto=V_D ;; esac case "$endhostent_r_proto" in ''|0) d_endhostent_r=undef @@ -12005,11 +12175,11 @@ case "$d_endnetent_r" in define) case "$endnetent_r_proto" in ''|0) try='int endnetent_r(struct netent_data*);' - ./protochk "extern $try" $hdrs && endnetent_r_proto=I_D ;; + ./protochk "$extern_C $try" $hdrs && endnetent_r_proto=I_D ;; esac case "$endnetent_r_proto" in ''|0) try='void endnetent_r(struct netent_data*);' - ./protochk "extern $try" $hdrs && endnetent_r_proto=V_D ;; + ./protochk "$extern_C $try" $hdrs && endnetent_r_proto=V_D ;; esac case "$endnetent_r_proto" in ''|0) d_endnetent_r=undef @@ -12054,11 +12224,11 @@ case "$d_endprotoent_r" in define) case "$endprotoent_r_proto" in ''|0) try='int endprotoent_r(struct protoent_data*);' - ./protochk "extern $try" $hdrs && endprotoent_r_proto=I_D ;; + ./protochk "$extern_C $try" $hdrs && endprotoent_r_proto=I_D ;; esac case "$endprotoent_r_proto" in ''|0) try='void endprotoent_r(struct protoent_data*);' - ./protochk "extern $try" $hdrs && endprotoent_r_proto=V_D ;; + ./protochk "$extern_C $try" $hdrs && endprotoent_r_proto=V_D ;; esac case "$endprotoent_r_proto" in ''|0) d_endprotoent_r=undef @@ -12191,11 +12361,11 @@ case "$d_endpwent_r" in define) case "$endpwent_r_proto" in ''|0) try='int endpwent_r(FILE**);' - ./protochk "extern $try" $hdrs && endpwent_r_proto=I_H ;; + ./protochk "$extern_C $try" $hdrs && endpwent_r_proto=I_H ;; esac case "$endpwent_r_proto" in ''|0) try='void endpwent_r(FILE**);' - ./protochk "extern $try" $hdrs && endpwent_r_proto=V_H ;; + ./protochk "$extern_C $try" $hdrs && endpwent_r_proto=V_H ;; esac case "$endpwent_r_proto" in ''|0) d_endpwent_r=undef @@ -12240,11 +12410,11 @@ case "$d_endservent_r" in define) case "$endservent_r_proto" in ''|0) try='int endservent_r(struct servent_data*);' - ./protochk "extern $try" $hdrs && endservent_r_proto=I_D ;; + ./protochk "$extern_C $try" $hdrs && endservent_r_proto=I_D ;; esac case "$endservent_r_proto" in ''|0) try='void endservent_r(struct servent_data*);' - ./protochk "extern $try" $hdrs && endservent_r_proto=V_D ;; + ./protochk "$extern_C $try" $hdrs && endservent_r_proto=V_D ;; esac case "$endservent_r_proto" in ''|0) d_endservent_r=undef @@ -12323,46 +12493,6 @@ set d_open3 eval $setvar $rm_try -: script used to emit important warnings -cat >warn <msg -else - cat >msg -fi -echo "*** WARNING:" >&4 -sed -e 's/^/*** /' &4 -echo "*** " >&4 -cat msg >>config.msg -echo " " >>config.msg -rm -f msg -EOS -chmod +x warn -$eunicefix warn - -: see which of string.h or strings.h is needed -echo " " -strings=`./findhdr string.h` -if $test "$strings" && $test -r "$strings"; then - echo "Using instead of ." >&4 - val="$define" -else - val="$undef" - strings=`./findhdr strings.h` - if $test "$strings" && $test -r "$strings"; then - echo "Using instead of ." >&4 - else - ./warn "No string header found -- You'll surely have problems." - fi -fi -set i_string -eval $setvar -case "$i_string" in -"$undef") strings=`./findhdr strings.h`;; -*) strings=`./findhdr string.h`;; -esac - : see if this is a sys/file.h system val='' set sys/file.h val @@ -13246,6 +13376,64 @@ else fi $rm_try +: see if ndbm.h is available +set ndbm.h i_ndbm +eval $inhdr +: Compatibility location for RedHat 7.1 +set gdbm/ndbm.h i_gdbmndbm +eval $inhdr +: Compatibility location for Debian 4.0 +set gdbm-ndbm.h i_gdbm_ndbm +eval $inhdr + +val="$undef" +if $test "$i_ndbm" = "$define" -o "$i_gdbmndbm" = "$define" -o "$i_gdbm_ndbm" = "$define"; then + : see if dbm_open exists + set dbm_open d_dbm_open + eval $inlibc + case "$d_dbm_open" in + $undef) + i_ndbm="$undef" + i_gdbmndbm="$undef" + i_gdbm_ndbm="$undef" + echo "We won't be including " + val="$undef" + ;; + *) val="$define" + ;; + esac +fi +set d_ndbm +eval $setvar + +ndbm_hdr_protochk='name=$1; hdr=$2; +eval "ihdr=\$""i_$name"; +val="$undef"; +if $test "$ihdr" = "$define"; then + $echo "Checking if your <$hdr> uses prototypes..." >&4; + case "$d_cplusplus" in + $define) ./protochk "$extern_C void dbm_close(DBM *);" literal "extern \"C\" {" $ihdr $hdr literal "}" && val="$define" ;; + *) ./protochk "$extern_C void dbm_close(int, int);" $ihdr $hdr || val="$define" ;; + esac; + case "$val" in + $define) $echo "Your <$hdr> seems to have prototypes";; + *) $echo "Your <$hdr> does not seem to have prototypes";; + esac; +fi; +set "d_${name}_h_uses_prototypes"; +eval $setvar' + +set ndbm ndbm.h +eval $ndbm_hdr_protochk +set gdbmndbm gdbm/ndbm.h +eval $ndbm_hdr_protochk +set gdbm_ndbm gdbm-ndbm.h +eval $ndbm_hdr_protochk + +: see if getaddrinfo exists +set getaddrinfo d_getaddrinfo +eval $inlibc + : see if getcwd exists set getcwd d_getcwd eval $inlibc @@ -13278,27 +13466,27 @@ case "$d_getgrent_r" in define) case "$getgrent_r_proto" in ''|0) try='int getgrent_r(struct group*, char*, size_t, struct group**);' - ./protochk "extern $try" $hdrs && getgrent_r_proto=I_SBWR ;; + ./protochk "$extern_C $try" $hdrs && getgrent_r_proto=I_SBWR ;; esac case "$getgrent_r_proto" in ''|0) try='int getgrent_r(struct group*, char*, int, struct group**);' - ./protochk "extern $try" $hdrs && getgrent_r_proto=I_SBIR ;; + ./protochk "$extern_C $try" $hdrs && getgrent_r_proto=I_SBIR ;; esac case "$getgrent_r_proto" in ''|0) try='struct group* getgrent_r(struct group*, char*, size_t);' - ./protochk "extern $try" $hdrs && getgrent_r_proto=S_SBW ;; + ./protochk "$extern_C $try" $hdrs && getgrent_r_proto=S_SBW ;; esac case "$getgrent_r_proto" in ''|0) try='struct group* getgrent_r(struct group*, char*, int);' - ./protochk "extern $try" $hdrs && getgrent_r_proto=S_SBI ;; + ./protochk "$extern_C $try" $hdrs && getgrent_r_proto=S_SBI ;; esac case "$getgrent_r_proto" in ''|0) try='int getgrent_r(struct group*, char*, int);' - ./protochk "extern $try" $hdrs && getgrent_r_proto=I_SBI ;; + ./protochk "$extern_C $try" $hdrs && getgrent_r_proto=I_SBI ;; esac case "$getgrent_r_proto" in ''|0) try='int getgrent_r(struct group*, char*, int, FILE**);' - ./protochk "extern $try" $hdrs && getgrent_r_proto=I_SBIH ;; + ./protochk "$extern_C $try" $hdrs && getgrent_r_proto=I_SBIH ;; esac case "$getgrent_r_proto" in ''|0) d_getgrent_r=undef @@ -13339,19 +13527,19 @@ case "$d_getgrgid_r" in define) case "$getgrgid_r_proto" in ''|0) try='int getgrgid_r(gid_t, struct group*, char*, size_t, struct group**);' - ./protochk "extern $try" $hdrs && getgrgid_r_proto=I_TSBWR ;; + ./protochk "$extern_C $try" $hdrs && getgrgid_r_proto=I_TSBWR ;; esac case "$getgrgid_r_proto" in ''|0) try='int getgrgid_r(gid_t, struct group*, char*, int, struct group**);' - ./protochk "extern $try" $hdrs && getgrgid_r_proto=I_TSBIR ;; + ./protochk "$extern_C $try" $hdrs && getgrgid_r_proto=I_TSBIR ;; esac case "$getgrgid_r_proto" in ''|0) try='int getgrgid_r(gid_t, struct group*, char*, int);' - ./protochk "extern $try" $hdrs && getgrgid_r_proto=I_TSBI ;; + ./protochk "$extern_C $try" $hdrs && getgrgid_r_proto=I_TSBI ;; esac case "$getgrgid_r_proto" in ''|0) try='struct group* getgrgid_r(gid_t, struct group*, char*, int);' - ./protochk "extern $try" $hdrs && getgrgid_r_proto=S_TSBI ;; + ./protochk "$extern_C $try" $hdrs && getgrgid_r_proto=S_TSBI ;; esac case "$getgrgid_r_proto" in ''|0) d_getgrgid_r=undef @@ -13392,23 +13580,23 @@ case "$d_getgrnam_r" in define) case "$getgrnam_r_proto" in ''|0) try='int getgrnam_r(const char*, struct group*, char*, size_t, struct group**);' - ./protochk "extern $try" $hdrs && getgrnam_r_proto=I_CSBWR ;; + ./protochk "$extern_C $try" $hdrs && getgrnam_r_proto=I_CSBWR ;; esac case "$getgrnam_r_proto" in ''|0) try='int getgrnam_r(const char*, struct group*, char*, int, struct group**);' - ./protochk "extern $try" $hdrs && getgrnam_r_proto=I_CSBIR ;; + ./protochk "$extern_C $try" $hdrs && getgrnam_r_proto=I_CSBIR ;; esac case "$getgrnam_r_proto" in ''|0) try='struct group* getgrnam_r(const char*, char*, int);' - ./protochk "extern $try" $hdrs && getgrnam_r_proto=S_CBI ;; + ./protochk "$extern_C $try" $hdrs && getgrnam_r_proto=S_CBI ;; esac case "$getgrnam_r_proto" in ''|0) try='int getgrnam_r(const char*, struct group*, char*, int);' - ./protochk "extern $try" $hdrs && getgrnam_r_proto=I_CSBI ;; + ./protochk "$extern_C $try" $hdrs && getgrnam_r_proto=I_CSBI ;; esac case "$getgrnam_r_proto" in ''|0) try='struct group* getgrnam_r(const char*, struct group*, char*, int);' - ./protochk "extern $try" $hdrs && getgrnam_r_proto=S_CSBI ;; + ./protochk "$extern_C $try" $hdrs && getgrnam_r_proto=S_CSBI ;; esac case "$getgrnam_r_proto" in ''|0) d_getgrnam_r=undef @@ -13546,47 +13734,47 @@ case "$d_gethostbyaddr_r" in define) case "$gethostbyaddr_r_proto" in ''|0) try='int gethostbyaddr_r(const char*, size_t, int, struct hostent*, char*, size_t, struct hostent**, int*);' - ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=I_CWISBWRE ;; + ./protochk "$extern_C $try" $hdrs && gethostbyaddr_r_proto=I_CWISBWRE ;; esac case "$gethostbyaddr_r_proto" in ''|0) try='struct hostent* gethostbyaddr_r(const char*, size_t, int, struct hostent*, char*, size_t, int, int*);' - ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=S_CWISBWIE ;; + ./protochk "$extern_C $try" $hdrs && gethostbyaddr_r_proto=S_CWISBWIE ;; esac case "$gethostbyaddr_r_proto" in ''|0) try='struct hostent* gethostbyaddr_r(const char*, size_t, int, struct hostent*, char*, int, int*);' - ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=S_CWISBIE ;; + ./protochk "$extern_C $try" $hdrs && gethostbyaddr_r_proto=S_CWISBIE ;; esac case "$gethostbyaddr_r_proto" in ''|0) try='struct hostent* gethostbyaddr_r(const void*, size_t, int, struct hostent*, char*, int, int*);' - ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=S_TWISBIE ;; + ./protochk "$extern_C $try" $hdrs && gethostbyaddr_r_proto=S_TWISBIE ;; esac case "$gethostbyaddr_r_proto" in ''|0) try='struct hostent* gethostbyaddr_r(const char*, int, int, struct hostent*, char*, int, int*);' - ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=S_CIISBIE ;; + ./protochk "$extern_C $try" $hdrs && gethostbyaddr_r_proto=S_CIISBIE ;; esac case "$gethostbyaddr_r_proto" in ''|0) try='struct hostent* gethostbyaddr_r(const char*, struct hostent*, char*, int, int*);' - ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=S_CSBIE ;; + ./protochk "$extern_C $try" $hdrs && gethostbyaddr_r_proto=S_CSBIE ;; esac case "$gethostbyaddr_r_proto" in ''|0) try='struct hostent* gethostbyaddr_r(const void*, struct hostent*, char*, int, int*);' - ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=S_TSBIE ;; + ./protochk "$extern_C $try" $hdrs && gethostbyaddr_r_proto=S_TSBIE ;; esac case "$gethostbyaddr_r_proto" in ''|0) try='int gethostbyaddr_r(const char*, size_t, int, struct hostent*, struct hostent_data*);' - ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=I_CWISD ;; + ./protochk "$extern_C $try" $hdrs && gethostbyaddr_r_proto=I_CWISD ;; esac case "$gethostbyaddr_r_proto" in ''|0) try='int gethostbyaddr_r(const char*, int, int, struct hostent*, struct hostent_data*);' - ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=I_CIISD ;; + ./protochk "$extern_C $try" $hdrs && gethostbyaddr_r_proto=I_CIISD ;; esac case "$gethostbyaddr_r_proto" in ''|0) try='int gethostbyaddr_r(const char*, int, int);' - ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=I_CII ;; + ./protochk "$extern_C $try" $hdrs && gethostbyaddr_r_proto=I_CII ;; esac case "$gethostbyaddr_r_proto" in ''|0) try='int gethostbyaddr_r(const void*, socklen_t, int, struct hostent*, char*, size_t, struct hostent**, int*);' - ./protochk "extern $try" $hdrs && gethostbyaddr_r_proto=I_TsISBWRE ;; + ./protochk "$extern_C $try" $hdrs && gethostbyaddr_r_proto=I_TsISBWRE ;; esac case "$gethostbyaddr_r_proto" in ''|0) d_gethostbyaddr_r=undef @@ -13627,15 +13815,15 @@ case "$d_gethostbyname_r" in define) case "$gethostbyname_r_proto" in ''|0) try='int gethostbyname_r(const char*, struct hostent*, char*, size_t, struct hostent**, int*);' - ./protochk "extern $try" $hdrs && gethostbyname_r_proto=I_CSBWRE ;; + ./protochk "$extern_C $try" $hdrs && gethostbyname_r_proto=I_CSBWRE ;; esac case "$gethostbyname_r_proto" in ''|0) try='struct hostent* gethostbyname_r(const char*, struct hostent*, char*, int, int*);' - ./protochk "extern $try" $hdrs && gethostbyname_r_proto=S_CSBIE ;; + ./protochk "$extern_C $try" $hdrs && gethostbyname_r_proto=S_CSBIE ;; esac case "$gethostbyname_r_proto" in ''|0) try='int gethostbyname_r(const char*, struct hostent*, struct hostent_data*);' - ./protochk "extern $try" $hdrs && gethostbyname_r_proto=I_CSD ;; + ./protochk "$extern_C $try" $hdrs && gethostbyname_r_proto=I_CSD ;; esac case "$gethostbyname_r_proto" in ''|0) d_gethostbyname_r=undef @@ -13676,27 +13864,27 @@ case "$d_gethostent_r" in define) case "$gethostent_r_proto" in ''|0) try='int gethostent_r(struct hostent*, char*, size_t, struct hostent**, int*);' - ./protochk "extern $try" $hdrs && gethostent_r_proto=I_SBWRE ;; + ./protochk "$extern_C $try" $hdrs && gethostent_r_proto=I_SBWRE ;; esac case "$gethostent_r_proto" in ''|0) try='int gethostent_r(struct hostent*, char*, int, int*);' - ./protochk "extern $try" $hdrs && gethostent_r_proto=I_SBIE ;; + ./protochk "$extern_C $try" $hdrs && gethostent_r_proto=I_SBIE ;; esac case "$gethostent_r_proto" in ''|0) try='struct hostent* gethostent_r(struct hostent*, char*, int, int*);' - ./protochk "extern $try" $hdrs && gethostent_r_proto=S_SBIE ;; + ./protochk "$extern_C $try" $hdrs && gethostent_r_proto=S_SBIE ;; esac case "$gethostent_r_proto" in ''|0) try='struct hostent* gethostent_r(struct hostent*, char*, int);' - ./protochk "extern $try" $hdrs && gethostent_r_proto=S_SBI ;; + ./protochk "$extern_C $try" $hdrs && gethostent_r_proto=S_SBI ;; esac case "$gethostent_r_proto" in ''|0) try='int gethostent_r(struct hostent*, char*, int);' - ./protochk "extern $try" $hdrs && gethostent_r_proto=I_SBI ;; + ./protochk "$extern_C $try" $hdrs && gethostent_r_proto=I_SBI ;; esac case "$gethostent_r_proto" in ''|0) try='int gethostent_r(struct hostent*, struct hostent_data*);' - ./protochk "extern $try" $hdrs && gethostent_r_proto=I_SD ;; + ./protochk "$extern_C $try" $hdrs && gethostent_r_proto=I_SD ;; esac case "$gethostent_r_proto" in ''|0) d_gethostent_r=undef @@ -13750,19 +13938,19 @@ case "$d_getlogin_r" in define) case "$getlogin_r_proto" in ''|0) try='int getlogin_r(char*, size_t);' - ./protochk "extern $try" $hdrs && getlogin_r_proto=I_BW ;; + ./protochk "$extern_C $try" $hdrs && getlogin_r_proto=I_BW ;; esac case "$getlogin_r_proto" in ''|0) try='int getlogin_r(char*, int);' - ./protochk "extern $try" $hdrs && getlogin_r_proto=I_BI ;; + ./protochk "$extern_C $try" $hdrs && getlogin_r_proto=I_BI ;; esac case "$getlogin_r_proto" in ''|0) try='char* getlogin_r(char*, size_t);' - ./protochk "extern $try" $hdrs && getlogin_r_proto=B_BW ;; + ./protochk "$extern_C $try" $hdrs && getlogin_r_proto=B_BW ;; esac case "$getlogin_r_proto" in ''|0) try='char* getlogin_r(char*, int);' - ./protochk "extern $try" $hdrs && getlogin_r_proto=B_BI ;; + ./protochk "$extern_C $try" $hdrs && getlogin_r_proto=B_BI ;; esac case "$getlogin_r_proto" in ''|0) d_getlogin_r=undef @@ -13795,6 +13983,10 @@ eval $inlibc set getmntent d_getmntent eval $inlibc +: see if getnameinfo exists +set getnameinfo d_getnameinfo +eval $inlibc + : see if getnetbyaddr exists set getnetbyaddr d_getnbyaddr eval $inlibc @@ -13823,35 +14015,35 @@ case "$d_getnetbyaddr_r" in define) case "$getnetbyaddr_r_proto" in ''|0) try='int getnetbyaddr_r(unsigned long, int, struct netent*, char*, size_t, struct netent**, int*);' - ./protochk "extern $try" $hdrs && getnetbyaddr_r_proto=I_UISBWRE ;; + ./protochk "$extern_C $try" $hdrs && getnetbyaddr_r_proto=I_UISBWRE ;; esac case "$getnetbyaddr_r_proto" in ''|0) try='int getnetbyaddr_r(long, int, struct netent*, char*, int);' - ./protochk "extern $try" $hdrs && getnetbyaddr_r_proto=I_LISBI ;; + ./protochk "$extern_C $try" $hdrs && getnetbyaddr_r_proto=I_LISBI ;; esac case "$getnetbyaddr_r_proto" in ''|0) try='struct netent* getnetbyaddr_r(in_addr_t, int, struct netent*, char*, int);' - ./protochk "extern $try" $hdrs && getnetbyaddr_r_proto=S_TISBI ;; + ./protochk "$extern_C $try" $hdrs && getnetbyaddr_r_proto=S_TISBI ;; esac case "$getnetbyaddr_r_proto" in ''|0) try='struct netent* getnetbyaddr_r(long, int, struct netent*, char*, int);' - ./protochk "extern $try" $hdrs && getnetbyaddr_r_proto=S_LISBI ;; + ./protochk "$extern_C $try" $hdrs && getnetbyaddr_r_proto=S_LISBI ;; esac case "$getnetbyaddr_r_proto" in ''|0) try='int getnetbyaddr_r(in_addr_t, int, struct netent*, struct netent_data*);' - ./protochk "extern $try" $hdrs && getnetbyaddr_r_proto=I_TISD ;; + ./protochk "$extern_C $try" $hdrs && getnetbyaddr_r_proto=I_TISD ;; esac case "$getnetbyaddr_r_proto" in ''|0) try='int getnetbyaddr_r(long, int, struct netent*, struct netent_data*);' - ./protochk "extern $try" $hdrs && getnetbyaddr_r_proto=I_LISD ;; + ./protochk "$extern_C $try" $hdrs && getnetbyaddr_r_proto=I_LISD ;; esac case "$getnetbyaddr_r_proto" in ''|0) try='int getnetbyaddr_r(int, int, struct netent*, struct netent_data*);' - ./protochk "extern $try" $hdrs && getnetbyaddr_r_proto=I_IISD ;; + ./protochk "$extern_C $try" $hdrs && getnetbyaddr_r_proto=I_IISD ;; esac case "$getnetbyaddr_r_proto" in ''|0) try='int getnetbyaddr_r(uint32_t, int, struct netent*, char*, size_t, struct netent**, int*);' - ./protochk "extern $try" $hdrs && getnetbyaddr_r_proto=I_uISBWRE ;; + ./protochk "$extern_C $try" $hdrs && getnetbyaddr_r_proto=I_uISBWRE ;; esac case "$getnetbyaddr_r_proto" in ''|0) d_getnetbyaddr_r=undef @@ -13892,19 +14084,19 @@ case "$d_getnetbyname_r" in define) case "$getnetbyname_r_proto" in ''|0) try='int getnetbyname_r(const char*, struct netent*, char*, size_t, struct netent**, int*);' - ./protochk "extern $try" $hdrs && getnetbyname_r_proto=I_CSBWRE ;; + ./protochk "$extern_C $try" $hdrs && getnetbyname_r_proto=I_CSBWRE ;; esac case "$getnetbyname_r_proto" in ''|0) try='int getnetbyname_r(const char*, struct netent*, char*, int);' - ./protochk "extern $try" $hdrs && getnetbyname_r_proto=I_CSBI ;; + ./protochk "$extern_C $try" $hdrs && getnetbyname_r_proto=I_CSBI ;; esac case "$getnetbyname_r_proto" in ''|0) try='struct netent* getnetbyname_r(const char*, struct netent*, char*, int);' - ./protochk "extern $try" $hdrs && getnetbyname_r_proto=S_CSBI ;; + ./protochk "$extern_C $try" $hdrs && getnetbyname_r_proto=S_CSBI ;; esac case "$getnetbyname_r_proto" in ''|0) try='int getnetbyname_r(const char*, struct netent*, struct netent_data*);' - ./protochk "extern $try" $hdrs && getnetbyname_r_proto=I_CSD ;; + ./protochk "$extern_C $try" $hdrs && getnetbyname_r_proto=I_CSD ;; esac case "$getnetbyname_r_proto" in ''|0) d_getnetbyname_r=undef @@ -13945,27 +14137,27 @@ case "$d_getnetent_r" in define) case "$getnetent_r_proto" in ''|0) try='int getnetent_r(struct netent*, char*, size_t, struct netent**, int*);' - ./protochk "extern $try" $hdrs && getnetent_r_proto=I_SBWRE ;; + ./protochk "$extern_C $try" $hdrs && getnetent_r_proto=I_SBWRE ;; esac case "$getnetent_r_proto" in ''|0) try='int getnetent_r(struct netent*, char*, int, int*);' - ./protochk "extern $try" $hdrs && getnetent_r_proto=I_SBIE ;; + ./protochk "$extern_C $try" $hdrs && getnetent_r_proto=I_SBIE ;; esac case "$getnetent_r_proto" in ''|0) try='struct netent* getnetent_r(struct netent*, char*, int, int*);' - ./protochk "extern $try" $hdrs && getnetent_r_proto=S_SBIE ;; + ./protochk "$extern_C $try" $hdrs && getnetent_r_proto=S_SBIE ;; esac case "$getnetent_r_proto" in ''|0) try='struct netent* getnetent_r(struct netent*, char*, int);' - ./protochk "extern $try" $hdrs && getnetent_r_proto=S_SBI ;; + ./protochk "$extern_C $try" $hdrs && getnetent_r_proto=S_SBI ;; esac case "$getnetent_r_proto" in ''|0) try='int getnetent_r(struct netent*, char*, int);' - ./protochk "extern $try" $hdrs && getnetent_r_proto=I_SBI ;; + ./protochk "$extern_C $try" $hdrs && getnetent_r_proto=I_SBI ;; esac case "$getnetent_r_proto" in ''|0) try='int getnetent_r(struct netent*, struct netent_data*);' - ./protochk "extern $try" $hdrs && getnetent_r_proto=I_SD ;; + ./protochk "$extern_C $try" $hdrs && getnetent_r_proto=I_SD ;; esac case "$getnetent_r_proto" in ''|0) d_getnetent_r=undef @@ -14045,15 +14237,15 @@ case "$d_getprotobyname_r" in define) case "$getprotobyname_r_proto" in ''|0) try='int getprotobyname_r(const char*, struct protoent*, char*, size_t, struct protoent**);' - ./protochk "extern $try" $hdrs && getprotobyname_r_proto=I_CSBWR ;; + ./protochk "$extern_C $try" $hdrs && getprotobyname_r_proto=I_CSBWR ;; esac case "$getprotobyname_r_proto" in ''|0) try='struct protoent* getprotobyname_r(const char*, struct protoent*, char*, int);' - ./protochk "extern $try" $hdrs && getprotobyname_r_proto=S_CSBI ;; + ./protochk "$extern_C $try" $hdrs && getprotobyname_r_proto=S_CSBI ;; esac case "$getprotobyname_r_proto" in ''|0) try='int getprotobyname_r(const char*, struct protoent*, struct protoent_data*);' - ./protochk "extern $try" $hdrs && getprotobyname_r_proto=I_CSD ;; + ./protochk "$extern_C $try" $hdrs && getprotobyname_r_proto=I_CSD ;; esac case "$getprotobyname_r_proto" in ''|0) d_getprotobyname_r=undef @@ -14094,15 +14286,15 @@ case "$d_getprotobynumber_r" in define) case "$getprotobynumber_r_proto" in ''|0) try='int getprotobynumber_r(int, struct protoent*, char*, size_t, struct protoent**);' - ./protochk "extern $try" $hdrs && getprotobynumber_r_proto=I_ISBWR ;; + ./protochk "$extern_C $try" $hdrs && getprotobynumber_r_proto=I_ISBWR ;; esac case "$getprotobynumber_r_proto" in ''|0) try='struct protoent* getprotobynumber_r(int, struct protoent*, char*, int);' - ./protochk "extern $try" $hdrs && getprotobynumber_r_proto=S_ISBI ;; + ./protochk "$extern_C $try" $hdrs && getprotobynumber_r_proto=S_ISBI ;; esac case "$getprotobynumber_r_proto" in ''|0) try='int getprotobynumber_r(int, struct protoent*, struct protoent_data*);' - ./protochk "extern $try" $hdrs && getprotobynumber_r_proto=I_ISD ;; + ./protochk "$extern_C $try" $hdrs && getprotobynumber_r_proto=I_ISD ;; esac case "$getprotobynumber_r_proto" in ''|0) d_getprotobynumber_r=undef @@ -14143,19 +14335,19 @@ case "$d_getprotoent_r" in define) case "$getprotoent_r_proto" in ''|0) try='int getprotoent_r(struct protoent*, char*, size_t, struct protoent**);' - ./protochk "extern $try" $hdrs && getprotoent_r_proto=I_SBWR ;; + ./protochk "$extern_C $try" $hdrs && getprotoent_r_proto=I_SBWR ;; esac case "$getprotoent_r_proto" in ''|0) try='int getprotoent_r(struct protoent*, char*, int);' - ./protochk "extern $try" $hdrs && getprotoent_r_proto=I_SBI ;; + ./protochk "$extern_C $try" $hdrs && getprotoent_r_proto=I_SBI ;; esac case "$getprotoent_r_proto" in ''|0) try='struct protoent* getprotoent_r(struct protoent*, char*, int);' - ./protochk "extern $try" $hdrs && getprotoent_r_proto=S_SBI ;; + ./protochk "$extern_C $try" $hdrs && getprotoent_r_proto=S_SBI ;; esac case "$getprotoent_r_proto" in ''|0) try='int getprotoent_r(struct protoent*, struct protoent_data*);' - ./protochk "extern $try" $hdrs && getprotoent_r_proto=I_SD ;; + ./protochk "$extern_C $try" $hdrs && getprotoent_r_proto=I_SD ;; esac case "$getprotoent_r_proto" in ''|0) d_getprotoent_r=undef @@ -14209,27 +14401,27 @@ case "$d_getpwent_r" in define) case "$getpwent_r_proto" in ''|0) try='int getpwent_r(struct passwd*, char*, size_t, struct passwd**);' - ./protochk "extern $try" $hdrs && getpwent_r_proto=I_SBWR ;; + ./protochk "$extern_C $try" $hdrs && getpwent_r_proto=I_SBWR ;; esac case "$getpwent_r_proto" in ''|0) try='int getpwent_r(struct passwd*, char*, int, struct passwd**);' - ./protochk "extern $try" $hdrs && getpwent_r_proto=I_SBIR ;; + ./protochk "$extern_C $try" $hdrs && getpwent_r_proto=I_SBIR ;; esac case "$getpwent_r_proto" in ''|0) try='struct passwd* getpwent_r(struct passwd*, char*, size_t);' - ./protochk "extern $try" $hdrs && getpwent_r_proto=S_SBW ;; + ./protochk "$extern_C $try" $hdrs && getpwent_r_proto=S_SBW ;; esac case "$getpwent_r_proto" in ''|0) try='struct passwd* getpwent_r(struct passwd*, char*, int);' - ./protochk "extern $try" $hdrs && getpwent_r_proto=S_SBI ;; + ./protochk "$extern_C $try" $hdrs && getpwent_r_proto=S_SBI ;; esac case "$getpwent_r_proto" in ''|0) try='int getpwent_r(struct passwd*, char*, int);' - ./protochk "extern $try" $hdrs && getpwent_r_proto=I_SBI ;; + ./protochk "$extern_C $try" $hdrs && getpwent_r_proto=I_SBI ;; esac case "$getpwent_r_proto" in ''|0) try='int getpwent_r(struct passwd*, char*, int, FILE**);' - ./protochk "extern $try" $hdrs && getpwent_r_proto=I_SBIH ;; + ./protochk "$extern_C $try" $hdrs && getpwent_r_proto=I_SBIH ;; esac case "$getpwent_r_proto" in ''|0) d_getpwent_r=undef @@ -14270,19 +14462,19 @@ case "$d_getpwnam_r" in define) case "$getpwnam_r_proto" in ''|0) try='int getpwnam_r(const char*, struct passwd*, char*, size_t, struct passwd**);' - ./protochk "extern $try" $hdrs && getpwnam_r_proto=I_CSBWR ;; + ./protochk "$extern_C $try" $hdrs && getpwnam_r_proto=I_CSBWR ;; esac case "$getpwnam_r_proto" in ''|0) try='int getpwnam_r(const char*, struct passwd*, char*, int, struct passwd**);' - ./protochk "extern $try" $hdrs && getpwnam_r_proto=I_CSBIR ;; + ./protochk "$extern_C $try" $hdrs && getpwnam_r_proto=I_CSBIR ;; esac case "$getpwnam_r_proto" in ''|0) try='struct passwd* getpwnam_r(const char*, struct passwd*, char*, int);' - ./protochk "extern $try" $hdrs && getpwnam_r_proto=S_CSBI ;; + ./protochk "$extern_C $try" $hdrs && getpwnam_r_proto=S_CSBI ;; esac case "$getpwnam_r_proto" in ''|0) try='int getpwnam_r(const char*, struct passwd*, char*, int);' - ./protochk "extern $try" $hdrs && getpwnam_r_proto=I_CSBI ;; + ./protochk "$extern_C $try" $hdrs && getpwnam_r_proto=I_CSBI ;; esac case "$getpwnam_r_proto" in ''|0) d_getpwnam_r=undef @@ -14323,19 +14515,19 @@ case "$d_getpwuid_r" in define) case "$getpwuid_r_proto" in ''|0) try='int getpwuid_r(uid_t, struct passwd*, char*, size_t, struct passwd**);' - ./protochk "extern $try" $hdrs && getpwuid_r_proto=I_TSBWR ;; + ./protochk "$extern_C $try" $hdrs && getpwuid_r_proto=I_TSBWR ;; esac case "$getpwuid_r_proto" in ''|0) try='int getpwuid_r(uid_t, struct passwd*, char*, int, struct passwd**);' - ./protochk "extern $try" $hdrs && getpwuid_r_proto=I_TSBIR ;; + ./protochk "$extern_C $try" $hdrs && getpwuid_r_proto=I_TSBIR ;; esac case "$getpwuid_r_proto" in ''|0) try='int getpwuid_r(uid_t, struct passwd*, char*, int);' - ./protochk "extern $try" $hdrs && getpwuid_r_proto=I_TSBI ;; + ./protochk "$extern_C $try" $hdrs && getpwuid_r_proto=I_TSBI ;; esac case "$getpwuid_r_proto" in ''|0) try='struct passwd* getpwuid_r(uid_t, struct passwd*, char*, int);' - ./protochk "extern $try" $hdrs && getpwuid_r_proto=S_TSBI ;; + ./protochk "$extern_C $try" $hdrs && getpwuid_r_proto=S_TSBI ;; esac case "$getpwuid_r_proto" in ''|0) d_getpwuid_r=undef @@ -14390,15 +14582,15 @@ case "$d_getservbyname_r" in define) case "$getservbyname_r_proto" in ''|0) try='int getservbyname_r(const char*, const char*, struct servent*, char*, size_t, struct servent**);' - ./protochk "extern $try" $hdrs && getservbyname_r_proto=I_CCSBWR ;; + ./protochk "$extern_C $try" $hdrs && getservbyname_r_proto=I_CCSBWR ;; esac case "$getservbyname_r_proto" in ''|0) try='struct servent* getservbyname_r(const char*, const char*, struct servent*, char*, int);' - ./protochk "extern $try" $hdrs && getservbyname_r_proto=S_CCSBI ;; + ./protochk "$extern_C $try" $hdrs && getservbyname_r_proto=S_CCSBI ;; esac case "$getservbyname_r_proto" in ''|0) try='int getservbyname_r(const char*, const char*, struct servent*, struct servent_data*);' - ./protochk "extern $try" $hdrs && getservbyname_r_proto=I_CCSD ;; + ./protochk "$extern_C $try" $hdrs && getservbyname_r_proto=I_CCSD ;; esac case "$getservbyname_r_proto" in ''|0) d_getservbyname_r=undef @@ -14439,15 +14631,15 @@ case "$d_getservbyport_r" in define) case "$getservbyport_r_proto" in ''|0) try='int getservbyport_r(int, const char*, struct servent*, char*, size_t, struct servent**);' - ./protochk "extern $try" $hdrs && getservbyport_r_proto=I_ICSBWR ;; + ./protochk "$extern_C $try" $hdrs && getservbyport_r_proto=I_ICSBWR ;; esac case "$getservbyport_r_proto" in ''|0) try='struct servent* getservbyport_r(int, const char*, struct servent*, char*, int);' - ./protochk "extern $try" $hdrs && getservbyport_r_proto=S_ICSBI ;; + ./protochk "$extern_C $try" $hdrs && getservbyport_r_proto=S_ICSBI ;; esac case "$getservbyport_r_proto" in ''|0) try='int getservbyport_r(int, const char*, struct servent*, struct servent_data*);' - ./protochk "extern $try" $hdrs && getservbyport_r_proto=I_ICSD ;; + ./protochk "$extern_C $try" $hdrs && getservbyport_r_proto=I_ICSD ;; esac case "$getservbyport_r_proto" in ''|0) d_getservbyport_r=undef @@ -14488,19 +14680,19 @@ case "$d_getservent_r" in define) case "$getservent_r_proto" in ''|0) try='int getservent_r(struct servent*, char*, size_t, struct servent**);' - ./protochk "extern $try" $hdrs && getservent_r_proto=I_SBWR ;; + ./protochk "$extern_C $try" $hdrs && getservent_r_proto=I_SBWR ;; esac case "$getservent_r_proto" in ''|0) try='int getservent_r(struct servent*, char*, int);' - ./protochk "extern $try" $hdrs && getservent_r_proto=I_SBI ;; + ./protochk "$extern_C $try" $hdrs && getservent_r_proto=I_SBI ;; esac case "$getservent_r_proto" in ''|0) try='struct servent* getservent_r(struct servent*, char*, int);' - ./protochk "extern $try" $hdrs && getservent_r_proto=S_SBI ;; + ./protochk "$extern_C $try" $hdrs && getservent_r_proto=S_SBI ;; esac case "$getservent_r_proto" in ''|0) try='int getservent_r(struct servent*, struct servent_data*);' - ./protochk "extern $try" $hdrs && getservent_r_proto=I_SD ;; + ./protochk "$extern_C $try" $hdrs && getservent_r_proto=I_SD ;; esac case "$getservent_r_proto" in ''|0) d_getservent_r=undef @@ -14554,11 +14746,11 @@ case "$d_getspnam_r" in define) case "$getspnam_r_proto" in ''|0) try='int getspnam_r(const char*, struct spwd*, char*, size_t, struct spwd**);' - ./protochk "extern $try" $hdrs && getspnam_r_proto=I_CSBWR ;; + ./protochk "$extern_C $try" $hdrs && getspnam_r_proto=I_CSBWR ;; esac case "$getspnam_r_proto" in ''|0) try='struct spwd* getspnam_r(const char*, struct spwd*, char*, int);' - ./protochk "extern $try" $hdrs && getspnam_r_proto=S_CSBI ;; + ./protochk "$extern_C $try" $hdrs && getspnam_r_proto=S_CSBI ;; esac case "$getspnam_r_proto" in ''|0) d_getspnam_r=undef @@ -14618,11 +14810,11 @@ case "$d_gmtime_r" in define) case "$gmtime_r_proto" in ''|0) try='struct tm* gmtime_r(const time_t*, struct tm*);' - ./protochk "extern $try" $hdrs && gmtime_r_proto=S_TS ;; + ./protochk "$extern_C $try" $hdrs && gmtime_r_proto=S_TS ;; esac case "$gmtime_r_proto" in ''|0) try='int gmtime_r(const time_t*, struct tm*);' - ./protochk "extern $try" $hdrs && gmtime_r_proto=I_TS ;; + ./protochk "$extern_C $try" $hdrs && gmtime_r_proto=I_TS ;; esac case "$gmtime_r_proto" in ''|0) d_gmtime_r=undef @@ -14738,6 +14930,14 @@ set d_index; eval $setvar set inet_aton d_inetaton eval $inlibc +: see if inet_ntop exists +set inet_ntop d_inetntop +eval $inlibc + +: see if inet_pton exists +set inet_pton d_inetpton +eval $inlibc + : Look for isascii echo " " $cat >isascii.c < -#include -#include -#include -#include +#$i_systypes I_SYS_TYPES +#$i_unistd I_UNISTD +#$i_time I_TIME +#$i_stdlib I_STDLIB +#$i_string I_STRING +#$i_malloc I_MALLOC +#ifdef I_SYS_TYPES +# include +#endif +#ifdef I_UNISTD +# include +#endif +#ifdef I_TIME +# include +#endif +#ifdef I_STDLIB +#include +#endif +#ifdef I_STRING +# include +#else +# include +#endif +#ifdef I_MALLOC +# include +#endif int main() { time_t t = time(0L); @@ -15830,6 +16051,31 @@ eval $inlibc set poll d_poll eval $inlibc +: see if prctl exists +set prctl d_prctl +eval $inlibc + +: see if prctl supports PR_SET_NAME +d_prctl_set_name=$undef +case $d_prctl in + $define) + $cat >try.c < + +int main (int argc, char *argv[]) +{ + return (prctl (PR_SET_NAME, "Test")); + } /* main */ +EOM + set try + if eval $compile_ok && $run ./try; then + echo "Your prctl (PR_SET_NAME, ...) works" + d_prctl_set_name=$define + fi + $rm_try + ;; + esac + : see if readlink exists set readlink d_readlink eval $inlibc @@ -16027,15 +16273,15 @@ case "$d_random_r" in define) case "$random_r_proto" in ''|0) try='int random_r(int*, struct random_data*);' - ./protochk "extern $try" $hdrs && random_r_proto=I_iS ;; + ./protochk "$extern_C $try" $hdrs && random_r_proto=I_iS ;; esac case "$random_r_proto" in ''|0) try='int random_r(long*, struct random_data*);' - ./protochk "extern $try" $hdrs && random_r_proto=I_lS ;; + ./protochk "$extern_C $try" $hdrs && random_r_proto=I_lS ;; esac case "$random_r_proto" in ''|0) try='int random_r(struct random_data*, int32_t*);' - ./protochk "extern $try" $hdrs && random_r_proto=I_St ;; + ./protochk "$extern_C $try" $hdrs && random_r_proto=I_St ;; esac case "$random_r_proto" in ''|0) d_random_r=undef @@ -16086,11 +16332,11 @@ case "$d_readdir64_r" in define) case "$readdir64_r_proto" in ''|0) try='int readdir64_r(DIR*, struct dirent64*, struct dirent64**);' - ./protochk "extern $try" $hdrs && readdir64_r_proto=I_TSR ;; + ./protochk "$extern_C $try" $hdrs && readdir64_r_proto=I_TSR ;; esac case "$readdir64_r_proto" in ''|0) try='int readdir64_r(DIR*, struct dirent64*);' - ./protochk "extern $try" $hdrs && readdir64_r_proto=I_TS ;; + ./protochk "$extern_C $try" $hdrs && readdir64_r_proto=I_TS ;; esac case "$readdir64_r_proto" in ''|0) d_readdir64_r=undef @@ -16131,11 +16377,11 @@ case "$d_readdir_r" in define) case "$readdir_r_proto" in ''|0) try='int readdir_r(DIR*, struct dirent*, struct dirent**);' - ./protochk "extern $try" $hdrs && readdir_r_proto=I_TSR ;; + ./protochk "$extern_C $try" $hdrs && readdir_r_proto=I_TSR ;; esac case "$readdir_r_proto" in ''|0) try='int readdir_r(DIR*, struct dirent*);' - ./protochk "extern $try" $hdrs && readdir_r_proto=I_TS ;; + ./protochk "$extern_C $try" $hdrs && readdir_r_proto=I_TS ;; esac case "$readdir_r_proto" in ''|0) d_readdir_r=undef @@ -16687,11 +16933,11 @@ case "$d_setgrent_r" in define) case "$setgrent_r_proto" in ''|0) try='int setgrent_r(FILE**);' - ./protochk "extern $try" $hdrs && setgrent_r_proto=I_H ;; + ./protochk "$extern_C $try" $hdrs && setgrent_r_proto=I_H ;; esac case "$setgrent_r_proto" in ''|0) try='void setgrent_r(FILE**);' - ./protochk "extern $try" $hdrs && setgrent_r_proto=V_H ;; + ./protochk "$extern_C $try" $hdrs && setgrent_r_proto=V_H ;; esac case "$setgrent_r_proto" in ''|0) d_setgrent_r=undef @@ -16736,11 +16982,11 @@ case "$d_sethostent_r" in define) case "$sethostent_r_proto" in ''|0) try='int sethostent_r(int, struct hostent_data*);' - ./protochk "extern $try" $hdrs && sethostent_r_proto=I_ID ;; + ./protochk "$extern_C $try" $hdrs && sethostent_r_proto=I_ID ;; esac case "$sethostent_r_proto" in ''|0) try='void sethostent_r(int, struct hostent_data*);' - ./protochk "extern $try" $hdrs && sethostent_r_proto=V_ID ;; + ./protochk "$extern_C $try" $hdrs && sethostent_r_proto=V_ID ;; esac case "$sethostent_r_proto" in ''|0) d_sethostent_r=undef @@ -16797,7 +17043,7 @@ case "$d_setlocale_r" in define) case "$setlocale_r_proto" in ''|0) try='int setlocale_r(int, const char*, char*, int);' - ./protochk "extern $try" $hdrs && setlocale_r_proto=I_ICBI ;; + ./protochk "$extern_C $try" $hdrs && setlocale_r_proto=I_ICBI ;; esac case "$setlocale_r_proto" in ''|0) d_setlocale_r=undef @@ -16842,11 +17088,11 @@ case "$d_setnetent_r" in define) case "$setnetent_r_proto" in ''|0) try='int setnetent_r(int, struct netent_data*);' - ./protochk "extern $try" $hdrs && setnetent_r_proto=I_ID ;; + ./protochk "$extern_C $try" $hdrs && setnetent_r_proto=I_ID ;; esac case "$setnetent_r_proto" in ''|0) try='void setnetent_r(int, struct netent_data*);' - ./protochk "extern $try" $hdrs && setnetent_r_proto=V_ID ;; + ./protochk "$extern_C $try" $hdrs && setnetent_r_proto=V_ID ;; esac case "$setnetent_r_proto" in ''|0) d_setnetent_r=undef @@ -16907,11 +17153,11 @@ case "$d_setprotoent_r" in define) case "$setprotoent_r_proto" in ''|0) try='int setprotoent_r(int, struct protoent_data*);' - ./protochk "extern $try" $hdrs && setprotoent_r_proto=I_ID ;; + ./protochk "$extern_C $try" $hdrs && setprotoent_r_proto=I_ID ;; esac case "$setprotoent_r_proto" in ''|0) try='void setprotoent_r(int, struct protoent_data*);' - ./protochk "extern $try" $hdrs && setprotoent_r_proto=V_ID ;; + ./protochk "$extern_C $try" $hdrs && setprotoent_r_proto=V_ID ;; esac case "$setprotoent_r_proto" in ''|0) d_setprotoent_r=undef @@ -16956,11 +17202,11 @@ case "$d_setpwent_r" in define) case "$setpwent_r_proto" in ''|0) try='int setpwent_r(FILE**);' - ./protochk "extern $try" $hdrs && setpwent_r_proto=I_H ;; + ./protochk "$extern_C $try" $hdrs && setpwent_r_proto=I_H ;; esac case "$setpwent_r_proto" in ''|0) try='void setpwent_r(FILE**);' - ./protochk "extern $try" $hdrs && setpwent_r_proto=V_H ;; + ./protochk "$extern_C $try" $hdrs && setpwent_r_proto=V_H ;; esac case "$setpwent_r_proto" in ''|0) d_setpwent_r=undef @@ -17025,11 +17271,11 @@ case "$d_setservent_r" in define) case "$setservent_r_proto" in ''|0) try='int setservent_r(int, struct servent_data*);' - ./protochk "extern $try" $hdrs && setservent_r_proto=I_ID ;; + ./protochk "$extern_C $try" $hdrs && setservent_r_proto=I_ID ;; esac case "$setservent_r_proto" in ''|0) try='void setservent_r(int, struct servent_data*);' - ./protochk "extern $try" $hdrs && setservent_r_proto=V_ID ;; + ./protochk "$extern_C $try" $hdrs && setservent_r_proto=V_ID ;; esac case "$setservent_r_proto" in ''|0) d_setservent_r=undef @@ -17505,7 +17751,7 @@ case "$d_srand48_r" in define) case "$srand48_r_proto" in ''|0) try='int srand48_r(long, struct drand48_data*);' - ./protochk "extern $try" $hdrs && srand48_r_proto=I_LS ;; + ./protochk "$extern_C $try" $hdrs && srand48_r_proto=I_LS ;; esac case "$srand48_r_proto" in ''|0) d_srand48_r=undef @@ -17546,7 +17792,7 @@ case "$d_srandom_r" in define) case "$srandom_r_proto" in ''|0) try='int srandom_r(unsigned int, struct random_data*);' - ./protochk "extern $try" $hdrs && srandom_r_proto=I_TS ;; + ./protochk "$extern_C $try" $hdrs && srandom_r_proto=I_TS ;; esac case "$srandom_r_proto" in ''|0) d_srandom_r=undef @@ -17747,15 +17993,15 @@ case "$d_strerror_r" in define) case "$strerror_r_proto" in ''|0) try='int strerror_r(int, char*, size_t);' - ./protochk "extern $try" $hdrs && strerror_r_proto=I_IBW ;; + ./protochk "$extern_C $try" $hdrs && strerror_r_proto=I_IBW ;; esac case "$strerror_r_proto" in ''|0) try='int strerror_r(int, char*, int);' - ./protochk "extern $try" $hdrs && strerror_r_proto=I_IBI ;; + ./protochk "$extern_C $try" $hdrs && strerror_r_proto=I_IBI ;; esac case "$strerror_r_proto" in ''|0) try='char* strerror_r(int, char*, size_t);' - ./protochk "extern $try" $hdrs && strerror_r_proto=B_IBW ;; + ./protochk "$extern_C $try" $hdrs && strerror_r_proto=B_IBW ;; esac case "$strerror_r_proto" in ''|0) d_strerror_r=undef @@ -18157,7 +18403,7 @@ case "$d_tmpnam_r" in define) case "$tmpnam_r_proto" in ''|0) try='char* tmpnam_r(char*);' - ./protochk "extern $try" $hdrs && tmpnam_r_proto=B_B ;; + ./protochk "$extern_C $try" $hdrs && tmpnam_r_proto=B_B ;; esac case "$tmpnam_r_proto" in ''|0) d_tmpnam_r=undef @@ -18202,15 +18448,15 @@ case "$d_ttyname_r" in define) case "$ttyname_r_proto" in ''|0) try='int ttyname_r(int, char*, size_t);' - ./protochk "extern $try" $hdrs && ttyname_r_proto=I_IBW ;; + ./protochk "$extern_C $try" $hdrs && ttyname_r_proto=I_IBW ;; esac case "$ttyname_r_proto" in ''|0) try='int ttyname_r(int, char*, int);' - ./protochk "extern $try" $hdrs && ttyname_r_proto=I_IBI ;; + ./protochk "$extern_C $try" $hdrs && ttyname_r_proto=I_IBI ;; esac case "$ttyname_r_proto" in ''|0) try='char* ttyname_r(int, char*, int);' - ./protochk "extern $try" $hdrs && ttyname_r_proto=B_IBI ;; + ./protochk "$extern_C $try" $hdrs && ttyname_r_proto=B_IBI ;; esac case "$ttyname_r_proto" in ''|0) d_ttyname_r=undef @@ -18616,6 +18862,56 @@ esac : set the base revision baserev=5.0 +: length of character in bytes. Is always 1, otherwise it isnt C +: This used to be a test using sizeof +charsize=1 + +: Check for the number of bits in a character +case "$charbits" in +'') echo "Checking how long a character is (in bits)..." >&4 + $cat >try.c < +int main () +{ + int n; + unsigned char c; + for (c = 1, n = 0; c; c <<= 1, n++) ; + printf ("%d\n", n); + return (0); + } +EOCP + set try + if eval $compile_ok; then + dflt=`$run ./try` + else + dflt='8' + echo "(I can't seem to compile the test program. Guessing...)" + fi + ;; +*) + dflt="$charbits" + ;; +esac +rp="What is the length of a character (in bits)?" +. ./myread +charbits="$ans" +$rm_try +case "$charbits" in +8) ;; +*) cat >&4 << EOM +Your system has an unsigned character size of $charbits bits, which +is rather unusual (normally it is 8 bits). Perl likely will not work +correctly on your system, with subtle bugs in various places. +EOM + rp='Do you really want to continue?' + dflt='n' + . ./myread + case "$ans" in + [yY]) echo >&4 "Okay, continuing." ;; + *) exit 1 ;; + esac +esac + : how do we concatenate cpp tokens here? echo " " echo "Checking to see how your cpp does stuff like concatenate tokens..." >&4 @@ -19818,7 +20114,7 @@ EOM for xxx in in_addr_t 'const void *' 'const char *' 'void *' 'char *'; do for yyy in size_t long int; do case "$netdb_host_type" in - '') try="extern struct hostent *gethostbyaddr($xxx, $yyy, int);" + '') try="$extern_C struct hostent *gethostbyaddr($xxx, $yyy, int);" if ./protochk "$try" $hdrs; then echo "Your system accepts $xxx for the first arg." echo "...and $yyy for the second arg." @@ -19867,7 +20163,7 @@ EOM $i_unistd unistd.h" for xxx in "const char *" "char *"; do case "$netdb_name_type" in - '') try="extern struct hostent *gethostbyname($xxx);" + '') try="$extern_C struct hostent *gethostbyname($xxx);" if ./protochk "$try" $hdrs; then echo "Your system accepts $xxx." netdb_name_type="$xxx" @@ -19905,7 +20201,7 @@ EOM $i_unistd unistd.h" for xxx in in_addr_t "unsigned long" long "unsigned int" int; do case "$netdb_net_type" in - '') try="extern struct netent *getnetbyaddr($xxx, int);" + '') try="$extern_C struct netent *getnetbyaddr($xxx, int);" if ./protochk "$try" $hdrs; then echo "Your system accepts $xxx." netdb_net_type="$xxx" @@ -20021,7 +20317,7 @@ $rm -f foo* bar* set values.h i_values eval $inhdr -: Check the max offset that gmtime accepts +: Check the max offset that gmtime and localtime accept echo "Checking max offsets that gmtime () accepts" case $i_values in @@ -20029,7 +20325,9 @@ case $i_values in *) yyy="" ;; esac -$cat >try.c <try.c < #include #include @@ -20039,10 +20337,12 @@ int i; struct tm *tmp; time_t pt; -void gm_check (time_t t) +void gm_check (time_t t, int min_year, int max_year) { tmp = gmtime (&t); - if (tmp == NULL || tmp->tm_year < -1900) + if ( tmp == NULL || + /* Check tm_year overflow */ + tmp->tm_year < min_year || tmp->tm_year > max_year) tmp = NULL; else pt = t; @@ -20050,56 +20350,138 @@ void gm_check (time_t t) int check_max () { - tmp = NULL; - pt = 0; + tmp = NULL; + pt = 0; #ifdef MAXLONG - gm_check (MAXLONG); + gm_check (MAXLONG, 69, 0x7fffffff); #endif - if (tmp == NULL || tmp->tm_year < 0) { - for (i = 63; i >= 0; i--) { - time_t x = pt | ((time_t)1 << i); - if (x < 0) continue; - gm_check (x); - } - } - printf ("sGMTIME_max=%ld\n", pt); - return (0); - } + if (tmp == NULL || tmp->tm_year < 0) { + for (i = 63; i >= 0; i--) { + time_t x = pt | ((time_t)1 << i); + if (x < 0 || x < pt) continue; + gm_check (x, 69, 0x7fffffff); + } + } + printf ("sGMTIME_max=%ld\n", pt); + return (0); + } /* check_max */ int check_min () { - tmp = NULL; - pt = 0; + tmp = NULL; + pt = 0; #ifdef MINLONG - gm_check (MINLONG); + gm_check (MINLONG, -1900, 70); #endif - if (tmp == NULL) { - for (i = 36; i >= 0; i--) { - time_t x = pt - ((time_t)1 << i); - if (x > 0) continue; - gm_check (x); - } - } - printf ("sGMTIME_min=%ld\n", pt); - return (0); - } + if (tmp == NULL) { + for (i = 36; i >= 0; i--) { + time_t x = pt - ((time_t)1 << i); + if (x > 0) continue; + gm_check (x, -1900, 70); + } + } + printf ("sGMTIME_min=%ld\n", pt); + return (0); + } /* check_min */ int main (int argc, char *argv[]) { - fprintf (stderr, "Sizeof time_t = %ld\n", sizeof (time_t)); - check_max (); - check_min (); - return (0); - } /* main */ + fprintf (stderr, "Sizeof time_t = %ld\n", sizeof (time_t)); + check_max (); + check_min (); + return (0); + } /* main */ EOCP -set try -if eval $compile; then - yyy=`$run ./try` - eval $yyy -else - echo "Cannot determine sGMTIME_max and sGMTIME_min." >&4 - fi -$rm_try + set try + if eval $compile; then + eval `$run ./try` + else + echo "Cannot determine sGMTIME_max and sGMTIME_min." >&4 + fi + $rm_try + ;; + esac + +echo "Checking max offsets that localtime () accepts" + +case "$sLOCALTIME_min/$sLOCALTIME_max" in + 0/0|/) + $cat >try.c < +#include +#include +$yyy + +int i; +struct tm *tmp; +time_t pt; + +void local_check (time_t t, int min_year, int max_year) +{ + if (sizeof (time_t) > 4 && t > 0x7ffffffffffff000LL) + tmp = NULL; + else + tmp = localtime (&t); + if ( tmp == NULL || + /* Check tm_year overflow */ + tmp->tm_year < min_year || tmp->tm_year > max_year) + tmp = NULL; + else + pt = t; + } /* local_check */ + +int check_max () +{ + tmp = NULL; + pt = 0; +#ifdef MAXLONG + local_check (MAXLONG, 69, 0x7fffffff); +#endif + if (tmp == NULL || tmp->tm_year < 0) { + for (i = 63; i >= 0; i--) { + time_t x = pt | ((time_t)1 << i); + if (x < 0 || x < pt) continue; + local_check (x, 69, 0x7fffffff); + } + } + printf ("sLOCALTIME_max=%ld\n", pt); + return (0); + } /* check_max */ + +int check_min () +{ + tmp = NULL; + pt = 0; +#ifdef MINLONG + local_check (MINLONG, -1900, 70); +#endif + if (tmp == NULL) { + for (i = 36; i >= 0; i--) { + time_t x = pt - ((time_t)1 << i); + if (x > 0) continue; + local_check (x, -1900, 70); + } + } + printf ("sLOCALTIME_min=%ld\n", pt); + return (0); + } /* check_min */ + +int main (int argc, char *argv[]) +{ + check_max (); + check_min (); + return (0); + } /* main */ +EOCP + set try + if eval $compile; then + eval `$run ./try` + else + echo "Cannot determine sLOCALTIME_max and sLOCALTIME_min." >&4 + fi + $rm_try + ;; + esac : check for type of arguments to select. case "$selecttype" in @@ -20122,7 +20504,7 @@ EOM for nfd in 'int' 'size_t' 'unsigned long' 'unsigned' ; do for tmo in 'struct timeval *' 'const struct timeval *'; do case "$val" in - '') try="extern select _(($nfd, $xxx, $xxx, $xxx, $tmo));" + '') try="$extern_C select _(($nfd, $xxx, $xxx, $xxx, $tmo));" if ./protochk "$try" $hdrs; then echo "Your system accepts $xxx." val="$xxx" @@ -20603,7 +20985,7 @@ EOM yyy="$yyy $sizetype int long unsigned" for xxx in $yyy; do case "$socksizetype" in - '') try="extern int accept(int, struct sockaddr *, $xxx *);" + '') try="$extern_C int accept(int, struct sockaddr *, $xxx *);" case "$usesocks" in "$define") if ./protochk "$try" $i_systypes sys/types.h $d_socket sys/socket.h literal '#define INCLUDE_PROTOTYPES' $i_socks socks.h.; then @@ -20837,6 +21219,21 @@ case "$usesitecustomize" in ;; esac +: see if prototypes support variable argument declarations +echo " " +case "$prototype$i_stdarg" in +$define$define) + echo "It appears we'll be able to prototype varargs functions." >&4 + val="$define" + ;; +*) + echo "Too bad... We won't be using prototyped varargs functions..." >&4 + val="$undef" + ;; +esac +set vaproto +eval $setvar + : determine compiler compiler case "$yacc" in '') @@ -20900,35 +21297,6 @@ val="$t_gdbm" set i_gdbm eval $setvar -: see if ndbm.h is available -set ndbm.h i_ndbm -eval $inhdr -: Compatibility location for RedHat 7.1 -set gdbm/ndbm.h i_gdbmndbm -eval $inhdr -: Compatibility location for Debian 4.0 -set gdbm-ndbm.h i_gdbm_ndbm -eval $inhdr - -if $test "$i_ndbm" = "$define" -o "$i_gdbmndbm" = "$define" -o "$i_gdbm_ndbm" = "$define"; then - : see if dbm_open exists - set dbm_open d_dbm_open - eval $inlibc - case "$d_dbm_open" in - $undef) - i_ndbm="$undef" - i_gdbmndbm="$undef" - i_gdbm_ndbm="$undef" - echo "We won't be including " - val="$undef" - ;; - *) val="$define" - ;; - esac -fi -set d_ndbm -eval $setvar - : see if this is a ieeefp.h system case "$i_ieeefp" in '' ) set ieeefp.h i_ieeefp @@ -21128,11 +21496,11 @@ $eunicefix Cppsym.try ./Cppsym < Cppsym.know > Cppsym.true : Add in any linux cpp "predefined macros": case "$osname::$gccversion" in - *linux*::*.*) + *linux*::*.*|*gnukfreebsd*::*.*|gnu::*.*) tHdrH=_tmpHdr rm -f $tHdrH'.h' $tHdrH touch $tHdrH'.h' - if cpp -dM $tHdrH'.h' > $tHdrH'_cppsym.h' && [ -s $tHdrH'_cppsym.h' ]; then + if $cpp -dM $tHdrH'.h' > $tHdrH'_cppsym.h' && [ -s $tHdrH'_cppsym.h' ]; then sed 's/#define[\ \ ]*//;s/[\ \ ].*$//' <$tHdrH'_cppsym.h' >$tHdrH'_cppsym.real' if [ -s $tHdrH'_cppsym.real' ]; then cat $tHdrH'_cppsym.real' Cppsym.know | sort | uniq | ./Cppsym | sort | uniq > Cppsym.true @@ -21388,44 +21756,72 @@ nonxs_extensions='' : Function to recursively find available extensions, ignoring DynaLoader : NOTE: recursion limit of 10 to prevent runaway in case of symlink madness +: In 5.10.1 and later, extensions are stored in directories +: like File-Glob instead of the older File/Glob/. find_extensions=' for xxx in *; do case "$xxx" in DynaLoader|dynaload) ;; *) - if $test -f $xxx/$xxx.xs -o -f $xxx/$xxx.c; then - known_extensions="$known_extensions $1$xxx"; - elif $test -f $xxx/Makefile.PL; then - nonxs_extensions="$nonxs_extensions $1$xxx"; + this_ext=`echo $xxx | $sed -e s/-/\\\//g`; + leaf=`echo $xxx | $sed -e s/.*-//`; + if $test -d File; then + if $test -f $xxx/$leaf.xs -o -f $xxx/$leaf.c; then + known_extensions="$known_extensions $1$this_ext"; + elif $test -f $xxx/Makefile.PL; then + nonxs_extensions="$nonxs_extensions $1$this_ext"; + else + if $test -d $xxx -a $# -lt 10; then + set $1$xxx/ $*; + cd "$xxx"; + eval $find_extensions; + cd ..; + shift; + fi; + fi; else - if $test -d $xxx -a $# -lt 10; then - set $1$xxx/ $*; - cd "$xxx"; - eval $find_extensions; - cd ..; - shift; + $ls -1 $xxx > $$.tmp; + if $contains "\.xs$" $$.tmp > /dev/null 2>&1; then + known_extensions="$known_extensions $this_ext"; + elif $contains "\.c$" $$.tmp > /dev/null 2>&1; then + known_extensions="$known_extensions $this_ext"; + elif $test -d $xxx; then + nonxs_extensions="$nonxs_extensions $this_ext"; fi; + $rm -f $$.tmp; fi ;; esac; done' tdir=`pwd` +cd "$rsrc/cpan" +set X +shift +eval $find_extensions +cd "$rsrc/dist" +set X +shift +eval $find_extensions cd "$rsrc/ext" set X shift eval $find_extensions -# Special case: Add in modules that nest beyond the first level. -# Currently threads/shared and Hash/Util/FieldHash, since they are -# not picked up by the recursive find above (and adding in general -# recursive finding breaks SDBM_File/sdbm). -# A.D. 20011025 (SDBM), ajgough 20071008 (FieldHash) -known_extensions="$known_extensions threads/shared Hash/Util/FieldHash" +if $test -d File-Glob; then + : All ext/ flattened +else + # Special case: Add in modules that nest beyond the first level. + # Currently threads/shared and Hash/Util/FieldHash, since they are + # not picked up by the recursive find above (and adding in general + # recursive finding breaks SDBM_File/sdbm). + # A.D. 20011025 (SDBM), ajgough 20071008 (FieldHash) + known_extensions="$known_extensions threads/shared Hash/Util/FieldHash" +fi set X $known_extensions shift -known_extensions="$*" +known_extensions=`echo "$*" | tr ' ' $trnl | $sort | tr $trnl ' '` set X $nonxs_extensions shift -nonxs_extensions="$*" +nonxs_extensions=`echo "$*" | tr ' ' $trnl | $sort | tr $trnl ' '` cd "$tdir" : Now see which are supported on this system. @@ -21454,7 +21850,7 @@ for xxx in $known_extensions ; do esac ;; NDBM_File|ndbm_fil) - case "$i_ndbm" in + case "$d_ndbm" in $define) case "$osname-$use64bitint" in hpux-define) @@ -21533,6 +21929,8 @@ for xxx in $known_extensions ; do # --jhi avail_ext="$avail_ext $xxx" ;; + VMS*) + ;; Win32*) case "$osname" in cygwin) avail_ext="$avail_ext $xxx" ;; @@ -21545,6 +21943,13 @@ for xxx in $known_extensions ; do $define) avail_ext="$avail_ext $xxx" ;; esac ;; + XS/APItest/KeywordRPN|xs/apitest/keywordrpn) + # This is just for testing. Skip it unless we have dynamic loading. + + case "$usedl" in + $define) avail_ext="$avail_ext $xxx" ;; + esac + ;; XS/Typemap|xs/typemap) # This is just for testing. Skip it unless we have dynamic loading. case "$usedl" in @@ -21855,7 +22260,9 @@ $startsh # Target system : $myuname EOT +: Add in command line options if available $test -f UU/cmdline.opt && $cat UU/cmdline.opt >> config.sh + $spitshell <>config.sh Author='$Author' @@ -21891,6 +22298,7 @@ awk='$awk' baserev='$baserev' bash='$bash' bin='$bin' +bin_ELF='$bin_ELF' binexp='$binexp' bison='$bison' byacc='$byacc' @@ -21909,6 +22317,8 @@ ccversion='$ccversion' cf_by='$cf_by' cf_email='$cf_email' cf_time='$cf_time' +charbits='$charbits' +charsize='$charsize' chgrp='$chgrp' chmod='$chmod' chown='$chown' @@ -21952,9 +22362,11 @@ d_accessx='$d_accessx' d_aintl='$d_aintl' d_alarm='$d_alarm' d_archlib='$d_archlib' +d_asctime64='$d_asctime64' d_asctime_r='$d_asctime_r' d_atolf='$d_atolf' d_atoll='$d_atoll' +d_attribute_deprecated='$d_attribute_deprecated' d_attribute_format='$d_attribute_format' d_attribute_malloc='$d_attribute_malloc' d_attribute_nonnull='$d_attribute_nonnull' @@ -21989,10 +22401,12 @@ d_crypt_r='$d_crypt_r' d_csh='$d_csh' d_ctermid='$d_ctermid' d_ctermid_r='$d_ctermid_r' +d_ctime64='$d_ctime64' d_ctime_r='$d_ctime_r' d_cuserid='$d_cuserid' d_dbl_dig='$d_dbl_dig' d_dbminitproto='$d_dbminitproto' +d_difftime64='$d_difftime64' d_difftime='$d_difftime' d_dir_dd_fd='$d_dir_dd_fd' d_dirfd='$d_dirfd' @@ -22051,6 +22465,9 @@ d_fsync='$d_fsync' d_ftello='$d_ftello' d_ftime='$d_ftime' d_futimes='$d_futimes' +d_gdbm_ndbm_h_uses_prototypes='$d_gdbm_ndbm_h_uses_prototypes' +d_gdbmndbm_h_uses_prototypes='$d_gdbmndbm_h_uses_prototypes' +d_getaddrinfo='$d_getaddrinfo' d_getcwd='$d_getcwd' d_getespwnam='$d_getespwnam' d_getfsstat='$d_getfsstat' @@ -22072,6 +22489,7 @@ d_getlogin='$d_getlogin' d_getlogin_r='$d_getlogin_r' d_getmnt='$d_getmnt' d_getmntent='$d_getmntent' +d_getnameinfo='$d_getnameinfo' d_getnbyaddr='$d_getnbyaddr' d_getnbyname='$d_getnbyname' d_getnent='$d_getnent' @@ -22107,6 +22525,7 @@ d_getservprotos='$d_getservprotos' d_getspnam='$d_getspnam' d_getspnam_r='$d_getspnam_r' d_gettimeod='$d_gettimeod' +d_gmtime64='$d_gmtime64' d_gmtime_r='$d_gmtime_r' d_gnulibc='$d_gnulibc' d_grpasswd='$d_grpasswd' @@ -22116,6 +22535,8 @@ d_ilogbl='$d_ilogbl' d_inc_version_list='$d_inc_version_list' d_index='$d_index' d_inetaton='$d_inetaton' +d_inetntop='$d_inetntop' +d_inetpton='$d_inetpton' d_int64_t='$d_int64_t' d_isascii='$d_isascii' d_isfinite='$d_isfinite' @@ -22127,6 +22548,7 @@ d_lchown='$d_lchown' d_ldbl_dig='$d_ldbl_dig' d_libm_lib_version='$d_libm_lib_version' d_link='$d_link' +d_localtime64='$d_localtime64' d_localtime_r='$d_localtime_r' d_localtime_r_needs_tzset='$d_localtime_r_needs_tzset' d_locconv='$d_locconv' @@ -22151,6 +22573,7 @@ d_mkdtemp='$d_mkdtemp' d_mkfifo='$d_mkfifo' d_mkstemp='$d_mkstemp' d_mkstemps='$d_mkstemps' +d_mktime64='$d_mktime64' d_mktime='$d_mktime' d_mmap='$d_mmap' d_modfl='$d_modfl' @@ -22172,6 +22595,7 @@ d_msync='$d_msync' d_munmap='$d_munmap' d_mymalloc='$d_mymalloc' d_ndbm='$d_ndbm' +d_ndbm_h_uses_prototypes='$d_ndbm_h_uses_prototypes' d_nice='$d_nice' d_nl_langinfo='$d_nl_langinfo' d_nv_preserves_uv='$d_nv_preserves_uv' @@ -22188,6 +22612,8 @@ d_phostname='$d_phostname' d_pipe='$d_pipe' d_poll='$d_poll' d_portable='$d_portable' +d_prctl='$d_prctl' +d_prctl_set_name='$d_prctl_set_name' d_printf_format_null='$d_printf_format_null' d_procselfexe='$d_procselfexe' d_pseudofork='$d_pseudofork' @@ -22394,6 +22820,7 @@ eunicefix='$eunicefix' exe_ext='$exe_ext' expr='$expr' extensions='$extensions' +extern_C='$extern_C' extras='$extras' fflushNULL='$fflushNULL' fflushall='$fflushall' @@ -22719,6 +23146,8 @@ run='$run' runnm='$runnm' sGMTIME_max='$sGMTIME_max' sGMTIME_min='$sGMTIME_min' +sLOCALTIME_max='$sLOCALTIME_max' +sLOCALTIME_min='$sLOCALTIME_min' sPRIEUldbl='$sPRIEUldbl' sPRIFUldbl='$sPRIFUldbl' sPRIGUldbl='$sPRIGUldbl' @@ -22844,6 +23273,7 @@ use5005threads='$use5005threads' use64bitall='$use64bitall' use64bitint='$use64bitint' usecrosscompile='$usecrosscompile' +usedevel='$usedevel' usedl='$usedl' usedtrace='$usedtrace' usefaststdio='$usefaststdio' @@ -22875,6 +23305,7 @@ uvsize='$uvsize' uvtype='$uvtype' uvuformat='$uvuformat' uvxformat='$uvxformat' +vaproto='$vaproto' vendorarch='$vendorarch' vendorarchexp='$vendorarchexp' vendorbin='$vendorbin' @@ -22906,13 +23337,10 @@ zcat='$zcat' zip='$zip' EOT -: Add in command line options if available -$test -f UU/cmdline.opt && $cat UU/cmdline.opt >> config.sh - : add special variables $test -f $src/patchlevel.h && \ awk '/^#define[ ]+PERL_/ {printf "%s=%s\n",$2,$3}' $src/patchlevel.h >>config.sh -echo "PERL_PATCHLEVEL=$perl_patchlevel" >>config.sh +echo "PERL_PATCHLEVEL='$perl_patchlevel'" >>config.sh echo "PERL_CONFIG_SH=true" >>config.sh : propagate old symbols