X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Configure;h=1bd54cb5e48b8a61bd29312fade81df81922f988;hb=a227dc4778e24da2c5bc2ffad02a89310996ff78;hp=90062ba30f9b4da12630eda3aa8ea83c00bd8095;hpb=93a2cd18e0620f7d49cbc853ffd1212b0ccb834a;p=p5sagit%2Fp5-mst-13.2.git diff --git a/Configure b/Configure index 90062ba..1bd54cb 100755 --- a/Configure +++ b/Configure @@ -20,7 +20,7 @@ # $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $ # -# Generated on Sat Apr 26 00:00:32 EET DST 2003 [metaconfig 3.0 PL70] +# Generated on Tue May 31 08:06:05 CEST 2005 [metaconfig 3.0 PL70] # (with additional metaconfig patches by perlbug@perl.org) cat >c1$$ </dev/null`" in - ij) up='[A-Z]' - low='[a-z]' +*) # There is a discontinuity in EBCDIC between 'R' and 'S' + # (0xd9 and 0xe2), therefore that is a nice testing point. + if test "X$up" = X -o "X$low" = X; then + case "`echo RS | $tr '[R-S]' '[r-s]' 2>/dev/null`" in + rs) up='[A-Z]' + low='[a-z]' ;; esac - fi + fi if test "X$up" = X -o "X$low" = X; then - case "`echo IJ | $tr I-J i-j 2>/dev/null`" in - ij) up='A-Z' + case "`echo RS | $tr R-S r-s 2>/dev/null`" in + rs) up='A-Z' low='a-z' ;; esac - fi + fi if test "X$up" = X -o "X$low" = X; then - case "`echo IJ | od -x 2>/dev/null`" in - *C9D1*|*c9d1*) + case "`echo RS | od -x 2>/dev/null`" in + *D9E2*|*d9e2*) echo "Hey, this might be EBCDIC." >&4 if test "X$up" = X -o "X$low" = X; then - case "`echo IJ | $tr '[A-IJ-RS-Z]' '[a-ij-rs-z]' 2>/dev/null`" in - ij) up='[A-IJ-RS-Z]' - low='[a-ij-rs-z]' + case "`echo RS | $tr '[A-IJ-RS-Z]' '[a-ij-rs-z]' 2>/dev/null`" in + rs) up='[A-IJ-RS-Z]' + low='[a-ij-rs-z]' ;; esac fi if test "X$up" = X -o "X$low" = X; then - case "`echo IJ | $tr A-IJ-RS-Z a-ij-rs-z 2>/dev/null`" in - ij) up='A-IJ-RS-Z' - low='a-ij-rs-z' + case "`echo RS | $tr A-IJ-RS-Z a-ij-rs-z 2>/dev/null`" in + rs) up='A-IJ-RS-Z' + low='a-ij-rs-z' ;; esac fi @@ -2915,8 +2924,8 @@ ABYZ) esac fi esac -case "`echo IJ | $tr \"$up\" \"$low\" 2>/dev/null`" in -ij) +case "`echo RS | $tr \"$up\" \"$low\" 2>/dev/null`" in +rs) echo "Using $up and $low to convert case." >&4 ;; *) @@ -3082,7 +3091,9 @@ EOM aix) osname=aix tmp=`( (oslevel) 2>/dev/null || echo "not found") 2>&1` case "$tmp" in - 'not found') osvers="$4"."$3" ;; + # oslevel can fail with: + # oslevel: Unable to acquire lock. + *not\ found) osvers="$4"."$3" ;; '<3240'|'<>3240') osvers=3.2.0 ;; '=3240'|'>3240'|'<3250'|'<>3250') osvers=3.2.4 ;; '=3250'|'>3250') osvers=3.2.5 ;; @@ -3104,7 +3115,7 @@ EOM domainos) osname=apollo osvers="$3" ;; - dgux) osname=dgux + dgux) osname=dgux osvers="$3" ;; dynixptx*) osname=dynixptx @@ -3112,23 +3123,25 @@ EOM ;; freebsd) osname=freebsd osvers="$3" ;; - genix) osname=genix ;; - hp*) osname=hpux + genix) osname=genix ;; + gnu) osname=gnu + osvers="$3" ;; + hp*) osname=hpux osvers=`echo "$3" | $sed 's,.*\.\([0-9]*\.[0-9]*\),\1,'` ;; - irix*) osname=irix + irix*) osname=irix case "$3" in 4*) osvers=4 ;; 5*) osvers=5 ;; *) osvers="$3" ;; esac ;; - linux) osname=linux + linux) osname=linux case "$3" in *) osvers="$3" ;; esac ;; - MiNT) osname=mint + MiNT) osname=mint ;; netbsd*) osname=netbsd osvers="$3" @@ -3195,7 +3208,8 @@ EOM mips) osname=mips_osf1 ;; esac ;; - unixware) osname=svr5 + # UnixWare 7.1.2 is known as Open UNIX 8 + openunix|unixware) osname=svr5 osvers="$4" ;; uts) osname=uts @@ -3458,12 +3472,15 @@ esac : who configured the system 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 "") - cf_by=`(whoami) 2>/dev/null` + cf_by=`(logname) 2>/dev/null` case "$cf_by" in - "") cf_by=unknown ;; + "") + cf_by=`(whoami) 2>/dev/null` + case "$cf_by" in + "") cf_by=unknown ;; + esac ;; esac ;; esac @@ -3673,22 +3690,22 @@ 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 - echo "Your platform has some specific hints for threaded builds, using them..." - . ./usethreads.cbu - else +if $test -f usethreads.cbu; then + echo "Your platform has some specific hints regarding threaded builds, using them..." + . ./usethreads.cbu +else + case "$usethreads" in + "$define"|true|[yY]*) $cat </dev/null 2>&1 then + # Interactive Systems (ISC) POSIX mode. dflt="$dflt -posix" fi ;; @@ -4717,7 +4735,7 @@ default|recommended) if $cc -O2 -fno-strict-aliasing -o gcctest gcctest.c; then echo "Yes, it does." 2>&1 case "$ccflags" in - *strict-aliasing*) + *strict-aliasing*) echo "Leaving current flags $ccflags alone." 2>&1 ;; *) dflt="$dflt -fno-strict-aliasing" ;; @@ -4727,6 +4745,40 @@ default|recommended) fi ;; esac + # For gcc, adding -pipe speeds up compilations for some, but apparently + # some assemblers can't read from stdin. (It also slows down compilations + # in other cases, but those are apparently rarer these days.) AD 5/2004. + case "$gccversion" in + ?*) echo " " + echo "Checking if your compiler accepts -pipe" 2>&1 + echo 'int main(void) { return 0; }' > gcctest.c + if $cc -pipe -o gcctest gcctest.c; then + echo "Yes, it does." 2>&1 + case "$ccflags" in + *-pipe*) + echo "Leaving current flags $ccflags alone." 2>&1 + ;; + *) dflt="$dflt -pipe" ;; + esac + else + echo "Nope, it doesn't, but that's ok." 2>&1 + fi + + echo "Checking if your compiler accepts -Wdeclaration-after-statement" 2>&1 + echo 'int main(void) { return 0; }' > gcctest.c + if $cc -Wdeclaration-after-statement -o gcctest gcctest.c; then + echo "Yes, it does." 2>&1 + case "$ccflags" in + *-Wdeclaration-after-statement*) + echo "Leaving current flags $ccflags alone." 2>&1 + ;; + *) dflt="$dflt -Wdeclaration-after-statement" ;; + esac + else + echo "Nope, it doesn't, but that's ok." 2>&1 + fi + ;; + esac ;; esac @@ -4738,8 +4790,8 @@ for thisincl in $inclwanted; do if $test -d $thisincl; then if $test x$thisincl != x$usrinc; then case "$dflt" in - *" -I$thisincl "*);; - *) dflt="$dflt -I$thisincl ";; + *" -I$thisincl "*);; + *) dflt="$dflt -I$thisincl ";; esac fi fi @@ -4870,7 +4922,7 @@ esac for thislibdir in $libpth; do case " $loclibpth " in *" $thislibdir "*) - case "$dflt " in + case "$dflt " in *"-L$thislibdir "*) ;; *) dflt="$dflt -L$thislibdir" ;; esac @@ -5447,15 +5499,15 @@ EOM ;; esac -case "$use64bitint" in -"$define"|true|[yY]*) : Look for a hint-file generated 'call-back-unit'. If the : user has specified that a 64-bit perl is to be built, : we may need to set or change some other defaults. - if $test -f use64bitint.cbu; then - echo "Your platform has some specific hints for 64-bit integers, using them..." - . ./use64bitint.cbu - fi +if $test -f use64bitint.cbu; then + echo "Your platform has some specific hints regarding 64-bit integers, using them..." + . ./use64bitint.cbu +fi +case "$use64bitint" in +"$define"|true|[yY]*) case "$longsize" in 4) case "$archname64" in '') archname64=64int ;; @@ -5465,15 +5517,15 @@ case "$use64bitint" in ;; esac -case "$use64bitall" in -"$define"|true|[yY]*) : Look for a hint-file generated 'call-back-unit'. If the : user has specified that a maximally 64-bit perl is to be built, : we may need to set or change some other defaults. - if $test -f use64bitall.cbu; then - echo "Your platform has some specific hints for 64-bit builds, using them..." - . ./use64bitall.cbu - fi +if $test -f use64bitall.cbu; then + echo "Your platform has some specific hints regarding 64-bit builds, using them..." + . ./use64bitall.cbu +fi +case "$use64bitall" in +"$define"|true|[yY]*) case "$longsize" in 4) case "$archname64" in ''|64int) archname64=64all ;; @@ -5488,7 +5540,7 @@ $undef:$define) cat >&4 < /dev/null 2>&1; then nm_so_opt='--dynamic' fi @@ -7217,7 +7296,7 @@ $grep fprintf libc.tmp > libc.ptf xscan='eval "libc.list"; $echo $n ".$c" >&4' xrun='eval "libc.list"; echo "done." >&4' xxx='[ADTSIW]' -if com="$sed -n -e 's/__IO//' -e 's/^.* $xxx *_[_.]*//p' -e 's/^.* $xxx *//p'";\ +if com="$sed -n -e 's/__IO//' -e 's/^.* $xxx *//p'";\ eval $xscan;\ $contains '^fprintf$' libc.list >/dev/null 2>&1; then eval $xrun @@ -7350,9 +7429,9 @@ eval $inhdr : is a C symbol defined? csym='tlook=$1; case "$3" in --v) tf=libc.tmp; tc=""; tdc="";; --a) tf=libc.tmp; tc="[0]"; tdc="[]";; -*) tlook="^$1\$"; tf=libc.list; tc="()"; tdc="()";; +-v) tf=libc.tmp; tdc="";; +-a) tf=libc.tmp; tdc="[]";; +*) tlook="^$1\$"; tf=libc.list; tdc="()";; esac; tx=yes; case "$reuseval-$4" in @@ -7361,25 +7440,28 @@ true-*) tx=no; eval "tval=\$$4"; case "$tval" in "") tx=yes;; esac;; esac; case "$tx" in yes) - case "$runnm" in - true) - if $contains $tlook $tf >/dev/null 2>&1; - then tval=true; - else tval=false; - fi;; - *) - echo "int main() { extern short $1$tdc; printf(\"%hd\", $1$tc); }" > t.c; - if $cc -o t $optimize $ccflags $ldflags t.c $libs >/dev/null 2>&1; - then tval=true; - else tval=false; + tval=false; + if $test "$runnm" = true; then + if $contains $tlook $tf >/dev/null 2>&1; then + tval=true; + elif $test "$mistrustnm" = compile -o "$mistrustnm" = run; then + echo "void *(*(p()))$tdc { extern void *$1$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 -f try$_exe try.c core core.* try.core; fi; - $rm -f t t.c;; - esac;; + else + echo "void *(*(p()))$tdc { extern void *$1$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 -f try$_exe try.c; + fi; + ;; *) case "$tval" in $define) tval=true;; *) tval=false;; - esac;; + esac; + ;; esac; eval "$2=$tval"' @@ -7567,7 +7649,7 @@ EOM '') dflt="$dflt +vnocompatwarnings" ;; esac ;; - linux|irix*) dflt='-shared' ;; + linux|irix*|gnu*) dflt='-shared' ;; next) dflt='none' ;; solaris) dflt='-G' ;; sunos) dflt='-assert nodefinitions' ;; @@ -7614,11 +7696,9 @@ say "none". EOM case "$ccdlflags" in '') case "$osname" in - hpux) dflt='-Wl,-E' ;; - linux) dflt='-rdynamic' ;; - next) dflt='none' ;; - sunos) dflt='none' ;; - *) dflt='none' ;; + linux|hpux|gnu*) dflt='-Wl,-E' ;; + next|sunos) dflt='none' ;; + *) dflt='none' ;; esac ;; ' ') dflt='none' ;; *) dflt="$ccdlflags" ;; @@ -7713,7 +7793,7 @@ true) dflt=libperl.5.$so # XXX How handle the --version stuff for MAB? ;; - linux*) # ld won't link with a bare -lperl otherwise. + linux*|gnu*) # ld won't link with a bare -lperl otherwise. dflt=libperl.$so ;; cygwin*) # ld links against an importlib @@ -7797,10 +7877,10 @@ if "$useshrplib"; then solaris) xxx="-R $shrpdir" ;; - freebsd|netbsd|openbsd) + freebsd|netbsd|openbsd|interix) xxx="-Wl,-R$shrpdir" ;; - bsdos|linux|irix*|dec_osf) + bsdos|linux|irix*|dec_osf|gnu*) xxx="-Wl,-rpath,$shrpdir" ;; next) @@ -8545,11 +8625,11 @@ else fi : determine where add-on html pages go -: There is no standard location, so try to copy the previously-selected +: There is no standard location, so try to copy the previously-selected : directory structure for the core html pages. -case "$sitehtml1" in -'') dflt=`echo "$html1dir" | $sed "s#^$prefix#$siteprefix#"` ;; -*) dflt=$sitehtml1 ;; +case "$sitehtml1dir" in +'') dflt=`echo "$html1dir" | $sed "s#^$prefix#$siteprefix#"` ;; +*) dflt=$sitehtml1dir ;; esac case "$dflt" in ''|' ') dflt=none ;; @@ -8557,23 +8637,21 @@ esac fn=dn+~ rp='Pathname where the site-specific html pages should be installed?' . ./getfile -sitehtml1="$ans" -sitehtml1exp="$ansexp" -: Use ' ' for none so value is preserved next time through Configure -$test X"$sitehtml1" = "X" && sitehtml1=' ' +sitehtml1dir="$ans" +sitehtml1direxp="$ansexp" : Change installation prefix, if necessary. if $test X"$prefix" != X"$installprefix"; then - installsitehtml1=`echo "$sitehtml1exp" | $sed "s#^$prefix#$installprefix#"` + installsitehtml1dir=`echo $sitehtml1direxp | $sed "s#^$prefix#$installprefix#"` else - installsitehtml1="$sitehtml1exp" + installsitehtml1dir="$sitehtml1direxp" fi : determine where add-on library html pages go : There is no standard location, so try to copy the previously-selected : directory structure for the core html pages. -case "$sitehtml3" in -'') dflt=`echo "$html3dir" | $sed "s#^$prefix#$siteprefix#"` ;; -*) dflt=$sitehtml3 ;; +case "$sitehtml3dir" in +'') dflt=`echo "$html3dir" | $sed "s#^$prefix#$siteprefix#"` ;; +*) dflt=$sitehtml3dir ;; esac case "$dflt" in ''|' ') dflt=none ;; @@ -8581,21 +8659,19 @@ esac fn=dn+~ rp='Pathname where the site-specific library html pages should be installed?' . ./getfile -sitehtml3="$ans" -sitehtml3exp="$ansexp" -: Use ' ' for none so value is preserved next time through Configure -$test X"$sitehtml3" = "X" && sitehtml3=' ' +sitehtml3dir="$ans" +sitehtml3direxp="$ansexp" : Change installation prefix, if necessary. if $test X"$prefix" != X"$installprefix"; then - installsitehtml3=`echo "$sitehtml3exp" | $sed "s#^$prefix#$installprefix#"` + installsitehtml3dir=`echo $sitehtml3direxp | $sed "s#^$prefix#$installprefix#"` else - installsitehtml3="$sitehtml3exp" + installsitehtml3dir="$sitehtml3direxp" fi : determine where add-on manual pages go -case "$siteman1" in -'') dflt=`echo "$man1dir" | $sed "s#^$prefix#$siteprefix#"` ;; -*) dflt=$siteman1 ;; +case "$siteman1dir" in +'') dflt=`echo $man1dir | $sed "s#^$prefix#$siteprefix#"` ;; +*) dflt=$siteman1dir ;; esac case "$dflt" in ''|' ') dflt=none ;; @@ -8603,21 +8679,19 @@ esac fn=dn+~ rp='Pathname where the site-specific manual pages should be installed?' . ./getfile -siteman1="$ans" -siteman1exp="$ansexp" -: Use ' ' for none so value is preserved next time through Configure -$test X"$siteman1" = "X" && siteman1=' ' +siteman1dir="$ans" +siteman1direxp="$ansexp" : Change installation prefix, if necessary. if $test X"$prefix" != X"$installprefix"; then - installsiteman1=`echo "$siteman1exp" | $sed "s#^$prefix#$installprefix#"` + installsiteman1dir=`echo $siteman1direxp | $sed "s#^$prefix#$installprefix#"` else - installsiteman1="$siteman1exp" + installsiteman1dir="$siteman1direxp" fi : determine where add-on library man pages go -case "$siteman3" in -'') dflt=`echo "$man3dir" | $sed "s#^$prefix#$siteprefix#"` ;; -*) dflt=$siteman3 ;; +case "$siteman3dir" in +'') dflt=`echo $man3dir | $sed "s#^$prefix#$siteprefix#"` ;; +*) dflt=$siteman3dir ;; esac case "$dflt" in ''|' ') dflt=none ;; @@ -8625,15 +8699,13 @@ esac fn=dn+~ rp='Pathname where the site-specific library manual pages should be installed?' . ./getfile -siteman3="$ans" -siteman3exp="$ansexp" -: Use ' ' for none so value is preserved next time through Configure -$test X"$siteman3" = "X" && siteman3=' ' +siteman3dir="$ans" +siteman3direxp="$ansexp" : Change installation prefix, if necessary. if $test X"$prefix" != X"$installprefix"; then - installsiteman3=`echo "$siteman3exp" | $sed "s#^$prefix#$installprefix#"` + installsiteman3dir=`echo $siteman3direxp | $sed "s#^$prefix#$installprefix#"` else - installsiteman3="$siteman3exp" + installsiteman3dir="$siteman3direxp" fi : determine where add-on public executable scripts go @@ -8851,14 +8923,16 @@ EOM esac set uselargefiles eval $setvar -case "$uselargefiles" in -"$define") : Look for a hint-file generated 'call-back-unit'. If the : user has specified that a large files perl is to be built, : we may need to set or change some other defaults. +if $test -f uselargefiles.cbu; then + echo "Your platform has some specific hints regarding large file builds, using them..." + . ./uselargefiles.cbu +fi +case "$uselargefiles" in +"$define") if $test -f uselargefiles.cbu; then - echo "Your platform has some specific hints for large file builds, using them..." - . ./uselargefiles.cbu echo " " echo "Rechecking to see how big your file offsets are..." >&4 $cat >try.c <&4 +echo "Checking whether your compiler can handle __attribute__((format)) ..." >&4 $cat >attrib.c <<'EOCP' #include -void croak (char* pat,...) __attribute__((format(printf,1,2),noreturn)); +void my_special_printf(char* pat,...) __attribute__((__format__(__printf__,1,2))); 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 fully support __attribute__." + echo "Your C compiler doesn't support __attribute__((format))." val="$undef" else - echo "Your C compiler supports __attribute__." + echo "Your C compiler supports __attribute__((format))." val="$define" fi else echo "Your C compiler doesn't seem to understand __attribute__ at all." val="$undef" fi -set d_attribut +;; +*) val="$d_attribute_format" ;; +esac +set d_attribute_format +eval $setvar +$rm -f attrib* + +: Look for GCC-style attribute malloc +case "$d_attribute_malloc" in +'') +echo " " +echo "Checking whether your compiler can handle __attribute__((malloc)) ..." >&4 +$cat >attrib.c <<'EOCP' +#include +char *go_get_some_memory( int how_many_bytes ) __attribute__((malloc)); +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__((malloc))." + val="$undef" + else + echo "Your C compiler supports __attribute__((malloc))." + val="$define" + fi +else + echo "Your C compiler doesn't seem to understand __attribute__ at all." + val="$undef" +fi +;; +*) val="$d_attribute_malloc" ;; +esac +set d_attribute_malloc +eval $setvar +$rm -f attrib* + +: Look for GCC-style attribute nonnull +case "$d_attribute_nonnull" in +'') +echo " " +echo "Checking whether your compiler can handle __attribute__((nonnull(1))) ..." >&4 +$cat >attrib.c <<'EOCP' +#include +void do_something (char *some_pointer,...) __attribute__((nonnull(1))); +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__((nonnull))." + val="$undef" + else + echo "Your C compiler supports __attribute__((nonnull))." + val="$define" + fi +else + echo "Your C compiler doesn't seem to understand __attribute__ at all." + val="$undef" +fi +;; +*) val="$d_attribute_nonnull" ;; +esac +set d_attribute_nonnull +eval $setvar +$rm -f attrib* + +: Look for GCC-style attribute noreturn +case "$d_attribute_noreturn" in +'') +echo " " +echo "Checking whether your compiler can handle __attribute__((noreturn)) ..." >&4 +$cat >attrib.c <<'EOCP' +#include +void fall_over_dead( void ) __attribute__((noreturn)); +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__((noreturn))." + val="$undef" + else + echo "Your C compiler supports __attribute__((noreturn))." + val="$define" + fi +else + echo "Your C compiler doesn't seem to understand __attribute__ at all." + val="$undef" +fi +;; +*) val="$d_attribute_noreturn" ;; +esac +set d_attribute_noreturn +eval $setvar +$rm -f attrib* + +: Look for GCC-style attribute pure +case "$d_attribute_pure" in +'') +echo " " +echo "Checking whether your compiler can handle __attribute__((pure)) ..." >&4 +$cat >attrib.c <<'EOCP' +#include +int square( int n ) __attribute__((pure)); +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__((pure))." + val="$undef" + else + echo "Your C compiler supports __attribute__((pure))." + val="$define" + fi +else + echo "Your C compiler doesn't seem to understand __attribute__ at all." + val="$undef" +fi +;; +*) val="$d_attribute_pure" ;; +esac +set d_attribute_pure +eval $setvar +$rm -f attrib* + +: Look for GCC-style attribute unused +case "$d_attribute_unused" in +'') +echo " " +echo "Checking whether your compiler can handle __attribute__((unused)) ..." >&4 +$cat >attrib.c <<'EOCP' +#include +int do_something( int dummy __attribute__((unused)), int n ); +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__((unused))." + val="$undef" + else + echo "Your C compiler supports __attribute__((unused))." + val="$define" + fi +else + echo "Your C compiler doesn't seem to understand __attribute__ at all." + val="$undef" +fi +;; +*) val="$d_attribute_unused" ;; +esac +set d_attribute_unused +eval $setvar +$rm -f attrib* + +: Look for GCC-style attribute warn_unused_result +case "$d_attribute_warn_unused_result" in +'') +echo " " +echo "Checking whether your compiler can handle __attribute__((warn_unused_result)) ..." >&4 +$cat >attrib.c <<'EOCP' +#include +int I_will_not_be_ignored(void) __attribute__((warn_unused_result)); +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__((warn_unused_result))." + val="$undef" + else + echo "Your C compiler supports __attribute__((warn_unused_result))." + val="$define" + fi +else + echo "Your C compiler doesn't seem to understand __attribute__ at all." + val="$undef" +fi +;; +*) val="$d_attribute_warn_unused_result" ;; +esac +set d_attribute_warn_unused_result eval $setvar $rm -f attrib* @@ -10053,7 +10305,7 @@ int main() i32 = ($xxx) g; /* x86 processors will probably give 0x8000 0000, which is a - sign change. We don't want that. We want to mimic SPARC + sign change. We don't want that. We want to mimic SPARC behavior here, which is to preserve the sign and give back 0x7fff ffff. */ @@ -13885,6 +14137,38 @@ $rm -f ldbl_dig.? set d_ldbl_dig eval $setvar +: see if this is a math.h system +set math.h i_math +eval $inhdr + +d_libm_lib_version="$undef" +case $i_math in + $define) + : check to see if math.h defines _LIB_VERSION + echo " " + echo "Checking to see if your libm supports _LIB_VERSION..." >&4 + $cat >try.c < +#include +int main (int argc, char *argv[]) +{ + printf ("%d\n", _LIB_VERSION); + return (0); + } /* main */ +EOCP + set try + if eval $compile; then + foo=`$run ./try` + echo "Yes, it does ($foo)" >&4 + d_libm_lib_version="$define" + else + echo "No, it does not (probably harmless)\n" >&4 + fi + $rm -f try.* try core core.try.* + ;; + + esac + : see if link exists set link d_link eval $inlibc @@ -14042,13 +14326,17 @@ esac set sqrtl d_sqrtl eval $inlibc +: see if scalbnl exists +set scalbnl d_scalbnl +eval $inlibc + : see if modfl exists set modfl d_modfl eval $inlibc : see if prototype for modfl is available echo " " -set d_modflproto modfl math.h +set d_modflproto modfl $i_math math.h eval $hasproto d_modfl_pow32_bug="$undef" @@ -14115,32 +14403,31 @@ EOCP esac if $test "$uselongdouble" = "$define"; then - message=none - case "$d_sqrtl:$d_modfl" in - $define:$define) - : You have both - ;; - $define:$undef) + message="" + if $test "$d_sqrtl" != "$define"; then + message="$message sqrtl" + fi + if $test "$d_modfl" != "$define"; then if $test "$d_aintl:$d_copysignl" = "$define:$define"; then echo "You have both aintl and copysignl, so I can emulate modfl." else - message="I could not find modfl." + message="$message modfl" fi - ;; - $undef:$define) - message="I could not find sqrtl." - ;; - $undef:$undef) - message="I found neither sqrtl nor modfl." - ;; - esac + fi + if $test "$d_frexpl" != "$define"; then + if $test "$d_ilogbl:$d_scalbnl" = "$define:$define"; then + echo "You have both ilogbl and scalbnl, so I can emulate frexpl." + else + message="$message frexpl" + fi + fi - if $test "$message" != none; then + if $test "$message" != ""; then $cat <&4 *** You requested the use of long doubles but you do not seem to have -*** the mathematic functions for long doubles. -*** ($message) +*** the following mathematical functions needed for long double support: +*** $message *** Please rerun Configure without -Duselongdouble and/or -Dusemorebits. *** Cannot continue, aborting. @@ -14225,10 +14512,6 @@ eval $inlibc set munmap d_munmap eval $inlibc -: see if nanosleep exists -set nanosleep d_nanosleep -eval $inlibc - : see if nice exists set nice d_nice eval $inlibc @@ -14701,6 +14984,10 @@ esac set d_pthread_atfork eval $setvar +: see if pthread_attr_setscope exists +set pthread_attr_setscope d_pthread_attr_setscope +eval $inlibc + : see whether the various POSIXish _yields exist $cat >try.c <." >&4 val="$undef" fi -$rm -f try try.c try.h +$rm -f try try.c set d_union_semun eval $setvar : see how to do semctl IPC_STAT case "$d_sem" in $define) - : see whether semctl IPC_STAT can use union semun echo " " $cat > try.h < try.c < try.c < #include #include @@ -15323,15 +15608,16 @@ int main() { return 0; } END - val="$undef" - set try - if eval $compile; then - xxx=`$run ./try` - case "$xxx" in - semun) val="$define" ;; - esac - fi - $rm -f try try.c + set try + if eval $compile; then + xxx=`$run ./try` + case "$xxx" in + semun) val="$define" ;; + esac + fi + $rm -f try try.c + ;; + esac set d_semctl_semun eval $setvar case "$d_semctl_semun" in @@ -15345,7 +15631,10 @@ END esac : see whether semctl IPC_STAT can use struct semid_ds pointer - $cat > try.c <<'END' + val="$undef" + case "$d_semctl_semid_ds" in + '') + $cat > try.c <<'END' #include #include #include @@ -15381,15 +15670,16 @@ int main() { return 0; } END - val="$undef" - set try - if eval $compile; then - xxx=`$run ./try` - case "$xxx" in - semid_ds) val="$define" ;; - esac - fi - $rm -f try try.c + set try + if eval $compile; then + xxx=`$run ./try` + case "$xxx" in + semid_ds) val="$define" ;; + esac + fi + $rm -f try try.c + ;; + esac set d_semctl_semid_ds eval $setvar case "$d_semctl_semid_ds" in @@ -16374,6 +16664,14 @@ esac set strftime d_strftime eval $inlibc +: see if strlcat exists +set strlcat d_strlcat +eval $inlibc + +: see if strlcpy exists +set strlcpy d_strlcpy +eval $inlibc + : see if strtod exists set strtod d_strtod eval $inlibc @@ -16946,10 +17244,10 @@ int main() { buf[1] = 0; buf[2] = 0; buf[3] = 1; + buf[4] = 0; buf[5] = 0; buf[6] = 0; - buf[7] = 0; - buf[8] = 1; + buf[7] = 1; for (i = 0; i < 4; i++) { up = (U32*)(buf + i); @@ -17225,9 +17523,9 @@ esac : set the base revision baserev=5.0 -: how do we catenate cpp tokens here? +: how do we concatenate cpp tokens here? echo " " -echo "Checking to see how your cpp does stuff like catenate tokens..." >&4 +echo "Checking to see how your cpp does stuff like concatenate tokens..." >&4 $cat >cpp_stuff.c <<'EOCP' #define RCAT(a,b)a/**/b #define ACAT(a,b)a ## b @@ -17246,8 +17544,8 @@ elif $contains 'Reiser' cpp_stuff.out >/dev/null 2>&1; then cpp_stuff=1 else $cat >&4 <&4 @@ -19413,6 +19705,16 @@ case "$uidsign" in ;; esac + +case "$usesitecustomize" in + $define|true|[Yy]*) + usesitecustomize="$define" + ;; + *) + usesitecustomize="$undef" + ;; + esac + : determine compiler compiler case "$yacc" in '') @@ -19473,10 +19775,6 @@ 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 @@ -19567,7 +19865,7 @@ BeOS BIG_ENDIAN BIT_MSF bsd BSD bsd43 bsd4_2 bsd4_3 BSD4_3 bsd4_4 BSD_4_3 BSD_4_4 BSD_NET2 BSD_TIME BSD_TYPES BSDCOMPAT bsdi bull c cadmus clipper CMU COFF COMPILER_VERSION concurrent convex cpu cray CRAY CRAYMPP ctix CX_UX -CYGWIN DGUX DGUX_SOURCE DJGPP dmert DOLPHIN DPX2 DSO +CYGWIN DECC DGUX DGUX_SOURCE DJGPP dmert DOLPHIN DPX2 DSO Dynix DynixPTX ELF encore EPI EXTENSIONS FAVOR_BSD FILE_OFFSET_BITS FreeBSD GCC_NEW_VARARGS gcos gcx gimpel GLIBC GLIBC_MINOR @@ -20114,6 +20412,39 @@ set X $avail_ext shift avail_ext="$*" +case "$onlyextensions" in +'') ;; +*) keepextensions='' + echo "You have requested that only certains extensions be included..." >&4 + for i in $onlyextensions; do + case " $avail_ext " in + *" $i "*) + echo "Keeping extension $i." + keepextensions="$keepextensions $i" + ;; + *) echo "Ignoring extension $i." ;; + esac + done + avail_ext="$keepextensions" + ;; +esac + +case "$noextensions" in +'') ;; +*) keepextensions='' + echo "You have requested that certain extensions be ignored..." >&4 + for i in $avail_ext; do + case " $noextensions " in + *" $i "*) echo "Ignoring extension $i." ;; + *) echo "Keeping extension $i."; + keepextensions="$keepextensions $i" + ;; + esac + done + avail_ext="$keepextensions" + ;; +esac + : Now see which nonxs extensions are supported on this system. : For now assume all are. nonxs_ext='' @@ -20266,39 +20597,6 @@ set X $dynamic_ext $static_ext $nonxs_ext shift extensions="$*" -case "$onlyextensions" in -'') ;; -*) keepextensions='' - echo "You have requested that only certains extensions be included..." >&4 - for i in $onlyextensions; do - case " $extensions " in - *" $i "*) - echo "Keeping extension $i." - keepextensions="$keepextensions $i" - ;; - *) echo "Ignoring extension $i." ;; - esac - done - extensions="$keepextensions" - ;; -esac - -case "$noextensions" in -'') ;; -*) keepextensions='' - echo "You have requested that certain extensions be ignored..." >&4 - for i in $extensions; do - case " $i " in - " $noextensions ") echo "Ignoring extension $i." ;; - *) echo "Keeping extension $i."; - keepextensions="$keepextensions $i" - ;; - esac - done - extensions="$keepextensions" - ;; -esac - # Sanity check: We require an extension suitable for use with # AnyDBM_File, as well as Fcntl and IO. (Failure to have these # should show up as failures in the test suite, but it's helpful to @@ -20307,9 +20605,10 @@ esac # DB_File ... Fcntl ... IO .... # or something like # Fcntl ... NDBM_File ... IO .... -case "$extensions" in -*"_File "*" Fcntl "*" IO "*) ;; -*" Fcntl "*"_File "*" IO "*) ;; +case " $extensions" in +*"_File "*" Fcntl "*" IO "*) ;; # DB_File +*" Fcntl "*"_File "*" IO "*) ;; # GDBM_File +*" Fcntl "*" IO "*"_File "*) ;; # NDBM_File *) echo "WARNING: Extensions DB_File or *DBM_File, Fcntl, and IO not configured." >&4 echo "WARNING: The Perl you are building will be quite crippled." >& 4 ;; @@ -20506,7 +20805,13 @@ d_archlib='$d_archlib' d_asctime_r='$d_asctime_r' d_atolf='$d_atolf' d_atoll='$d_atoll' -d_attribut='$d_attribut' +d_attribute_format='$d_attribute_format' +d_attribute_malloc='$d_attribute_malloc' +d_attribute_nonnull='$d_attribute_nonnull' +d_attribute_noreturn='$d_attribute_noreturn' +d_attribute_pure='$d_attribute_pure' +d_attribute_unused='$d_attribute_unused' +d_attribute_warn_unused_result='$d_attribute_warn_unused_result' d_bcmp='$d_bcmp' d_bcopy='$d_bcopy' d_bsd='$d_bsd' @@ -20661,6 +20966,7 @@ d_isnanl='$d_isnanl' d_killpg='$d_killpg' d_lchown='$d_lchown' d_ldbl_dig='$d_ldbl_dig' +d_libm_lib_version='$d_libm_lib_version' d_link='$d_link' d_localtime_r='$d_localtime_r' d_locconv='$d_locconv' @@ -20703,7 +21009,6 @@ d_msgsnd='$d_msgsnd' d_msync='$d_msync' d_munmap='$d_munmap' d_mymalloc='$d_mymalloc' -d_nanosleep='$d_nanosleep' d_nice='$d_nice' d_nl_langinfo='$d_nl_langinfo' d_nv_preserves_uv='$d_nv_preserves_uv' @@ -20721,6 +21026,7 @@ d_poll='$d_poll' d_portable='$d_portable' d_procselfexe='$d_procselfexe' d_pthread_atfork='$d_pthread_atfork' +d_pthread_attr_setscope='$d_pthread_attr_setscope' d_pthread_yield='$d_pthread_yield' d_pwage='$d_pwage' d_pwchange='$d_pwchange' @@ -20829,6 +21135,8 @@ d_strerrm='$d_strerrm' d_strerror='$d_strerror' d_strerror_r='$d_strerror_r' d_strftime='$d_strftime' +d_strlcat='$d_strlcat' +d_strlcpy='$d_strlcpy' d_strtod='$d_strtod' d_strtol='$d_strtol' d_strtold='$d_strtold' @@ -21075,21 +21383,21 @@ installprivlib='$installprivlib' installscript='$installscript' installsitearch='$installsitearch' installsitebin='$installsitebin' -installsitehtml1='$installsitehtml1' -installsitehtml3='$installsitehtml3' +installsitehtml1dir='$installsitehtml1dir' +installsitehtml3dir='$installsitehtml3dir' installsitelib='$installsitelib' -installsiteman1='$installsiteman1' -installsiteman3='$installsiteman3' +installsiteman1dir='$installsiteman1dir' +installsiteman3dir='$installsiteman3dir' installsitescript='$installsitescript' installstyle='$installstyle' installusrbinperl='$installusrbinperl' installvendorarch='$installvendorarch' installvendorbin='$installvendorbin' -installvendorhtml1='$installvendorhtml1' -installvendorhtml3='$installvendorhtml3' +installvendorhtml1dir='$installvendorhtml1dir' +installvendorhtml3dir='$installvendorhtml3dir' installvendorlib='$installvendorlib' -installvendorman1='$installvendorman1' -installvendorman3='$installvendorman3' +installvendorman1dir='$installvendorman1dir' +installvendorman3dir='$installvendorman3dir' installvendorscript='$installvendorscript' intsize='$intsize' issymlink='$issymlink' @@ -21145,6 +21453,7 @@ man3dir='$man3dir' man3direxp='$man3direxp' man3ext='$man3ext' mips_type='$mips_type' +mistrustnm='$mistrustnm' mkdir='$mkdir' mmaptype='$mmaptype' modetype='$modetype' @@ -21198,7 +21507,6 @@ pg='$pg' phostname='$phostname' pidtype='$pidtype' plibpth='$plibpth' -pm_apiversion='$pm_apiversion' pmake='$pmake' pr='$pr' prefix='$prefix' @@ -21269,17 +21577,17 @@ sitearch='$sitearch' sitearchexp='$sitearchexp' sitebin='$sitebin' sitebinexp='$sitebinexp' -sitehtml1='$sitehtml1' -sitehtml1exp='$sitehtml1exp' -sitehtml3='$sitehtml3' -sitehtml3exp='$sitehtml3exp' +sitehtml1dir='$sitehtml1dir' +sitehtml1direxp='$sitehtml1direxp' +sitehtml3dir='$sitehtml3dir' +sitehtml3direxp='$sitehtml3direxp' sitelib='$sitelib' sitelib_stem='$sitelib_stem' sitelibexp='$sitelibexp' -siteman1='$siteman1' -siteman1exp='$siteman1exp' -siteman3='$siteman3' -siteman3exp='$siteman3exp' +siteman1dir='$siteman1dir' +siteman1direxp='$siteman1direxp' +siteman3dir='$siteman3dir' +siteman3direxp='$siteman3direxp' siteprefix='$siteprefix' siteprefixexp='$siteprefixexp' sitescript='$sitescript' @@ -21353,6 +21661,7 @@ usefaststdio='$usefaststdio' useithreads='$useithreads' uselargefiles='$uselargefiles' uselongdouble='$uselongdouble' +usemallocwrap='$usemallocwrap' usemorebits='$usemorebits' usemultiplicity='$usemultiplicity' usemymalloc='$usemymalloc' @@ -21361,8 +21670,10 @@ useopcode='$useopcode' useperlio='$useperlio' useposix='$useposix' usereentrant='$usereentrant' +userelocatableinc='$userelocatableinc' usesfio='$usesfio' useshrplib='$useshrplib' +usesitecustomize='$usesitecustomize' usesocks='$usesocks' usethreads='$usethreads' usevendorprefix='$usevendorprefix' @@ -21379,17 +21690,17 @@ vendorarch='$vendorarch' vendorarchexp='$vendorarchexp' vendorbin='$vendorbin' vendorbinexp='$vendorbinexp' -vendorhtml1='$vendorhtml1' -vendorhtml1exp='$vendorhtml1exp' -vendorhtml3='$vendorhtml3' -vendorhtml3exp='$vendorhtml3exp' +vendorhtml1dir='$vendorhtml1dir' +vendorhtml1direxp='$vendorhtml1direxp' +vendorhtml3dir='$vendorhtml3dir' +vendorhtml3direxp='$vendorhtml3direxp' vendorlib='$vendorlib' vendorlib_stem='$vendorlib_stem' vendorlibexp='$vendorlibexp' -vendorman1='$vendorman1' -vendorman1exp='$vendorman1exp' -vendorman3='$vendorman3' -vendorman3exp='$vendorman3exp' +vendorman1dir='$vendorman1dir' +vendorman1direxp='$vendorman1direxp' +vendorman3dir='$vendorman3dir' +vendorman3direxp='$vendorman3direxp' vendorprefix='$vendorprefix' vendorprefixexp='$vendorprefixexp' vendorscript='$vendorscript' @@ -21400,7 +21711,6 @@ versiononly='$versiononly' vi='$vi' voidflags='$voidflags' xlibpth='$xlibpth' -xs_apiversion='$xs_apiversion' yacc='$yacc' yaccflags='$yaccflags' zcat='$zcat'