Re: [PATCH] Fix PERL_MALLOC_WRAP change for Win32
[p5sagit/p5-mst-13.2.git] / Configure
index b992563..072afbf 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 Mon Aug 25 19:47:58 EEST 2003 [metaconfig 3.0 PL70]
+# Generated on Thu Feb 26 10:02:07 MET 2004 [metaconfig 3.0 PL70]
 # (with additional metaconfig patches by perlbug@perl.org)
 
 cat >c1$$ <<EOF
@@ -942,6 +942,7 @@ freetype=''
 mallocobj=''
 mallocsrc=''
 malloctype=''
+usemallocwrap=''
 usemymalloc=''
 installman1dir=''
 man1dir=''
@@ -1173,8 +1174,6 @@ vendorscriptexp=''
 versiononly=''
 defvoidused=''
 voidflags=''
-pm_apiversion=''
-xs_apiversion=''
 yacc=''
 yaccflags=''
 CONFIG=''
@@ -1209,6 +1208,17 @@ elif test -d c:/. -o -n "$is_os2" ; then
 fi
 
 i_whoami=''
+ccname=''
+ccversion=''
+perllibs=''
+: set useposix=false in your hint file to disable the POSIX extension.
+useposix=true
+: set useopcode=false in your hint file to disable the Opcode extension.
+useopcode=true
+: Trailing extension.  Override this in a hint file, if needed.
+: Extra object files, if any, needed on this platform.
+archobjs=''
+archname=''
 : Possible local include directories to search.
 : Set locincpth to "" in a hint file to defeat local include searches.
 locincpth="/usr/local/include /opt/local/include /usr/gnu/include"
@@ -1217,12 +1227,6 @@ locincpth="$locincpth /opt/gnu/include /usr/GNU/include /opt/GNU/include"
 : no include file wanted by default
 inclwanted=''
 
-siteman1dir=''
-siteman3dir=''
-sitescript=''
-: Trailing extension.  Override this in a hint file, if needed.
-: Extra object files, if any, needed on this platform.
-archobjs=''
 groupstype=''
 libnames=''
 : change the next line if compiling for Xenix/286 on Xenix/386
@@ -1246,25 +1250,20 @@ plibpth=''
 libswanted=''
 : some systems want to use only the non-versioned libso:s
 ignore_versioned_solibs=''
-: full support for void wanted by default
-defvoidused=15
-
-ccname=''
-ccversion=''
-perllibs=''
-: set useposix=false in your hint file to disable the POSIX extension.
-useposix=true
-: set useopcode=false in your hint file to disable the Opcode extension.
-useopcode=true
+siteman1dir=''
+siteman3dir=''
+sitescript=''
 archname64=''
 ccflags_uselargefiles=''
 ldflags_uselargefiles=''
 libswanted_uselargefiles=''
 : set usemultiplicity on the Configure command line to enable multiplicity.
 : set usesocks on the Configure command line to enable socks.
-archname=''
 : set usethreads on the Configure command line to enable threads.
 usereentrant='undef'
+: full support for void wanted by default
+defvoidused=15
+
 : List of libraries we want.
 : If anyone needs extra -lxxx, put those in a hint file.
 libswanted="sfio socket bind inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun"
@@ -3103,7 +3102,7 @@ EOM
                domainos) osname=apollo
                        osvers="$3"
                        ;;
-               dgux) osname=dgux 
+               dgux)   osname=dgux 
                        osvers="$3"
                        ;;
                dynixptx*) osname=dynixptx
@@ -3111,23 +3110,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"
@@ -3458,12 +3459,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 +3677,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 <<EOM
-(Your platform doesn't have any specific hints for threaded builds.
+(Your platform does not have any specific hints for threaded builds.
  Assuming POSIX threads, then.)
 EOM
-       fi
        ;;
-esac
+    esac
+fi
 
 cat <<EOM
 
@@ -4546,21 +4550,21 @@ case "$uselongdouble" in
 true|[yY]*) uselongdouble="$define" ;;
 esac
 
-case "$uselongdouble" in
-$define)
 : Look for a hint-file generated 'call-back-unit'.  If the
 : user has specified that long doubles should be used,
 : we may need to set or change some other defaults.
-       if $test -f uselongdouble.cbu; then
-               echo "Your platform has some specific hints for long doubles, using them..."
-               . ./uselongdouble.cbu
-       else
+if $test -f uselongdouble.cbu; then
+    echo "Your platform has some specific hints regarding long doubles, using them..."
+    . ./uselongdouble.cbu
+else
+    case "$uselongdouble" in
+       $define)
                $cat <<EOM
-(Your platform doesn't have any specific hints for long doubles.)
+(Your platform does not have any specific hints for long doubles.)
 EOM
-       fi
        ;;
-esac
+    esac
+fi
 
 : Looking for optional libraries
 echo " "
@@ -5447,15 +5451,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..."
+       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 +5469,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..."
+       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 ;;
@@ -5571,7 +5575,9 @@ EOCP
                longdblsize="$ans"
        fi
        if $test "X$doublesize" = "X$longdblsize"; then
-               echo "(That isn't any different from an ordinary double.)"
+               echo "That isn't any different from an ordinary double."
+               echo "I'll keep your setting anyway, but you may see some"
+               echo "harmless compilation warnings."
        fi      
        ;;
 esac
@@ -6253,6 +6259,26 @@ EOM
        ;;
 esac
 
+: determine whether to use malloc wrapping
+echo " "
+case "$usemallocwrap" in
+[yY]*|true|$define)    dflt='y' ;;
+[nN]*|false|$undef)    dflt='n' ;;
+*)     case "$usedevel" in
+       [yY]*|true|$define)     dflt='y' ;;
+       *) dflt='n' ;;
+       esac
+       ;;
+esac
+rp="Do you wish to wrap malloc calls to protect against potential overflows?"
+. ./myread
+usemallocwrap="$ans"
+case "$ans" in
+y*|true)
+       usemallocwrap="$define" ;;
+*)
+       usemallocwrap="$undef" ;;
+esac
 
 : determine which malloc to compile in
 echo " "
@@ -6871,7 +6897,7 @@ EOM
 rp='List of earlier versions to include in @INC?'
 . ./myread
 case "$ans" in
-[Nn]one|''|' ') inc_version_list=' ' ;;
+[Nn]one|''|' '|$undef) inc_version_list=' ' ;;
 *) inc_version_list="$ans" ;;
 esac
 case "$inc_version_list" in
@@ -7354,9 +7380,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
@@ -7370,16 +7396,15 @@ yes)
                if $contains $tlook $tf >/dev/null 2>&1; then
                        tval=true;
                elif $test "$mistrustnm" = compile -o "$mistrustnm" = run; then
-                       echo "int main() { extern void *$1$tdc; if (&$1$tc) return(0); else return(1); }" > try.c;
+                       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 >/dev/null 2>&1 || tval=false; };
-                       $rm -f try try.c core;
+                       $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;
        else
-               echo "#include <stdio.h>" > try.c;
-               echo "int main() { extern void *$1$tdc; if(&$1$tc) return(0); else return(1); }" > try.c;
+               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 try.c;
+               $rm -f try$_exe try.c;
        fi;
        ;;
 *)
@@ -7622,11 +7647,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) dflt='-Wl,-E' ;;
+           next|sunos) dflt='none' ;;
+           *)          dflt='none' ;;
            esac ;;
     ' ')  dflt='none' ;;
     *)  dflt="$ccdlflags" ;;
@@ -8851,14 +8874,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 <<EOCP
@@ -16952,10 +16977,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);
@@ -18640,12 +18665,6 @@ 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.
-xs_apiversion=$version # The current site_perl version.
-: Find earliest pure perl site_perl subdirectory perl can use.
-: The versioned directories started at 5.005.
-pm_apiversion='5.005'
-
 : see if ar generates random libraries by itself
 echo " "
 echo "Checking how to generate random libraries on your machine..." >&4
@@ -21145,6 +21164,7 @@ make_set_make='$make_set_make'
 mallocobj='$mallocobj'
 mallocsrc='$mallocsrc'
 malloctype='$malloctype'
+usemallocwrap='$usemallocwrap'
 man1dir='$man1dir'
 man1direxp='$man1direxp'
 man1ext='$man1ext'
@@ -21206,7 +21226,6 @@ pg='$pg'
 phostname='$phostname'
 pidtype='$pidtype'
 plibpth='$plibpth'
-pm_apiversion='$pm_apiversion'
 pmake='$pmake'
 pr='$pr'
 prefix='$prefix'
@@ -21408,7 +21427,6 @@ versiononly='$versiononly'
 vi='$vi'
 voidflags='$voidflags'
 xlibpth='$xlibpth'
-xs_apiversion='$xs_apiversion'
 yacc='$yacc'
 yaccflags='$yaccflags'
 zcat='$zcat'