$VERSION++ for all the non-dual life modules in ext/ that
[p5sagit/p5-mst-13.2.git] / Configure
index 3658695..54ac753 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -25,7 +25,7 @@
 
 # $Id: Head.U 6 2006-08-25 22:21:46Z rmanfredi $
 #
-# Generated on Mon Jan 14 17:33:05 CET 2008 [metaconfig 3.0 PL70]
+# Generated on Sun Mar 30 11:17:56 CEST 2008 [metaconfig 3.5 PL0]
 # (with additional metaconfig patches by perlbug@perl.org)
 
 cat >c1$$ <<EOF
@@ -221,7 +221,6 @@ d_bsd=''
 d_eunice=''
 d_xenix=''
 eunicefix=''
-Mcc=''
 ar=''
 awk=''
 bash=''
@@ -870,6 +869,7 @@ i_limits=''
 i_locale=''
 i_machcthr=''
 i_malloc=''
+i_mallocmalloc=''
 i_math=''
 i_memory=''
 i_mntent=''
@@ -913,6 +913,7 @@ i_sysmode=''
 i_sysmount=''
 i_sysndir=''
 i_sysparam=''
+i_syspoll=''
 i_sysresrc=''
 i_syssecrt=''
 i_sysselct=''
@@ -1058,6 +1059,7 @@ i8size=''
 i8type=''
 ivsize=''
 ivtype=''
+nv_overflows_integers_at=''
 nv_preserves_uv_bits=''
 nvsize=''
 nvtype=''
@@ -1296,9 +1298,6 @@ plibpth=''
 libswanted=''
 : some systems want to use only the non-versioned libso:s
 ignore_versioned_solibs=''
-siteman1dir=''
-siteman3dir=''
-sitescript=''
 : set usethreads on the Configure command line to enable threads.
 usereentrant='undef'
 : full support for void wanted by default
@@ -1649,7 +1648,7 @@ while test $# -gt 0; do
            esac
            shift
            ;;
-       -V) echo "$me generated by metaconfig 3.0 PL70." >&2
+       -V) echo "$me generated by metaconfig 3.5 PL0." >&2
            exit 0;;
        --) break;;
        -*) echo "$me: unknown option $1" >&2; shift; error=true;;
@@ -1937,11 +1936,13 @@ rm -f .echotmp
 echo " "
 if test -f "$rsrc/MANIFEST"; then
        echo "First let's make sure your kit is complete.  Checking..." >&4
-       awk '$1 !~ /PACK[A-Z]+/ {print $1}' "$rsrc/MANIFEST" | (split -l 50 2>/dev/null || split -50)
+       awk '$1 !~ /PACK[A-Z]+/ {print $1}' "$rsrc/MANIFEST" |\
+               (split -l 50 2>/dev/null || split -50)
        rm -f missing
        tmppwd=`pwd`
        for filelist in x??; do
-               (cd "$rsrc"; ls `cat "$tmppwd/$filelist"` >/dev/null 2>>"$tmppwd/missing")
+               (cd "$rsrc"; ls `cat "$tmppwd/$filelist"` \
+                       >/dev/null 2>>"$tmppwd/missing")
        done
        if test -s missing; then
                cat missing >&4
@@ -2281,14 +2282,13 @@ for dir in \$*; do
                exit 0
        elif test "X$_exe" != X -a -f \$thisthing$_exe; then
                echo \$thisthing
-               exit 0
+               exit 0
        elif test -f \$dir/\$thing.exe; then
                if test -n "$DJGPP"; then
                        echo \$dir/\$thing.exe
                elif test "$eunicefix" != ":"; then
                        : on Eunice apparently
                        echo \$dir/\$thing
-                       exit 0
                fi
                exit 0
        fi
@@ -2319,7 +2319,6 @@ tr
 uniq
 "
 trylist="
-Mcc
 ar
 bison
 byacc
@@ -3592,10 +3591,10 @@ cat >filexp <<EOSS
 $startsh
 : expand filename
 case "\$1" in
- ~/*|~)
+ \~/*|\~)
        echo \$1 | $sed "s|~|\${HOME-\$LOGDIR}|"
        ;;
- ~*)
+ \~*)
        if $test -f /bin/csh; then
                /bin/csh -f -c "glob \$1"
                failed=\$?
@@ -3902,17 +3901,18 @@ esac
 prefix="$ans"
 prefixexp="$ansexp"
 
-: is AFS running?
+: allow them to override the AFS root
 case "$afsroot" in
 '')    afsroot=/afs ;;
 *)     afsroot=$afsroot ;;
 esac
 
+: is AFS running?
 echo " "
 case "$afs" in
 $define|true)  afs=true ;;
 $undef|false)  afs=false ;;
-*)     if test -d $afsroot; then
+*)     if $test -d $afsroot; then
                afs=true
        else
                afs=false
@@ -4014,7 +4014,7 @@ y) td=$was; tu=$was;;
 esac
 EOSC
 
-: function used to set $1 to $val
+: function used to set '$1' to '$val'
 setvar='var=$1; eval "was=\$$1"; td=$define; tu=$undef;
 case "$val$was" in
 $define$undef) . ./whoa; eval "$var=\$td";;
@@ -4341,6 +4341,23 @@ case "$usemorebits" in
        ;;
 esac
 
+: Determine the C compiler to be used
+echo " "
+case "$cc" in
+'') dflt=cc;;
+*) dflt="$cc";;
+esac
+rp="Use which C compiler?"
+. ./myread
+cc="$ans"
+
+: See whether they have no cc but they do have gcc
+. ./trygcc
+if $test -f cc.cbu; then
+    . ./cc.cbu
+fi
+. ./checkcc
+
 : make some quick guesses about what we are up against
 echo " "
 $echo $n "Hmm...  $c"
@@ -4436,25 +4453,6 @@ chmod +x bsd usg v7 osf1 eunice xenix venix os2
 $eunicefix bsd usg v7 osf1 eunice xenix venix os2
 $rm -f foo
 
-: Checking the C compiler
-case "$cc" in
-'') dflt=cc;;
-*) dflt="$cc";;
-esac
-rp="Use which C compiler?"
-. ./myread
-cc="$ans"
-
-: See if they have not cc but they do have gcc
-. ./trygcc
-: Look for a hint-file generated 'call-back-unit'.  Now that the
-: user has specified the compiler, we may need to set or change some
-: other defaults.
-if $test -f cc.cbu; then
-    . ./cc.cbu
-fi
-. ./checkcc
-
 : Check if we are using GNU gcc and what its version is
 echo " "
 echo "Checking for GNU cc in disguise and/or its version number..." >&4
@@ -5384,6 +5382,11 @@ $rm_try gcctest gcctest.out
 compile='
 mc_file=$1;
 shift;
+case "$usedevel" in $define|true|[yY]*) if $test ! -f "${mc_file}.c"; then
+echo "Internal Configure script bug - compiler test file ${mc_file}.c is missing. Please report this to perlbug@perl.org" >&4;
+exit 1;
+fi;
+esac;
 $cc -o ${mc_file} $optimize $ccflags $ldflags $* ${mc_file}.c $libs > /dev/null 2>&1;'
 : define a shorthand compile call for compilations that should be ok.
 compile_ok='
@@ -6553,6 +6556,10 @@ case "$inc_version_list" in
 esac
 $rm -f getverlist
 
+: see if malloc/malloc.h has to be included
+set malloc/malloc.h i_mallocmalloc
+eval $inhdr
+
 : see if this is a malloc.h system
 : we want a real compile instead of Inhdr because some systems have a
 : malloc.h that just gives a compile error saying to use stdlib.h instead
@@ -6560,6 +6567,11 @@ echo " "
 $cat >try.c <<EOCP
 #include <stdlib.h>
 #include <malloc.h>
+$i_mallocmalloc I_MALLOCMALLOC
+#ifdef I_MALLOCMALLOC
+# include <malloc/malloc.h>
+#endif
+
 int main () { return 0; }
 EOCP
 set try
@@ -8379,7 +8391,7 @@ You can't have filenames longer than 14 chars.
 You can't even think about them!
 EOM
        val="$undef"
-fi 
+fi
 set d_flexfnam
 eval $setvar
 $rm -rf 123456789abcde*
@@ -8737,7 +8749,7 @@ case "$phostname" in
        ;;
 esac
 
-: Ask for e-mail
+: determine the e-mail address of the user who is running us
 $cat <<EOM
 
 I need to get your e-mail address in Internet format if possible, i.e.
@@ -10557,7 +10569,7 @@ int main(void) {
 
 EOCP
     set try
-    if eval $compile; then
+    if eval $compile && $run ./try; then
        echo "Your C compiler supports __builtin_choose_expr."
        val="$define"
     else
@@ -10577,18 +10589,20 @@ case "$d_builtin_expect" in
 '')
     echo " "
     echo "Checking whether your compiler can handle __builtin_expect ..." >&4
-    $cat >builtin.c <<'EOCP'
+    $cat >try.c <<'EOCP'
 int main(void) {
     int n = 50;
     if ( __builtin_expect(n, 0) ) n = 1;
+    /* Remember shell exit code truth is 0, C truth is non-zero */
+    return !(n == 1);
 }
 EOCP
     set try
-    if eval $compile; then
-       echo "Your C compiler supports __builtin_choose_expr."
+    if eval $compile && $run ./try; then
+       echo "Your C compiler supports __builtin_expect."
        val="$define"
     else
-       echo "Your C compiler doesn't seem to understand __builtin_choose_expr."
+       echo "Your C compiler doesn't seem to understand __builtin_expect."
        val="$undef"
     fi
     ;;
@@ -12275,6 +12289,24 @@ set d_open3
 eval $setvar
 $rm_try
 
+: script used to emit important warnings
+cat >warn <<EOS
+$startsh
+if test \$# -gt 0; then
+       echo "\$@" >msg
+else
+       cat >msg
+fi
+echo "*** WARNING:" >&4
+sed -e 's/^/*** /' <msg >&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`
@@ -12287,7 +12319,7 @@ else
        if $test "$strings" && $test -r "$strings"; then
                echo "Using <strings.h> instead of <string.h>." >&4
        else
-               echo "No string header found -- You'll surely have problems." >&4
+               ./warn "No string header found -- You'll surely have problems."
        fi
 fi
 set i_string
@@ -15473,6 +15505,89 @@ case "$nv_preserves_uv_bits" in
 esac
 $rm_try
 
+$echo "Checking to find the largest integer value your NVs can hold..." >&4
+: volatile so that the compiler has to store it out to memory.
+if test X"$d_volatile" = X"$define"; then
+       volatile=volatile
+fi
+$cat <<EOP >try.c
+#include <stdio.h>
+
+typedef $nvtype NV;
+
+int
+main() {
+  NV value = 2;
+  int count = 1;
+
+  while(count < 256) {
+    $volatile NV up = value + 1.0;
+    $volatile NV negated = -value;
+    $volatile NV down = negated - 1.0;
+    $volatile NV got_up = up - value;
+    int up_good = got_up == 1.0;
+    int got_down = down - negated;
+    int down_good = got_down == -1.0;
+
+    if (down_good != up_good) {
+      fprintf(stderr,
+             "Inconsistency - up %d %f; down %d %f; for 2**%d (%.20f)\n",
+             up_good, (double) got_up, down_good, (double) got_down,
+             count, (double) value);
+      return 1;
+    }
+    if (!up_good) {
+      while (1) {
+       if (count > 8) {
+         count -= 8;
+         fputs("256.0", stdout);
+       } else {
+         count--;
+         fputs("2.0", stdout);
+       }
+       if (!count) {
+         puts("");
+         return 0;
+       }
+       fputs("*", stdout);
+      }
+    }
+    value *= 2;
+    ++count;
+  }
+  fprintf(stderr, "Cannot overflow integer range, even at 2**%d (%.20f)\n",
+         count, (double) value);
+  return 1;
+}
+EOP
+set try
+
+nv_overflows_integers_at='0'
+if eval $compile; then
+    xxx="`$run ./try`"
+    case "$?" in
+       0)
+           case "$xxx" in
+               2*)  cat >&4 <<EOM
+The largest integer your NVs can preserve is equal to $xxx
+EOM
+                   nv_overflows_integers_at="$xxx"
+                   ;;
+               *)  cat >&4 <<EOM
+Cannot determine the largest integer value your NVs can hold, unexpected output
+'$xxx'
+EOM
+                   ;;
+           esac
+           ;;
+       *)  cat >&4 <<EOM
+Cannot determine the largest integer value your NVs can hold
+EOM
+           ;;
+    esac
+fi
+$rm_try
+
 $echo "Checking whether NV 0.0 is all bits zero in memory..." >&4
 : volatile so that the compiler has to store it out to memory.
 if test X"$d_volatile" = X"$define"; then
@@ -19550,6 +19665,7 @@ esac
 set mad
 eval $setvar
 
+: check whether make sets MAKE
 echo " "
 echo "Checking if your $make program sets \$(MAKE)..." >&4
 case "$make_set_make" in
@@ -20022,11 +20138,6 @@ EOM
 esac
 
 : Trace out the files included by signal.h, then look for SIGxxx names.
-: Remove SIGARRAYSIZE used by HPUX.
-: Remove SIGSTKSIZE used by Linux.
-: Remove SIGSTKSZ used by Posix.
-: Remove SIGTYP void lines used by OS2.
-: Some cpps, like os390, dont give the file name anywhere
 if [ "X$fieldn" = X ]; then
        : Just make some guesses.  We check them later.
        xxx='/usr/include/signal.h /usr/include/sys/signal.h'
@@ -20034,16 +20145,13 @@ else
        xxx=`echo '#include <signal.h>' |
        $cppstdin $cppminus $cppflags 2>/dev/null |
        $grep '^[       ]*#.*include' |
-       $awk "{print \\$$fieldn}" | $sed 's!"!!g' | $sed 's!\\\\\\\\!/!g' | $sort | $uniq`
+       $awk "{print \\$$fieldn}" | $sed 's!"!!g' |\
+               $sed 's!\\\\\\\\!/!g' | $sort | $uniq`
 fi
-: Check this list of files to be sure we have parsed the cpp output ok.
-: This will also avoid potentially non-existent files, such
-: as ../foo/bar.h
 xxxfiles=''
 for xx in $xxx /dev/null ; do
        $test -f "$xx" && xxxfiles="$xxxfiles $xx"
 done
-: If we have found no files, at least try signal.h
 case "$xxxfiles" in
 '')    xxxfiles=`./findhdr signal.h` ;;
 esac
@@ -20191,7 +20299,8 @@ $cat >>signal_cmd <<'EOS'
 
 set signal
 if eval $compile_ok; then
-       $run ./signal$_exe | ($sort -n -k 2 2>/dev/null || $sort -n +1) | $uniq | $awk -f signal.awk >signal.lst
+       $run ./signal$_exe | ($sort -n -k 2 2>/dev/null || $sort -n +1) |\
+               $uniq | $awk -f signal.awk >signal.lst
 else
        echo "(I can't seem be able to compile the whole test program)" >&4
        echo "(I'll try it in little pieces.)" >&4
@@ -21010,14 +21119,14 @@ case "$val3" in
                                echo "<sgtty.h> found." >&4
                        else
                                echo "System is pyramid with BSD universe."
-                               echo "<sgtty.h> not found--you could have problems." >&4
+                               ./warn "<sgtty.h> not found--you could have problems."
                        fi;;
                *) if $test `./findhdr termio.h`; then
                                val="$define"
                                echo "<termio.h> found." >&4
                        else
                                echo "System is pyramid with USG universe."
-                               echo "<termio.h> not found--you could have problems." >&4
+                               ./warn "<termio.h> not found--you could have problems."
                        fi;;
                esac
        elif ./usg; then
@@ -21028,7 +21137,7 @@ case "$val3" in
                        echo "<sgtty.h> found." >&4
                        val2="$define"
                else
-echo "Neither <termio.h> nor <sgtty.h> found--you could have problems." >&4
+                       ./warn "Neither <termio.h> nor <sgtty.h> found--cross fingers!"
                fi
        else
                if $test `./findhdr sgtty.h`; then
@@ -21038,7 +21147,7 @@ echo "Neither <termio.h> nor <sgtty.h> found--you could have problems." >&4
                        echo "<termio.h> found." >&4
                        val="$define"
                else
-echo "Neither <sgtty.h> nor <termio.h> found--you could have problems." >&4
+                       ./warn "Neither <sgtty.h> nor <termio.h> found--cross fingers!"
                fi
        fi;;
 esac
@@ -21103,6 +21212,10 @@ eval $inhdr
 set sys/mode.h i_sysmode
 eval $inhdr
 
+: see if there is a sys/poll.h file
+set sys/poll.h i_syspoll
+eval $inhdr
+
 : see if sys/resource.h has to be included
 set sys/resource.h i_sysresrc
 eval $inhdr
@@ -21580,9 +21693,9 @@ if test -d ../UU; then
        cd ..
 fi
 
-: configuration may be patched via a 'config.arch' file
+: configuration may be unconditionally patched via a 'config.arch' file
 if $test -f config.arch; then
-       echo "I see a config.arch file, loading it."
+       echo "I see a config.arch file, loading it." >&4
        . ./config.arch
 fi
 
@@ -21630,13 +21743,16 @@ $startsh
 # Configured by     : $cf_by
 # Target system     : $myuname
 
+EOT
+$test -f UU/cmdline.opt && $cat UU/cmdline.opt >> config.sh
+$spitshell <<EOT >>config.sh
+
 Author='$Author'
 Date='$Date'
 Header='$Header'
 Id='$Id'
 Locker='$Locker'
 Log='$Log'
-Mcc='$Mcc'
 RCSfile='$RCSfile'
 Revision='$Revision'
 Source='$Source'
@@ -22252,6 +22368,7 @@ i_limits='$i_limits'
 i_locale='$i_locale'
 i_machcthr='$i_machcthr'
 i_malloc='$i_malloc'
+i_mallocmalloc='$i_mallocmalloc'
 i_math='$i_math'
 i_memory='$i_memory'
 i_mntent='$i_mntent'
@@ -22286,6 +22403,7 @@ i_sysmode='$i_sysmode'
 i_sysmount='$i_sysmount'
 i_sysndir='$i_sysndir'
 i_sysparam='$i_sysparam'
+i_syspoll='$i_syspoll'
 i_sysresrc='$i_sysresrc'
 i_syssecrt='$i_syssecrt'
 i_sysselct='$i_sysselct'
@@ -22429,6 +22547,7 @@ nroff='$nroff'
 nvEUformat='$nvEUformat'
 nvFUformat='$nvFUformat'
 nvGUformat='$nvGUformat'
+nv_overflows_integers_at='$nv_overflows_integers_at'
 nv_preserves_uv_bits='$nv_preserves_uv_bits'
 nveformat='$nveformat'
 nvfformat='$nvfformat'
@@ -22682,8 +22801,9 @@ echo "PERL_CONFIG_SH=true" >>config.sh
 : propagate old symbols
 if $test -f UU/config.sh; then
        <UU/config.sh $sort | $uniq >UU/oldconfig.sh
-       sed -n 's/^\([a-zA-Z_0-9]*\)=.*/\1/p' config.sh config.sh UU/oldconfig.sh |\
-       $sort | $uniq -u >UU/oldsyms
+       $sed -n 's/^\([a-zA-Z_0-9]*\)=.*/\1/p' \
+               config.sh config.sh UU/oldconfig.sh |\
+               $sort | $uniq -u >UU/oldsyms
        set X `cat UU/oldsyms`
        shift
        case $# in
@@ -22692,7 +22812,7 @@ if $test -f UU/config.sh; then
                cat <<EOM
 Hmm...You had some extra variables I don't know about...I'll try to keep 'em...
 EOM
-               echo "# Variables propagated from previous config.sh file." >>config.sh
+               echo ": Variables propagated from previous config.sh file." >>config.sh
                for sym in `cat UU/oldsyms`; do
                        echo "    Propagating $hint variable "'$'"$sym..."
                        eval 'tmp="$'"${sym}"'"'