more Compiler tweaks for useithreads
[p5sagit/p5-mst-13.2.git] / Configure
index 28d19d6..beefcdc 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 Wed Feb 16 01:07:15 EET 2000 [metaconfig 3.0 PL70]
+# Generated on Thu Feb 24 03:13:49 EET 2000 [metaconfig 3.0 PL70]
 # (with additional metaconfig patches by perlbug@perl.com)
 
 cat >/tmp/c1$$ <<EOF
@@ -402,7 +402,7 @@ d_hasmntopt=''
 d_htonl=''
 d_iconv=''
 d_inetaton=''
-d_int64t=''
+d_int64_t=''
 d_isascii=''
 d_killpg=''
 d_lchown=''
@@ -514,6 +514,7 @@ d_socket=''
 d_sockpair=''
 sockethdr=''
 socketlib=''
+d_socklen_t=''
 d_sqrtl=''
 d_statblks=''
 d_statfs_f_flags=''
@@ -653,6 +654,7 @@ i_sysioctl=''
 i_syssockio=''
 i_syslog=''
 i_sysmman=''
+i_sysmode=''
 i_sysmount=''
 i_sysndir=''
 i_sysparam=''
@@ -710,6 +712,7 @@ libs=''
 libsdirs=''
 libsfiles=''
 libsfound=''
+libspath=''
 lns=''
 d_PRIEldbl=''
 d_PRIFldbl=''
@@ -944,13 +947,12 @@ inclwanted=''
 groupstype=''
 : change the next line if compiling for Xenix/286 on Xenix/386
 xlibpth='/usr/lib/386 /lib/386'
-
 : Possible local library directories to search.
 loclibpth="/usr/local/lib /opt/local/lib /usr/gnu/lib"
 loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib"
 
 : general looking path for locating libraries
-glibpth="/usr/lib/large /lib/pa1.1 /lib /usr/lib $xlibpth"
+glibpth="/usr/lib/large /lib /usr/lib $xlibpth"
 glibpth="$glibpth /lib/large /usr/lib/small /lib/small"
 glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
 test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth"
@@ -2403,12 +2405,12 @@ EOM
        : specified already.
        case "$hintfile" in
        ''|' ')
-               file=`echo "${osname}_${osvers}" | $sed -e 's@\.@_@g' -e 's@_$@@'`
+               file=`echo "${osname}_${osvers}" | $sed -e 's%\.%_%g' -e 's%_$%%'`
                : Also try without trailing minor version numbers.
-               xfile=`echo $file | $sed -e 's@_[^_]*$@@'`
-               xxfile=`echo $xfile | $sed -e 's@_[^_]*$@@'`
-               xxxfile=`echo $xxfile | $sed -e 's@_[^_]*$@@'`
-               xxxxfile=`echo $xxxfile | $sed -e 's@_[^_]*$@@'`
+               xfile=`echo $file | $sed -e 's%_[^_]*$%%'`
+               xxfile=`echo $xfile | $sed -e 's%_[^_]*$%%'`
+               xxxfile=`echo $xxfile | $sed -e 's%_[^_]*$%%'`
+               xxxxfile=`echo $xxxfile | $sed -e 's%_[^_]*$%%'`
                case "$file" in
                '') dflt=none ;;
                *)  case "$osvers" in
@@ -2611,21 +2613,23 @@ $undef$define) . ./whoa; eval "$var=\$tu";;
 *) eval "$var=$val";;
 esac'
 
+case "$usethreads" in
+$define|true|[yY]*)     dflt='y';;
+*) dflt='n';;
+esac
 cat <<EOM
 
 Perl can be built to take advantage of threads on some systems.
-To do so, Configure must be run with -Dusethreads.
+To do so, Configure can be run with -Dusethreads.
 
 Note that threading is a highly experimental feature, and
 some known race conditions still remain.  If you choose to try
 it, be very sure to not actually deploy it for production
 purposes.  README.threads has more details, and is required
 reading if you enable threads.
+
+If this doesn't make any sense to you, just accept the default '$dflt'.
 EOM
-case "$usethreads" in
-$define|true|[yY]*)     dflt='y';;
-*) dflt='n';;
-esac
 rp='Build a threading Perl?'
 . ./myread
 case "$ans" in
@@ -2719,12 +2723,11 @@ This multiple interpreter support is required for interpreter-based threads.
 EOM
        val="$define"
        ;;
-*)
-       echo 'Normally you do not need this and you should answer no.'
-       case "$usemultiplicity" in
+*)     case "$usemultiplicity" in
        $define|true|[yY]*)     dflt='y';;
        *) dflt='n';;
        esac
+       echo "If this doesn't make any sense to you, just accept the default '$dflt'."
        rp='Build Perl for multiplicity?'
        . ./myread
        case "$ans" in
@@ -3058,7 +3061,7 @@ int main() {
        exit(0);
 }
 EOM
-if $cc -o gccvers gccvers.c; then
+if $cc $ldflags -o gccvers gccvers.c; then
        gccversion=`./gccvers`
        case "$gccversion" in
        '') echo "You are not using GNU cc." ;;
@@ -3662,18 +3665,17 @@ case "$firstmakefile" in
 '') firstmakefile='makefile';;
 esac
 
+case "$usesocks" in
+$define|true|[yY]*)    dflt='y';;
+*) dflt='n';;
+esac
 cat <<EOM
 
 Perl can be built to use the SOCKS proxy protocol library.  To do so,
 Configure must be run with -Dusesocks.
 
-Normally you do not need this and you should answer no.
-
+If this doesn't make any sense to you, just accept the default '$dflt'.
 EOM
-case "$usesocks" in
-$define|true|[yY]*)    dflt='y';;
-*) dflt='n';;
-esac
 rp='Build Perl for SOCKS?'
 . ./myread
 case "$ans" in
@@ -3698,8 +3700,15 @@ $define)
        libswanted="$libswanted socks5 socks5_sh"
        ;;
 esac
+libsfound=''
+libsfiles=''
+libsdirs=''
+libspath=''
+for thisdir in $libpth $xlibpth; do
+  test -d $thisdir && libspath="$libspath $thisdir"
+done
 for thislib in $libswanted; do
-       for thisdir in $libpth; do
+       for thisdir in $libspath; do
            xxx=''
            if $test ! -f "$xxx" -a "X$ignore_versioned_solibs" = "X"; then
                xxx=`ls $thisdir/lib$thislib.$so.[0-9] 2>/dev/null|tail -1`
@@ -3743,7 +3752,7 @@ for thislib in $libswanted; do
                    libsfound="$libsfound $xxx"
                    yyy=`basename $xxx`
                    libsfiles="$libsfiles $yyy"
-                   yyy=`echo $xxx|sed "s@/$yyy\\$@@"`
+                   yyy=`echo $xxx|$sed -e "s%/$yyy\\$%%"`
                    case " $libsdirs " in
                    *" $yyy "*) ;;
                    *) libsdirs="$libsdirs $yyy" ;;
@@ -4260,16 +4269,16 @@ if eval $compile_ok; then
        yyy=`./try`
        case "$yyy" in
        '')     fpossize=4
-               echo " "
+               echo " " >&4
                echo "(I can't execute the test program--guessing $fpossize.)" >&4
                ;;
        *)      fpossize=$yyy
-               echo " $fpossize bytes."
+               echo " $fpossize bytes." >&4
                ;;
        esac
 else
        dflt="$longsize"
-       echo " "
+       echo " " >&4
        echo "(I can't compile the test program.  Guessing...)" >&4
        rp="What is the size of your file positions (in bytes)?"
        . ./myread
@@ -4284,17 +4293,17 @@ case "$lseeksize:$fpossize" in
 You can have files larger than 2 gigabytes.
 EOM
    val="$define" ;;
-*) cat <<EOM
+*)    case "$uselargefiles" in
+   "$undef"|false|[nN]*) dflt='n' ;;
+   *)  dflt='y' ;;
+   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.
+on some systems.  To do so, Configure can be run with -Duselargefiles.
 
-If this doesn't make any sense to you, just accept the default 'y'.
+If this doesn't make any sense to you, just accept the default '$dflt'.
 EOM
-   case "$uselargefiles" in
-   "$undef"|false|[nN]*) dflt='n' ;;
-   *)  dflt='y' ;;
-   esac
    rp='Try to understand large files, if available?'
    . ./myread
    case "$ans" in
@@ -4407,7 +4416,7 @@ EOM
 cat <<EOM
 
 Perl can be built to take advantage of 64-bit integer types
-on some systems.  To do so, Configure must be run with -Duse64bits.
+on some systems.  To do so, Configure can be run with -Duse64bits.
 
 If this doesn't make any sense to you, just accept the default '$dflt'.
 EOM
@@ -5958,7 +5967,7 @@ y*) usedl="$define"
        . ./getfile
        usedl="$define"
        : emulate basename
-       dlsrc=`echo $ans | $sed -e 's@.*/\([^/]*\)$@\1@'`
+       dlsrc=`echo $ans | $sed -e 's%.*/\([^/]*\)$%\1%'`
 
        $cat << EOM
 
@@ -7012,14 +7021,6 @@ fi
 set sqrtl d_sqrtl
 eval $inlibc
 
-cat <<EOM
-
-Perl can be built to take advantage of long doubles which
-(if available) may give more accuracy and range for floating point numbers.
-
-If this doesn't make any sense to you, just accept the default 'n'.
-EOM
-
 case "$ccflags" in
 *-DUSE_LONG_DOUBLE*|*-DUSE_MORE_BITS*) uselongdouble="$define" ;;
 esac
@@ -7028,6 +7029,13 @@ case "$uselongdouble" in
 $define|true|[yY]*)    dflt='y';;
 *) dflt='n';;
 esac
+cat <<EOM
+
+Perl can be built to take advantage of long doubles which
+(if available) may give more accuracy and range for floating point numbers.
+
+If this doesn't make any sense to you, just accept the default '$dflt'.
+EOM
 rp='Try to use long doubles if available?'
 . ./myread
 case "$ans" in
@@ -7069,6 +7077,10 @@ EOM
        ;;
 esac
 
+case "$useperlio" in
+$define|true|[yY]*)    dflt='y';;
+*) dflt='n';;
+esac
 cat <<EOM
 
 Previous version of $package used the standard IO mechanisms as defined
@@ -7079,12 +7091,8 @@ have sfio installed) or regular stdio.  Using PerlIO with sfio may cause
 problems with some extension modules.  Using PerlIO with stdio is safe,
 but it is slower than plain stdio and therefore is not the default.
 
-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 '$dflt'.
 EOM
-case "$useperlio" in
-$define|true|[yY]*)    dflt='y';;
-*) dflt='n';;
-esac
 rp='Use the experimental PerlIO abstraction layer?'
 . ./myread
 case "$ans" in
@@ -7156,10 +7164,12 @@ echo 'int main() { long double x = 7.0; }' > try.c
 set try
 if eval $compile; then
        val="$define"
-       echo " Yes, it does." >&4
+       echo " " >&4
+       echo "You have long double."
 else
        val="$undef"
-       echo " No, it doesn't." >&4
+       echo " " >&4
+       echo "You do not have long double."
 fi
 $rm try.*
 set d_longdbl
@@ -8812,7 +8822,7 @@ echo "Checking to see if your system supports off64_t..." >&4
 $cat >try.c <<EOCP
 #include <sys/types.h>
 #include <unistd.h>
-int main() { off64_t x = 7; }'
+int main() { off64_t x = 7; }
 EOCP
 set try
 if eval $compile; then
@@ -8833,8 +8843,8 @@ eval $setvar
 echo " "
 echo "Checking to see if your system supports fpos64_t..." >&4
 $cat >try.c <<EOCP
-#include <sys/stdio.h>
-int main() { fpos64_t x x = 7; }'
+#include <stdio.h>
+int main() { fpos64_t x = 7; }
 EOCP
 set try
 if eval $compile; then
@@ -9302,13 +9312,15 @@ EOCP
 set try
 if eval $compile; then
        val="$define"
-       echo " Yes, it does." >&4
+       echo " " >&4
+       echo "You have int64_t."
 else
        val="$undef"
-       echo " No, it doesn't." >&4
+       echo " " >&4
+       echo "You do not have int64_t."
 fi
 $rm -f try try.*
-set d_int64t
+set d_int64_t
 eval $setvar
 
 : Look for isascii
@@ -9418,10 +9430,12 @@ echo 'int main() { long long x = 7; return 0; }' > try.c
 set try
 if eval $compile; then
        val="$define"
-       echo " Yes, it does." >&4
+       echo " " >&4
+       echo "You have have long long."
 else
        val="$undef"
-       echo " No, it doesn't." >&4
+       echo " " >&4
+       echo "You do not have long long."
 fi
 $rm try.*
 set d_longlong
@@ -9519,6 +9533,33 @@ eval $inlibc
 set mktime d_mktime
 eval $inlibc
 
+: see if this is a sys/mman.h system
+set sys/mman.h i_sysmman
+eval $inhdr
+
+: see if mmap exists
+set mmap d_mmap
+eval $inlibc
+: see what shmat returns
+: default to something harmless
+mmaptype='void *'
+case "$i_sysmman$d_mmap" in
+"$define$define")
+       $cat >mmap.c <<'END'
+#include <sys/mman.h>
+void *mmap();
+END
+       if $cc $ccflags -c mmap.c >/dev/null 2>&1; then
+               mmaptype='void *'
+       else
+               mmaptype='caddr_t'
+       fi
+       echo "and it returns ($mmaptype)." >&4
+       ;;
+esac
+
+
+
 : see if mprotect exists
 set mprotect d_mprotect
 eval $inlibc
@@ -9619,7 +9660,7 @@ case "$intsize" in
         eval $setvar
         quadkind=3
         ;;
-      *) case "$d_int64t" in
+      *) case "$d_int64_t" in
          define)
            val=int64_t
            set quadtype
@@ -10908,6 +10949,31 @@ set d_sigsetjmp
 eval $setvar
 $rm -f try.c try
 
+: check for socklen_t
+echo " "
+$echo $n "Checking to see if your system supports socklen_t...$c" >&4
+$cat >try.c <<EOCP
+#include <sys/types.h>
+#$d_socket HAS_SOCKET
+#ifdef HAS_SOCKET
+#include <sys/socket.h>
+#endif
+int main() { socklen_t x = 16; }
+EOCP
+set try
+if eval $compile; then
+       val="$define"
+       echo " " >&4
+       echo "You have socklen_t."
+else
+       val="$undef"
+       echo " " >&4
+       echo "You do not have socklen_t."
+fi
+$rm -f try try.*
+set d_socklen_t
+eval $setvar
+
 : see if sys/stat.h is available
 set sys/stat.h i_sysstat
 eval $inhdr
@@ -11488,11 +11554,20 @@ EOM
 *)
        case "$alignbytes" in
        '') echo "Checking alignment constraints..." >&4
-               $cat >try.c <<'EOCP'
+               if $test "X$uselongdouble" = Xdefine -a "X$d_longdbl" = Xdefine; then
+                       $cat >try.c <<'EOCP'
+typedef long double NV;
+EOCP
+               else
+                       $cat >try.c <<'EOCP'
+typedef double NV;
+EOCP
+               fi
+               $cat >>try.c <<'EOCP'
 #include <stdio.h>
 struct foobar {
        char foo;
-       double bar;
+       NV bar;
 } try_algn;
 int main()
 {
@@ -12624,33 +12699,6 @@ case "$make_set_make" in
 *) echo "Nope, it doesn't.";;
 esac
 
-: see if this is a sys/mman.h system
-set sys/mman.h i_sysmman
-eval $inhdr
-
-: see if mmap exists
-set mmap d_mmap
-eval $inlibc
-: see what shmat returns
-: default to something harmless
-mmaptype='void *'
-case "$i_sysmman$d_mmap" in
-"$define$define")
-       $cat >mmap.c <<'END'
-#include <sys/mman.h>
-void *mmap();
-END
-       if $cc $ccflags -c mmap.c >/dev/null 2>&1; then
-               mmaptype='void *'
-       else
-               mmaptype='caddr_t'
-       fi
-       echo "and it returns ($mmaptype)." >&4
-       ;;
-esac
-
-
-
 : see what type is used for mode_t
 rp="What is the type used for file modes for system calls (e.g. fchmod())?"
 set mode_t modetype int stdio.h sys/types.h
@@ -14106,6 +14154,11 @@ eval $setvar
 set syslog.h i_syslog
 eval $inhdr
 
+
+: see if this is a sys/mode.h system
+set sys/mode.h i_sysmode
+eval $inhdr
+
 : see if sys/resource.h has to be included
 set sys/resource.h i_sysresrc
 eval $inhdr
@@ -14680,7 +14733,7 @@ d_htonl='$d_htonl'
 d_iconv='$d_iconv'
 d_index='$d_index'
 d_inetaton='$d_inetaton'
-d_int64t='$d_int64t'
+d_int64_t='$d_int64_t'
 d_isascii='$d_isascii'
 d_killpg='$d_killpg'
 d_lchown='$d_lchown'
@@ -14795,6 +14848,7 @@ d_shmget='$d_shmget'
 d_sigaction='$d_sigaction'
 d_sigsetjmp='$d_sigsetjmp'
 d_socket='$d_socket'
+d_socklen_t='$d_socklen_t'
 d_sockpair='$d_sockpair'
 d_sqrtl='$d_sqrtl'
 d_statblks='$d_statblks'
@@ -14949,6 +15003,7 @@ i_sysin='$i_sysin'
 i_sysioctl='$i_sysioctl'
 i_syslog='$i_syslog'
 i_sysmman='$i_sysmman'
+i_sysmode='$i_sysmode'
 i_sysmount='$i_sysmount'
 i_sysndir='$i_sysndir'
 i_sysparam='$i_sysparam'
@@ -15018,6 +15073,7 @@ libs='$libs'
 libsdirs='$libsdirs'
 libsfiles='$libsfiles'
 libsfound='$libsfound'
+libspath='$libspath'
 libswanted='$libswanted'
 line='$line'
 lint='$lint'