This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Make the failsafe question about socket address structure
[perl5.git] / Configure
index 452b4fb..a40ae15 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 Feb 28 19:17:18 EET 2000 [metaconfig 3.0 PL70]
+# Generated on Tue Feb 29 19:31:46 EET 2000 [metaconfig 3.0 PL70]
 # (with additional metaconfig patches by perlbug@perl.com)
 
 cat >/tmp/c1$$ <<EOF
@@ -457,6 +457,7 @@ old_pthread_create_joinable=''
 d_pthread_yield=''
 d_sched_yield=''
 sched_yield=''
+d_qgcvt=''
 d_readdir=''
 d_rewinddir=''
 d_seekdir=''
@@ -982,10 +983,10 @@ defvoidused=15
 
 : List of libraries we want.
 : If anyone needs -lnet, put it in a hint file.
-libswanted='sfio socket inet nsl nm ndbm gdbm dbm db malloc dl'
+libswanted='sfio socket bind inet nsl nm ndbm gdbm dbm db malloc dl'
 libswanted="$libswanted dld ld sun m c cposix posix"
 libswanted="$libswanted ndir dir crypt sec"
-libswanted="$libswanted ucb bsd BSD PW x"
+libswanted="$libswanted ucb bsd BSD PW x iconv"
 : We probably want to search /usr/shlib before most other libraries.
 : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
 glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'`
@@ -4433,7 +4434,7 @@ EOM
        use64bitint="$define"
        ;;
 esac                          
-# Thinko compatibility
+# Thinko compatibilities.
 case "$use64bitints" in
 "$define"|true|[yY]*)
        cat <<EOM >&4
@@ -4443,6 +4444,15 @@ EOM
        use64bitint="$define"
        ;;
 esac                          
+case "$use64bitsall" in
+"$define"|true|[yY]*)
+       cat <<EOM >&4
+
+*** There is no Configure -Duse64bitsall, using -Duse64bitall instead.
+EOM
+       use64bitall="$define"
+       ;;
+esac                          
 
 case "$ccflags" in
 *-DUSE_LONG_LONG*|*-DUSE_64_BIT_INT*|*-DUSE_64_BIT_ALL*) use64bitint="$define";;
@@ -4481,18 +4491,6 @@ esac
 set use64bitint
 eval $setvar
 
-case "$use64bitint" in
-"$define")     case "$longsize" in
-               8) dflt='y' ;;
-               *) dflt='n' ;;
-               esac
-               ;;
-*)     case "$use64bitall" in
-       "$define"|true|[yY]*) dflt='y' ;;
-       *) dflt='n' ;;
-       esac
-       ;;
-esac 
 cat <<EOM
 
 You may also choose to try maximal 64-bitness.  It means using as much
@@ -4503,6 +4501,14 @@ have any more 64-bitness available than what you already have chosen.
 If this doesn't make any sense to you, just accept the default '$dflt'.
 EOM
 rp='Try to use maximal 64-bit support, if available?'
+case "$use64bitall" in
+"$define"|true|[yY]*) dflt='y' ;;
+*) case "$longsize" in
+   8) dflt='y' ;;
+   *) dflt='n' ;;
+   esac
+   ;;
+esac   
 . ./myread
 case "$ans" in
 [yY]*) val="$define" ;;
@@ -4534,11 +4540,7 @@ case "$use64bitint" in
                . ./use64bitint.cbu
        fi
        case "$longsize" in
-       4) case "$ccflags" in
-          *-DUSE_64_BIT_INT*) ;;
-          *) ccflags="$ccflags -DUSE_64_BIT_INT";;
-          esac
-          case "$archname64" in
+       4) case "$archname64" in
           '') archname64=64int ;;
           esac
           ;;
@@ -4556,12 +4558,8 @@ case "$use64bitall" in
                . ./use64bitall.cbu
        fi
        case "$longsize" in
-       4) case "$ccflags" in
-          *-DUSE_64_BIT_ALL*) ;;
-          *) ccflags="$ccflags -DUSE_64_BIT_ALL";;
-          esac
-          case "$archname64" in
-          ''|64) archname64=64all ;;
+       4) case "$archname64" in
+          ''|64int) archname64=64all ;;
           esac
           ;;
        esac
@@ -6190,7 +6188,11 @@ EOM
     case "$lddlflags" in
     '') case "$osname" in
                        beos) dflt='-nostart' ;;
-                       hpux)  dflt='-b +vnocompatwarnings' ;;
+                       hpux) case "$gccversion" in
+                             '') dflt='-b +vnocompatwarnings' ;;
+                             *)  dflt='none' ;;
+                             esac
+                             ;;        
                        linux|irix*)    dflt='-shared' ;;
                        next)  dflt='none' ;;
                        solaris) dflt='-G' ;;
@@ -7205,9 +7207,10 @@ case "$uselongdouble:$d_sqrtl" in
 $define:$undef)
                $cat <<EOM >&4
 
-You requested the use of long doubles but you do not seem to have
-the mathematic functions for long doubles.  I'm disabling the use
-of long doubles.
+*** You requested the use of long doubles but you do not seem to have
+*** the mathematic functions for long doubles.  I'm disabling the use
+*** of long doubles.
+
 EOM
        uselongdouble=$undef
        ;;
@@ -7268,6 +7271,10 @@ else
        installvendorbin="$vendorbinexp"
 fi
 
+: see if qgcvt exists
+set qgcvt d_qgcvt
+eval $inlibc
+
 : check for length of double
 echo " "
 case "$doublesize" in
@@ -7344,118 +7351,6 @@ EOCP
 esac
 $rm -f try.* try
 
-: Check how to convert floats to strings.
-if test "X$d_Gconvert" = X; then
-       echo " "
-       echo "Checking for an efficient way to convert floats to strings."
-       $cat >try.c <<EOP
-#ifdef TRY_gconvert
-#define Gconvert(x,n,t,b) gconvert((x),(n),(t),(b))
-char *myname = "gconvert";
-#endif
-#ifdef TRY_gcvt
-#define Gconvert(x,n,t,b) gcvt((x),(n),(b))
-char *myname = "gcvt";
-#endif
-#ifdef TRY_qgcvt
-#define Gconvert(x,n,t,b) qgcvt((x),(n),(b))
-char *myname = "qgcvt";
-#define DOUBLETYPE long double
-#endif
-#ifdef TRY_sprintf
-#define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))
-char *myname = "sprintf";
-#endif
-
-#ifndef DOUBLETYPE
-#define DOUBLETYPE double
-#endif
-
-#include <stdio.h>
-
-#define I_STDLIB $i_stdlib
-#ifdef I_STDLIB
-#include <stdlib.h>
-#endif
-
-int
-checkit(expect, got)
-char *expect;
-char *got;
-{
-    if (strcmp(expect, got)) {
-               printf("%s oddity:  Expected %s, got %s\n",
-                       myname, expect, got);
-               exit(1);
-       }
-}
-
-int main()
-{ 
-       char buf[64]; 
-       buf[63] = '\0';
-
-       /* This must be 1st test on (which?) platform */
-       /* Alan Burlison <AlanBurlsin@unn.unisys.com> */
-       Gconvert((DOUBLETYPE)0.1, 8, 0, buf);
-       checkit("0.1", buf);
-
-       Gconvert((DOUBLETYPE)1.0, 8, 0, buf); 
-       checkit("1", buf);
-
-       Gconvert((DOUBLETYPE)0.0, 8, 0, buf); 
-       checkit("0", buf);
-
-       Gconvert((DOUBLETYPE)-1.0, 8, 0, buf); 
-       checkit("-1", buf);
-
-       /* Some Linux gcvt's give 1.e+5 here. */
-       Gconvert((DOUBLETYPE)100000.0, 8, 0, buf); 
-       checkit("100000", buf);
-       
-       /* Some Linux gcvt's give -1.e+5 here. */
-       Gconvert((DOUBLETYPE)-100000.0, 8, 0, buf); 
-       checkit("-100000", buf);
-
-       exit(0);
-}
-EOP
-       case "$d_Gconvert" in
-       gconvert*) xxx_list='gconvert gcvt sprintf' ;;
-       gcvt*) xxx_list='gcvt gconvert sprintf' ;;
-       sprintf*) xxx_list='sprintf gconvert gcvt' ;;
-       *) xxx_list='gconvert gcvt sprintf' ;;
-       esac
-
-        case "$d_longdbl$uselongdouble" in
-        definedefine) xxx_list="`echo $xxx_list|sed 's/gcvt/qgcvt gcvt/'`" ;;
-       esac
-
-       for xxx_convert in $xxx_list; do
-               echo "Trying $xxx_convert..."
-               $rm -f try try$_o
-               set try -DTRY_$xxx_convert
-               if eval $compile; then
-                       echo "$xxx_convert() found." >&4
-                       if ./try; then
-                               echo "I'll use $xxx_convert to convert floats into a string." >&4
-                               break;
-                       else
-                               echo "...But $xxx_convert didn't work as I expected."
-                       fi
-               else
-                       echo "$xxx_convert NOT found." >&4
-               fi
-       done
-               
-       case "$xxx_convert" in
-       gconvert) d_Gconvert='gconvert((x),(n),(t),(b))' ;;
-       gcvt) d_Gconvert='gcvt((x),(n),(b))' ;;
-       qgcvt) d_Gconvert='qgcvt((x),(n),(b))' ;;
-       *) d_Gconvert='sprintf((b),"%.*g",(n),(x))' ;;
-       esac
-fi
-
 echo " "
 
 if $test X"$d_longdbl" = X"$define"; then
@@ -7567,6 +7462,159 @@ case "$sPRIfldbl" in
        ;;
 esac
 
+: Check how to convert floats to strings.
+if test "X$d_Gconvert" = X; then
+       echo " "
+       echo "Checking for an efficient way to convert floats to strings."
+       echo " " > try.c
+       case "$uselongdouble" in
+       "$define") echo "#define USE_LONG_DOUBLE" >>try.c ;;
+       esac
+       case "$d_longdbl" in
+       "$define") echo "#define HAS_LONG_DOUBLE" >>try.c ;;
+       esac
+       case "$d_PRIgldbl" in
+       "$define") echo "#define HAS_PRIgldbl"    >>try.c ;;
+       esac
+       $cat >>try.c <<EOP
+#ifdef TRY_gconvert
+#define Gconvert(x,n,t,b) gconvert((x),(n),(t),(b))
+char *myname = "gconvert";
+#endif
+#ifdef TRY_gcvt
+#define Gconvert(x,n,t,b) gcvt((x),(n),(b))
+char *myname = "gcvt";
+#endif
+#ifdef TRY_qgcvt
+#define Gconvert(x,n,t,b) qgcvt((x),(n),(b))
+char *myname = "qgcvt";
+#define DOUBLETYPE long double
+#endif
+#ifdef TRY_sprintf
+#if defined(USE_LONG_DOUBLE) && defined(HAS_LONG_DOUBLE) && defined(HAS_PRIgldbl)
+#define Gconvert(x,n,t,b) sprintf((b),"%.*"$sPRIgldbl,(n),(x))
+#else
+#define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))
+#endif
+char *myname = "sprintf";
+#endif
+
+#ifndef DOUBLETYPE
+#if defined(USE_LONG_DOUBLE) && defined(HAS_LONG_DOUBLE)
+#define DOUBLETYPE long double
+#else
+#define DOUBLETYPE double
+#endif
+#endif
+
+#include <stdio.h>
+
+#define I_STDLIB $i_stdlib
+#ifdef I_STDLIB
+#include <stdlib.h>
+#endif
+
+int
+checkit(expect, got)
+char *expect;
+char *got;
+{
+    if (strcmp(expect, got)) {
+               printf("%s oddity:  Expected %s, got %s\n",
+                       myname, expect, got);
+               exit(1);
+       }
+}
+
+int main()
+{ 
+       char buf[64]; 
+       buf[63] = '\0';
+
+       /* This must be 1st test on (which?) platform */
+       /* Alan Burlison <AlanBurlsin@unn.unisys.com> */
+       Gconvert((DOUBLETYPE)0.1, 8, 0, buf);
+       checkit("0.1", buf);
+
+       Gconvert((DOUBLETYPE)1.0, 8, 0, buf); 
+       checkit("1", buf);
+
+       Gconvert((DOUBLETYPE)1.1, 8, 0, buf); 
+       checkit("1.1", buf);
+
+       Gconvert((DOUBLETYPE)1.01, 8, 0, buf); 
+       checkit("1.01", buf);
+
+       Gconvert((DOUBLETYPE)1.001, 8, 0, buf); 
+       checkit("1.001", buf);
+
+       Gconvert((DOUBLETYPE)1.0001, 8, 0, buf); 
+       checkit("1.0001", buf);
+
+       Gconvert((DOUBLETYPE)1.00001, 8, 0, buf); 
+       checkit("1.00001", buf);
+
+       Gconvert((DOUBLETYPE)1.000001, 8, 0, buf); 
+       checkit("1.000001", buf);
+
+       Gconvert((DOUBLETYPE)0.0, 8, 0, buf); 
+       checkit("0", buf);
+
+       Gconvert((DOUBLETYPE)-1.0, 8, 0, buf); 
+       checkit("-1", buf);
+
+       /* Some Linux gcvt's give 1.e+5 here. */
+       Gconvert((DOUBLETYPE)100000.0, 8, 0, buf); 
+       checkit("100000", buf);
+       
+       /* Some Linux gcvt's give -1.e+5 here. */
+       Gconvert((DOUBLETYPE)-100000.0, 8, 0, buf); 
+       checkit("-100000", buf);
+
+       exit(0);
+}
+EOP
+       case "$d_Gconvert" in
+       gconvert*) xxx_list='gconvert gcvt sprintf' ;;
+       gcvt*) xxx_list='gcvt gconvert sprintf' ;;
+       sprintf*) xxx_list='sprintf gconvert gcvt' ;;
+       *) xxx_list='gconvert gcvt sprintf' ;;
+       esac
+
+        case "$d_longdbl$uselongdouble$d_qgcvt" in
+        "$define$define$define") xxx_list="`echo $xxx_list|sed 's/gcvt/qgcvt gcvt/'`" ;;
+       esac
+
+       for xxx_convert in $xxx_list; do
+               echo "Trying $xxx_convert..."
+               $rm -f try try$_o
+               set try -DTRY_$xxx_convert
+               if eval $compile; then
+                       echo "$xxx_convert() found." >&4
+                       if ./try; then
+                               echo "I'll use $xxx_convert to convert floats into a string." >&4
+                               break;
+                       else
+                               echo "...But $xxx_convert didn't work as I expected."
+                       fi
+               else
+                       echo "$xxx_convert NOT found." >&4
+               fi
+       done
+               
+       case "$xxx_convert" in
+       gconvert) d_Gconvert='gconvert((x),(n),(t),(b))' ;;
+       gcvt) d_Gconvert='gcvt((x),(n),(b))' ;;
+       qgcvt) d_Gconvert='qgcvt((x),(n),(b))' ;;
+       *) case "$uselongdouble$d_longdbl$d_PRIgldbl" in
+          "$define$define$define")
+             d_Gconvert="sprintf((b),\"%.*$sPRIgldbl\",(n),(x))" ;;
+          *) d_Gconvert='sprintf((b),"%.*g",(n),(x))' ;;
+          esac
+          ;;  
+       esac
+fi
+
 : Initialize h_fcntl
 h_fcntl=false
 
@@ -13578,7 +13626,7 @@ EOM
        done
 : In case none of those worked, prompt the user.
        case "$socksizetype" in
-       '')     rp='What is the type for the last argument to accept()?'
+       '')     rp='What is the type for socket address structure sizes?'
                dflt='int'
                . ./myread
                socksizetype=$ans
@@ -14060,13 +14108,11 @@ cat <<'EOSH' >> Cppsym.try
 echo '}' >> try.c
 EOSH
 cat <<EOSH >> Cppsym.try
-cc="$cc"
-optimize="$optimize"
 ccflags="$ccflags"
-ldflags="$ldflags"
-libs="$libs"
-exe_ext="$exe_ext"
-$cc $optimize $ccflags $ldflags -o try try.c $libs && ./try$exe_ext
+case "$osname-$gccversion" in
+irix-) ccflags="\$ccflags -woff 1178" ;;
+esac
+$cc $optimize \$ccflags $ldflags -o try try.c $libs && ./try$exe_ext
 EOSH
 chmod +x Cppsym.try
 $eunicefix Cppsym.try
@@ -14987,6 +15033,7 @@ d_pwexpire='$d_pwexpire'
 d_pwgecos='$d_pwgecos'
 d_pwpasswd='$d_pwpasswd'
 d_pwquota='$d_pwquota'
+d_qgcvt='$d_qgcvt'
 d_quad='$d_quad'
 d_readdir='$d_readdir'
 d_readlink='$d_readlink'