update Changes, patchlevel etc.
[p5sagit/p5-mst-13.2.git] / Configure
index 3402c64..54636fe 100755 (executable)
--- 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 Sun Aug 29 14:08:45 EET DST 1999 [metaconfig 3.0 PL70]
+# Generated on Sun Oct  3 02:41:02 EET DST 1999 [metaconfig 3.0 PL70]
 # (with additional metaconfig patches by perlbug@perl.com)
 
 cat >/tmp/c1$$ <<EOF
@@ -814,10 +814,13 @@ stdio_stream_array=''
 d_strtoull=''
 sysman=''
 trnl=''
+uidsign=''
 uidtype=''
 archname64=''
 use64bits=''
+uselargefiles=''
 uselongdouble=''
+usemorebits=''
 usemultiplicity=''
 nm_opt=''
 nm_so_opt=''
@@ -840,6 +843,8 @@ vendorprefix=''
 vendorprefixexp=''
 defvoidused=''
 voidflags=''
+pm_apiversion=''
+xs_apiversion=''
 CONFIG=''
 
 define='define'
@@ -872,7 +877,7 @@ al="$al MIPSEB MIPSEL MSDOS MTXINU MULTIMAX MVS"
 al="$al M_COFF M_I186 M_I286 M_I386 M_I8086 M_I86 M_I86SM"
 al="$al M_SYS3 M_SYS5 M_SYSIII M_SYSV M_UNIX M_XENIX"
 al="$al NeXT OCS88 OSF1 PARISC PC532 PORTAR POSIX"
-al="$al PWB R3000 RES RISC6000 RT Sun386i SVR3 SVR4"
+al="$al PWB R3000 RES RISC6000 RT Sun386i SVR3 SVR4 SVR5"
 al="$al SYSTYPE_BSD SYSTYPE_SVR4 SYSTYPE_SYSV Tek4132 Tek4300"
 al="$al UMAXV USGr4 USGr4_2 UTEK UTS UTek UnicomPBB UnicomPBD Utek"
 al="$al VMS Xenix286"
@@ -1101,7 +1106,7 @@ done
 : produce awk script to parse command line options
 cat >options.awk <<'EOF'
 BEGIN {
-       optstr = "dD:eEf:hKOrsSU:V";    # getopt-style specification
+       optstr = "A:dD:eEf:hKOrsSU:V";  # getopt-style specification
 
        len = length(optstr);
        for (i = 1; i <= len; i++) {
@@ -1161,7 +1166,7 @@ silent=''
 extractsh=''
 override=''
 knowitall=''
-rm -f optdef.sh
+rm -f optdef.sh posthint.sh
 cat >optdef.sh <<EOS
 $startsh
 EOS
@@ -1215,8 +1220,57 @@ while test $# -gt 0; do
                esac
                shift
                ;;
+       -A)
+           shift
+           xxx=''
+           yyy="$1"
+           zzz=''
+           uuu=undef
+           case "$yyy" in
+            *=*) zzz=`echo $yyy|sed 's!=.*!!'`
+                 case "$zzz" in
+                 *:*) zzz='' ;;
+                 *)   xxx=append
+                      zzz=" "`echo $yyy|sed 's!^[^=]*=!!'` 
+                      yyy=`echo $yyy|sed 's!=.*!!'` ;;
+                 esac
+                 ;;
+            esac
+            case "$xxx" in
+            '')  case "$yyy" in
+                 *:*) xxx=`echo $yyy|sed 's!:.*!!'`
+                      yyy=`echo $yyy|sed 's!^[^:]*:!!'`
+                      zzz=`echo $yyy|sed 's!^[^=]*=!!'`
+                      yyy=`echo $yyy|sed 's!=.*!!'` ;;
+                 *)   xxx=`echo $yyy|sed 's!:.*!!'`
+                      yyy=`echo $yyy|sed 's!^[^:]*:!!'` ;;
+                 esac
+                 ;;       
+            esac
+           case "$xxx" in
+           append)
+               echo "$yyy=\"\${$yyy}$zzz\""    >> posthint.sh ;;
+           clear)
+               echo "$yyy=''"                  >> posthint.sh ;;
+           define)
+               case "$zzz" in
+               '') zzz=define ;;
+               esac
+               echo "$yyy='$zzz'"              >> posthint.sh ;;
+           eval)
+               echo "eval \"$yyy=$zzz\""       >> posthint.sh ;;
+           prepend)
+               echo "$yyy=\"$zzz\${$yyy}\""    >> posthint.sh ;;
+           undef)
+               case "$zzz" in
+               '') zzz="$uuu" ;;
+               esac
+               echo "$yyy=$zzz"                >> posthint.sh ;;
+            *)  echo "$me: unknown -A command '$xxx', ignoring -A $1" >&2 ;;
+           esac
+           ;;
        -V) echo "$me generated by metaconfig 3.0 PL70." >&2
-               exit 0;;
+           exit 0;;
        --) break;;
        -*) echo "$me: unknown option $1" >&2; shift; error=true;;
        *) break;;
@@ -1227,7 +1281,7 @@ case "$error" in
 true)
        cat >&2 <<EOM
 Usage: $me [-dehrsEKOSV] [-f config.sh] [-D symbol] [-D symbol=value]
-                 [-U symbol] [-U symbol=]
+                 [-U symbol] [-U symbol=] [-A command:symbol...]
   -d : use defaults for all answers.
   -e : go on without questioning past the production of config.sh.
   -f : specify an alternate default configuration file.
@@ -1244,6 +1298,16 @@ Usage: $me [-dehrsEKOSV] [-f config.sh] [-D symbol] [-D symbol=value]
   -U : undefine symbol:
          -U symbol    symbol gets the value 'undef'
          -U symbol=   symbol gets completely empty
+  -A : manipulate symbol after the platform specific hints have been applied:
+        -A symbol=value                append " "value to symbol
+        -A append:symbol=value         append value to symbol
+        -A define:symbol=value         define symbol to have value
+         -A clear:symbol               define symbol to be ''
+        -A define:symbol               define symbol to be 'define'
+        -A eval:symbol=value           define symbol to be eval of value
+        -A prepend:symbol=value        prepend value to symbol
+        -A undef:symbol                define symbol to be 'undef'
+        -A undef:symbol=               define symbol to be ''
   -V : print version number and exit (with a zero status).
 EOM
        exit 1
@@ -1269,6 +1333,8 @@ esac
 : run the defines and the undefines, if any, but leave the file out there...
 touch optdef.sh
 . ./optdef.sh
+: create the posthint manipulation script and leave the file out there...
+touch posthint.sh
 
 : set package name
 package=perl5
@@ -2247,7 +2313,10 @@ EOM
                        mips)   osname=mips_osf1 ;;
                        esac
                        ;;
-               uts) osname=uts 
+               unixware) osname=svr5
+                       osvers="$4"
+                       ;;
+               uts) osname=uts
                        osvers="$3"
                        ;;
                qnx) osname=qnx
@@ -2496,6 +2565,9 @@ none)  osvers='' ;;
 *) osvers="$ans" ;;
 esac
 
+
+. ./posthint.sh
+
 : 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`
@@ -2947,12 +3019,47 @@ case "$gccversion" in
 1*) cpp=`./loc gcc-cpp $cpp $pth` ;;
 esac
 
+
+case "$usemorebits" in
+"$define"|true|[yY]*)
+       use64bits="$define"
+       uselongdouble="$define"
+       usemorebits="$define"
+       ;;
+*)     usemorebits="$undef"
+       ;;
+esac
+
+
+cat <<EOM
+
+Perl can be built to understand large files (files larger than 2 gigabytes)
+on some systems.  To do so, Configure must be run with -Duselargefiles.
+
+If this doesn't make any sense to you, just accept the default.
+EOM
+case "$uselargefiles" in
+"$define"|true|[yY]*) dflt='y' ;;
+*)     dflt='n' ;;
+esac
+rp='Try to understand large files?'
+. ./myread
+case "$ans" in
+y|Y)   val="$define" ;;
+*)     val="$undef"  ;;
+esac
+set uselargefiles
+eval $setvar
+case "$uselargefiles" in
+"$define") use64bits="$define" ;;
+esac
+
 cat <<EOM
 
 Perl can be built to take advantage of explicit 64-bit interfaces,
 on some systems.  To do so, Configure must be run with -Duse64bits.
 
-If this doesn't make any sense to you, just accept the default 'n'.
+If this doesn't make any sense to you, just accept the default.
 EOM
 case "$use64bits" in
 $define|true|[yY]*)    dflt='y';;
@@ -3472,9 +3579,11 @@ echo "Getting the current patchlevel..." >&4
 if $test -r $rsrc/patchlevel.h;then
        patchlevel=`awk '/define[       ]+PERL_VERSION/ {print $3}' $rsrc/patchlevel.h`
        subversion=`awk '/define[       ]+PERL_SUBVERSION/ {print $3}' $rsrc/patchlevel.h`
+       apiversion=`awk '/define[       ]+PERL_APIVERSION/ {print $3}' $rsrc/patchlevel.h`
 else
        patchlevel=0
        subversion=0
+       apiversion=0
 fi
 $echo $n "(You have $package" $c
 case "$package" in
@@ -3494,15 +3603,6 @@ else
                 echo $baserev $patchlevel $subversion | \
                 $awk '{ printf "%.5f\n", $1 + $2/1000.0 + $3/100000.0 }'`
 fi
-: Figure out perl API version.  Perhaps this should be in patchlevel.h
-if test "$subversion" -lt 50; then
-       apiversion=`LC_ALL=C; export LC_ALL; \
-                LANGUAGE=C; export LANGUAGE; \
-                echo $baserev $patchlevel | \
-                $awk '{ printf "%.3f\n", $1 + $2/1000.0 }'`
-else
-       apiversion="$version"
-fi
 
 : determine installation style
 : For now, try to deduce it from prefix unless it is already set.
@@ -3543,7 +3643,7 @@ privlib="$ans"
 privlibexp="$ansexp"
 : Change installation prefix, if necessary.
 if $test X"$prefix" != X"$installprefix"; then
-       installprivlib=`echo $privlibexp | sed 's#^$prefix#$installprefix#'`
+       installprivlib=`echo $privlibexp | sed "s#^$prefix#$installprefix#"`
 else
        installprivlib="$privlibexp"
 fi
@@ -3588,7 +3688,7 @@ else
 fi
 : Change installation prefix, if necessary.
 if $test X"$prefix" != X"$installprefix"; then
-       installarchlib=`echo $archlibexp | sed 's#^$prefix#$installprefix#'`
+       installarchlib=`echo $archlibexp | sed "s#^$prefix#$installprefix#"`
 else
        installarchlib="$archlibexp"
 fi
@@ -4194,7 +4294,7 @@ default|recommended)
        case "$gccversion" in
        1*) ;;
        2.[0-8]*) ;;
-       *)      echo " "
+       ?*)     echo " "
                echo "Checking if your compiler accepts -fno-strict-aliasing" 2>&1
                echo 'int main(void) { return 0; }' > gcctest.c
                if $cc -O2 -fno-strict-aliasing -o gcctest gcctest.c; then
@@ -4716,7 +4816,7 @@ case "$vendorprefix" in
        vendorlibexp="$ansexp"
        : Change installation prefix, if necessary.
        if $test X"$prefix" != X"$installprefix"; then
-               installvendorlib=`echo $vendorlibexp | $sed 's#^$prefix#$installprefix#'`
+               installvendorlib=`echo $vendorlibexp | $sed "s#^$prefix#$installprefix#"`
        else
                installvendorlib="$vendorlibexp"
        fi
@@ -4779,7 +4879,7 @@ binexp="$ansexp"
 : Change installation prefix, if necessary.
 : XXX Bug? -- ignores Configure -Dinstallprefix setting.
 if $test X"$prefix" != X"$installprefix"; then
-       installbin=`echo $binexp | sed 's#^$prefix#$installprefix#'`
+       installbin=`echo $binexp | sed "s#^$prefix#$installprefix#"`
 else
        installbin="$binexp"
 fi
@@ -5761,7 +5861,7 @@ esac
 
 : Change installation prefix, if necessary.
 if $test X"$prefix" != X"$installprefix"; then
-       installman1dir=`echo $man1direxp | $sed 's#^$prefix#$installprefix#'`
+       installman1dir=`echo $man1direxp | $sed "s#^$prefix#$installprefix#"`
 else
        installman1dir="$man1direxp"
 fi
@@ -5904,7 +6004,7 @@ esac
 
 : Change installation prefix, if necessary.
 if $test X"$prefix" != X"$installprefix"; then
-       installman3dir=`echo $man3direxp | $sed 's#^$prefix#$installprefix#'`
+       installman3dir=`echo $man3direxp | $sed "s#^$prefix#$installprefix#"`
 else
        installman3dir="$man3direxp"
 fi
@@ -6336,7 +6436,7 @@ scriptdir="$ans"
 scriptdirexp="$ansexp"
 : Change installation prefix, if necessary.
 if $test X"$prefix" != X"$installprefix"; then
-       installscript=`echo $scriptdirexp | sed 's#^$prefix#$installprefix#'`
+       installscript=`echo $scriptdirexp | sed "s#^$prefix#$installprefix#"`
 else
        installscript="$scriptdirexp"
 fi
@@ -6401,7 +6501,7 @@ sitelib="$ans"
 sitelibexp="$ansexp"
 : Change installation prefix, if necessary.
 if $test X"$prefix" != X"$installprefix"; then
-       installsitelib=`echo $sitelibexp | sed 's#^$prefix#$installprefix#'`
+       installsitelib=`echo $sitelibexp | sed "s#^$prefix#$installprefix#"`
 else
        installsitelib="$sitelibexp"
 fi
@@ -6431,7 +6531,7 @@ sitearch="$ans"
 sitearchexp="$ansexp"
 : Change installation prefix, if necessary.
 if $test X"$prefix" != X"$installprefix"; then
-       installsitearch=`echo $sitearchexp | sed 's#^$prefix#$installprefix#'`
+       installsitearch=`echo $sitearchexp | sed "s#^$prefix#$installprefix#"`
 else
        installsitearch="$sitearchexp"
 fi
@@ -6622,7 +6722,7 @@ eval $setvar
 case "$use64bits" in
 "$define" )
        echo " "
-       echo $n "Checking to see if your system supports int64_t...$c" >&4
+       $echo $n "Checking to see if your system supports int64_t...$c" >&4
        $cat >try.c <<EOCP
 #include <sys/types.h>
 #$i_inttypes I_INTTYPES
@@ -6695,7 +6795,7 @@ $rm -f intsize intsize.*
 
 : check for long long
 echo " "
-echo $n "Checking to see if your system supports long long...$c" >&4
+$echo $n "Checking to see if your system supports long long...$c" >&4
 echo 'long long foo() { long long x; x = 7; return x; }' > try.c
 if $cc $optimize $ccflags -c try.c >/dev/null 2>&1; then
        val="$define"
@@ -6928,7 +7028,7 @@ $rm -f try.c try
 
 : check for long doubles
 echo " "
-echo $n "Checking to see if your system supports long double...$c" >&4
+$echo $n "Checking to see if your system supports long double...$c" >&4
 echo 'long double foo() { long double x; x = 7.0; return x; }' > try.c
 if $cc $optimize $ccflags -c try.c >/dev/null 2>&1; then
        val="$define"
@@ -8482,7 +8582,7 @@ eval $inlibc
 
 : check for off64_t
 echo " "
-echo $n "Checking to see if your system supports off64_t...$c" >&4
+$echo $n "Checking to see if your system supports off64_t...$c" >&4
 $cat >try.c <<EOCP
 #include <sys/types.h>
 #include <unistd.h>
@@ -8501,7 +8601,7 @@ eval $setvar
 
 : check for fpos64_t
 echo " "
-echo $n "Checking to see if your system supports fpos64_t...$c" >&4
+$echo $n "Checking to see if your system supports fpos64_t...$c" >&4
 $cat >try.c <<EOCP
 #include <sys/stdio.h>
 fpos64_t foo() { fpos64_t x; x = 7; return x; }'
@@ -9160,12 +9260,9 @@ set nice d_nice
 eval $inlibc
 
 : see if POSIX threads are available
-if test "X$usethreads" = "X$define"; then
-       set pthread.h i_pthread
-       eval $inhdr
-else
-       i_pthread="$undef"
-fi
+set pthread.h i_pthread
+eval $inhdr
+
 
 
 
@@ -10121,6 +10218,8 @@ if set sigaction val -f d_sigaction; eval $csym; $val; then
 int main()
 {
     struct sigaction act, oact;
+    act.sa_flags = 0;
+    oact.sa_handler = 0;
 }
 EOP
        set try
@@ -11314,7 +11413,7 @@ if eval $compile_ok; then
                echo "You have EBCDIC." >&4
                val="$define"
        else
-               echo "Nope, no EBCDIC.  Assuming ASCII or some ISO Latin, or UTF." >&4
+               echo "Nope, no EBCDIC, probably ASCII or some ISO Latin." >&4
        fi
 else
        echo "I'm unable to compile the test program." >&4
@@ -11842,6 +11941,15 @@ rp="What is the type of process ids on this system?"
 set pid_t pidtype int stdio.h sys/types.h
 eval $typedef_ask
 
+: Find earliest binary compatible site_perl subdirectory perl can use.
+case "$bincompat5005" in
+"$define") xs_apiversion='5.005' ;;
+*) xs_apiversion=$apiversion ;;   # The current site_perl version.
+esac
+: Find earliest pure perl site_perl subdirectory perl can use.
+: The versioned directories started at 5.005.
+pm_apiversion='5.005'
+
 : check for length of pointer
 echo " "
 case "$ptrsize" in
@@ -12411,6 +12519,43 @@ uid_t) echo "uid_t found." ;;
        ;;
 esac
 
+echo " "
+case "$uidtype" in
+*_t) zzz="$uidtype"    ;;
+*)   zzz="uid"         ;;
+esac
+echo "Checking the sign of $zzz..." >&4
+cat > try.c <<EOCP
+#include <sys/types.h>
+#include <stdio.h>
+int main() {
+       $uidtype foo = -1;
+       if (foo < 0)
+               printf("-1\n");
+       else
+               printf("1\n");
+}
+EOCP
+set try
+if eval $compile; then
+       yyy=`./try`
+       case "$yyy" in
+       '')     uidsign=1
+               echo "(I can't execute the test program--guessing unsigned.)" >&4
+               ;;
+       *)      uidsign=$yyy
+               case "$uidsign" in
+                1) echo "Your $zzz is unsigned." ;;
+               -1) echo "Your $zzz is signed."   ;;
+               esac
+               ;;
+       esac
+else
+       uidsign=1
+       echo "(I can't compile the test program--guessing unsigned.)" >&4
+fi
+
+
 : see if dbm.h is available
 : see if dbmclose exists
 set dbmclose d_dbmclose
@@ -13805,6 +13950,7 @@ pg='$pg'
 phostname='$phostname'
 pidtype='$pidtype'
 plibpth='$plibpth'
+pm_apiversion='$pm_apiversion'
 pmake='$pmake'
 pr='$pr'
 prefix='$prefix'
@@ -13898,12 +14044,15 @@ touch='$touch'
 tr='$tr'
 trnl='$trnl'
 troff='$troff'
+uidsign='$uidsign'
 uidtype='$uidtype'
 uname='$uname'
 uniq='$uniq'
 use64bits='$use64bits'
 usedl='$usedl'
+uselargefiles='$uselargefiles'
 uselongdouble='$uselongdouble'
+usemorebits='$usemorebits'
 usemultiplicity='$usemultiplicity'
 usemymalloc='$usemymalloc'
 usenm='$usenm'
@@ -13926,6 +14075,7 @@ version='$version'
 vi='$vi'
 voidflags='$voidflags'
 xlibpth='$xlibpth'
+xs_apiversion='$xs_apiversion'
 zcat='$zcat'
 zip='$zip'
 EOT