megalomaniac 64-bit update: most importantly,
Jarkko Hietaniemi [Sat, 12 Feb 2000 01:25:41 +0000 (01:25 +0000)]
uselonglong is eradicated, only backward
compatibility hooks in use64bits remain.

p4raw-id: //depot/cfgperl@5070

21 files changed:
Configure
Porting/Glossary
Porting/config.sh
Porting/config_H
config_h.SH
epoc/config.sh
hints/aix.sh
hints/hpux.sh
hints/irix_6.sh
hints/solaris_2.sh
perl.h
vms/subconfigure.com
vos/config.def
vos/config.h
vos/config_h.SH_orig
win32/config.bc
win32/config.gc
win32/config.vc
win32/config_H.bc
win32/config_H.gc
win32/config_H.vc

index ba95818..24b62ef 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 Fri Feb 11 21:50:12 EET 2000 [metaconfig 3.0 PL70]
+# Generated on Sat Feb 12 03:16:21 EET 2000 [metaconfig 3.0 PL70]
 # (with additional metaconfig patches by perlbug@perl.com)
 
 cat >/tmp/c1$$ <<EOF
@@ -877,7 +877,6 @@ archname64=''
 use64bits=''
 uselargefiles=''
 uselongdouble=''
-uselonglong=''
 usemorebits=''
 usemultiplicity=''
 nm_opt=''
@@ -950,7 +949,7 @@ 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="/shlib /usr/shlib /lib/pa1.1 /usr/lib/large"
+glibpth="/shlib /usr/shlib /lib/pa20_64 /lib/pa1.1 /usr/lib/large"
 glibpth="$glibpth /lib /usr/lib $xlibpth"
 glibpth="$glibpth /lib/large /usr/lib/small /lib/small"
 glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
@@ -3715,9 +3714,6 @@ for thislib in $libswanted; do
                libstyle="static"
        fi
        if $test -f "$xxx"; then
-               eval $libscheck
-       fi
-       if $test -f "$xxx"; then
                case "$libstyle" in
                shared) echo "Found -l$libname (shared)." ;;
                static) echo "Found -l$libname." ;;
@@ -4374,25 +4370,33 @@ case "$intsize:$longsize" in
 
 You have natively 64-bit integers.
 EOM
-   val="$define" ;;
-*) cat <<EOM
+   val="$define"
+   ;;
+*) case "$ccflags" in
+   *-DUSE_64_BITS*|*-DUSE_LONG_LONG*) use64bits="$define";;
+   *) case "$uselonglong" in
+      $define|true|[yY]*) use64bits="$define";;
+      esac
+      ;;
+   esac
+   case "$use64bits" in
+   $define|true|[yY]*) dflt='y';;
+   *) dflt='n';;
+   esac
+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.
 
-If this doesn't make any sense to you, just accept the default.
+If this doesn't make any sense to you, just accept the default '$dflt'.
 EOM
-  case "$use64bits" in
-  $define|true|[yY]*)  dflt='y';;
-  *) dflt='n';;
-  esac
-  rp='Try to use 64-bit integers, if available?'
-  . ./myread
-  case "$ans" in
-  y|Y) val="$define" ;;
-  *)   val="$undef"  ;;
-  esac
-  ;;
+   rp='Try to use 64-bit integers, if available?'
+   . ./myread
+   case "$ans" in
+   [yY]*) val="$define" ;;
+   *)     val="$undef"  ;;
+   esac
+   ;;
 esac
 set use64bits
 eval $setvar
@@ -7044,49 +7048,6 @@ EOM
        ;;
 esac
 
-case "$uselonglong" in
-''|true|[yY]*) uselonglong="$define" ;;
-*) case "$ccflags" in
-   *-DUSE_LONG_LONG*) uselonglong="$define" ;;
-   *) uselonglong="$undef" ;;
-   esac
-   ;;
-esac
-case "$uselonglong" in
-$define)       dflt='y';;
-*)             dflt='n';;
-esac
-cat <<EOM
-
-Perl can be built to take advantage of long longs which
-(if available) may give more range for integer numbers.
-
-If this doesn't make any sense to you, just accept the default '$dflt'.
-EOM
-rp='Try to use long longs if available?'
-. ./myread
-case "$ans" in
-y|Y)   val="$define"   ;;
-*)      val="$undef"   ;;
-esac
-set uselonglong
-eval $setvar
-case "$uselonglong" in
-$define)
-: Look for a hint-file generated 'call-back-unit'.  If the
-: user has specified that long longs should be used,
-: we may need to set or change some other defaults.
-       if $test -f uselonglong.cbu; then
-               echo "Your platform has some specific hints for long longs, using them..."
-               . ./uselonglong.cbu
-       else
-               $cat <<EOM
-(Your platform doesn't have any specific hints for long longs.)
-EOM
-       fi
-       ;;
-esac
-
 cat <<EOM
 
 Previous version of $package used the standard IO mechanisms as defined
@@ -9656,11 +9617,7 @@ case "$intsize" in
 esac
 
 case "$quadtype" in
-'')    case "$uselonglong:$d_longlong:$longlongsize" in
-       undef:define:8)
-          echo "(You would have 'long long', but you are not using it.)" >&4 ;;
-       *) echo "Alas, no 64-bit integer types in sight." >&4 ;;
-       esac
+'')    echo "Alas, no 64-bit integer types in sight." >&4
        d_quad="$undef"
        ;;
 *)     if test X"$use64bits" = Xdefine -o X"$longsize" = X8; then
@@ -15208,7 +15165,6 @@ usedl='$usedl'
 useithreads='$useithreads'
 uselargefiles='$uselargefiles'
 uselongdouble='$uselongdouble'
-uselonglong='$uselonglong'
 usemorebits='$usemorebits'
 usemultiplicity='$usemultiplicity'
 usemymalloc='$usemymalloc'
index 25676c2..44012c4 100644 (file)
@@ -3341,10 +3341,6 @@ uselongdouble (uselongdbl.U):
        This variable conditionally defines the USE_LONG_DOUBLE symbol,
        and indicates that long doubles should be used when available.
 
-uselonglong (uselonglong.U):
-       This variable conditionally defines the USE_LONG_LONG symbol,
-       and indicates that long longs should be used when available.
-
 usemorebits (usemorebits.U):
        This variable conditionally defines the USE_MORE_BITS symbol,
        and indicates that explicit 64-bit interfaces and long doubles
index b654414..f21eb39 100644 (file)
@@ -8,7 +8,7 @@
 
 # Package name      : perl5
 # Source directory  : .
-# Configuration time: Wed Feb  9 21:48:10 EET 2000
+# Configuration time: Sat Feb 12 01:09:19 EET 2000
 # Configured by     : jhi
 # Target system     : osf1 alpha.hut.fi v4.0 878 alpha 
 
@@ -59,7 +59,7 @@ ccflags='-pthread -std -DLANGUAGE_C'
 ccsymbols='__alpha=1 __LANGUAGE_C__=1 __osf__=1 __unix__=1 _LONGLONG=1 _SYSTYPE_BSD=1 SYSTYPE_BSD=1 unix=1'
 cf_by='jhi'
 cf_email='yourname@yourhost.yourplace.com'
-cf_time='Wed Feb  9 21:48:10 EET 2000'
+cf_time='Sat Feb 12 01:09:19 EET 2000'
 charsize='1'
 chgrp=''
 chmod=''
@@ -726,7 +726,6 @@ usedl='define'
 useithreads='define'
 uselargefiles='define'
 uselongdouble='undef'
-uselonglong='define'
 usemorebits='undef'
 usemultiplicity='define'
 usemymalloc='n'
index e999cb9..4c41d24 100644 (file)
@@ -17,7 +17,7 @@
 /*
  * Package name      : perl5
  * Source directory  : .
- * Configuration time: Wed Feb  9 21:48:10 EET 2000
+ * Configuration time: Sat Feb 12 01:09:19 EET 2000
  * Configured by     : jhi
  * Target system     : osf1 alpha.hut.fi v4.0 878 alpha 
  */
 /*#define      USE_LONG_DOUBLE         / **/
 #endif
 
-/* USE_LONG_LONG:
- *     This symbol, if defined, indicates that long longs should
- *     be used when available.
- */
-#ifndef USE_LONG_LONG
-#define        USE_LONG_LONG           /**/
-#endif
-
 /* USE_MORE_BITS:
  *     This symbol, if defined, indicates that 64-bit interfaces and
  *     long doubles should be used when available.
index 6795efd..b7c39f0 100644 (file)
@@ -2857,14 +2857,6 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
 #$uselongdouble        USE_LONG_DOUBLE         /**/
 #endif
 
-/* USE_LONG_LONG:
- *     This symbol, if defined, indicates that long longs should
- *     be used when available.
- */
-#ifndef USE_LONG_LONG
-#$uselonglong  USE_LONG_LONG           /**/
-#endif
-
 /* USE_MORE_BITS:
  *     This symbol, if defined, indicates that 64-bit interfaces and
  *     long doubles should be used when available.
index 55ca6bd..533bdcc 100644 (file)
@@ -758,7 +758,7 @@ d_ustat='undef'
 i_sysstatfs='undef'
 i_sysvfs='undef'
 i_ustat='undef'
-uselonglong='define'
+use64bits='define'
 uidsize='2'
 gidsize='2'
 
index fec963b..c7020c8 100644 (file)
@@ -230,8 +230,8 @@ EOM
                ;;
            esac
            case "$ccflags" in
-           *-DUSE_LONG_LONG*) ;;
-           *) ccflags="$ccflags -DUSE_LONG_LONG" ;;
+           *-DUSE_64_BITS*) ;;
+           *) ccflags="$ccflags -DUSE_64_BITS" ;;
            esac
            # When a 64-bit cc becomes available $archname64
            # may need setting so that $archname gets it attached.
index 048a416..426ff59 100644 (file)
@@ -296,22 +296,28 @@ case "$use64bits" in
 $define|true|[yY]*)
        if [ "$xxOsRevMajor" -lt 11 ]; then
                cat <<EOM >&4
+
 64-bit compilation is not supported on HP-UX $xxOsRevMajor.
 You need at least HP-UX 11.0.
 Cannot continue, aborting.
+
 EOM
                exit 1
        fi
+
+       # Without the 64-bit libc we cannot do much.
        if [ ! -f /lib/pa20_64/libc.sl ]; then
                cat <<EOM >&4
+
 You do not seem to have the 64-bit libraries in /lib/pa20_64.
 Most importantly, I cannot find /lib/pa20_64/libc.sl.
 Cannot continue, aborting.
+
 EOM
                exit 1
        fi
-
         ccflags="$ccflags +DD64"
+        ldflags="$ldflags +DD64"
        ld=/usr/bin/ld
        ar=/usr/bin/ar
        loclibpth="/lib/pa20_64 $loclibpth"
@@ -322,12 +328,6 @@ EOM
        set `echo " $libswanted " | sed -e 's@ dl @ @'`
        libswanted="$*"
 
-       libscheck='
-case "`/usr/bin/file $xxx`" in
-*LP64*) ;;
-*) xxx=/non/64/bit$xxx ;;
-esac
-'
        ;;
 esac
 EOCBU
index f4bbf32..67e61b4 100644 (file)
@@ -246,8 +246,8 @@ EOM
            case "$cc $ccflags" in
            *-n32*)
                case "$ccflags" in
-               *-DUSE_LONG_LONG) ;;
-               *) ccflags="$ccflags -DUSE_LONG_LONG" ;;
+               *-DUSE_64_BITS*) ;;
+               *) ccflags="$ccflags -DUSE_64_BITS" ;;
                esac
                archname64="-n32"
                ;;
index 8c280e3..e27d026 100644 (file)
@@ -343,10 +343,14 @@ $define|true|[yY]*)
        lflibs="`getconf LFS_LIBS 2>/dev/null|sed -e 's@^-l@@' -e 's@ -l@ @g`"
        case "$lfcflags$lfldflags$lflibs" in
        '');;
-       *) uselonglong="$define"
-           echo "(Large files in Solaris require also long longs, using long longs...)"
-          ccflags="$ccflags -DUSE_LONG_LONG $lfcflags"
-          ldflags="$ldflags $ldldflags"
+       *) use64bits="$define"
+           echo "(Large files in Solaris require also using long longs...)"
+          case "$ccflags" in
+          *-DUSE_64_BITS*) ;;
+          *) ccflags="$ccflags -DUSE_64_BITS" ;;
+          esac
+          ccflags="$ccflags $lfcflags"
+          ldflags="$ldflags $lfldflags"
           libswanted="$libswanted $lflibs"
           ;;
        esac
diff --git a/perl.h b/perl.h
index b770e1b..e25580c 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -3012,30 +3012,28 @@ typedef struct am_table_short AMTS;
 
 #endif /* !USE_LOCALE_NUMERIC */
 
-#if !defined(Atol) && defined(USE_64_BITS) && defined(HAS_QUAD)
-#    if !defined(Atol) && defined(HAS_LONG_LONG)
-#       if !defined(Atol) && defined(HAS_STRTOLL)
-#           define Atol(s) strtoll(s, (char**)NULL, 10)
-#       endif
-#       if !defined(Atol) && defined(HAS_ATOLL)
-#           define Atol atoll
-#       endif
-#    endif
+#if !defined(Atol) && defined(IV_IS_QUAD) && QUADKIND == QUAD_IS_LONG_LONG
+#   if !defined(Atol) && defined(HAS_STRTOLL)
+#       define Atol(s) strtoll(s, (char**)NULL, 10)
+#   endif
+#   if !defined(Atol) && defined(HAS_ATOLL)
+#       define Atol atoll
+#   endif
 /* is there atoq() anywhere? */
 #endif
 #if !defined(Atol)
 #   define Atol atol /* we assume atol being available anywhere */
 #endif
 
-#if !defined(Strtoul) && defined(USE_64_BITS) && defined(HAS_QUAD)
-#    if !defined(Strtoul) && defined(HAS_LONG_LONG) && defined(HAS_STRTOULL)
+#if !defined(Strtoul) && defined(UV_IS_QUAD) && QUADKIND == QUAD_IS_LONG_LONG
+#    if !defined(Strtoul) && defined(HAS_STRTOULL)
 #       define Strtoul strtoull
 #    endif
+#endif
 /* is there atouq() anywhere? */
-#    if !defined(Strtoul) && defined(USE_64_BITS) && defined(HAS_STRTOUQ)
-#       define Strtoul strtouq
-#    endif
-#nendif
+#if !defined(Strtoul) && defined(HAS_STRTOUQ)
+#   define Strtoul strtouq
+#endif
 #if !defined(Strtoul)
 #   define Strtoul strtoul /* we assume strtoul being available anywhere */
 #endif
index f2852ab..150a00b 100644 (file)
@@ -3687,7 +3687,6 @@ $ WC "d_oldpthreads='" + perl_d_oldpthreads + "'"
 $ WC "d_longdbl='" + perl_d_longdbl + "'"
 $ WC "longdblsize='" + perl_longdblsize + "'"
 $ WC "d_longlong='" + perl_d_longlong + "'"
-$ WC "uselonglong='" + perl_d_longlong + "'"
 $ WC "longlongsize='" + perl_longlongsize + "'"
 $ WC "d_mkstemp='" + perl_d_mkstemp + "'"
 $ WC "d_mkstemps='" + perl_d_mkstemps + "'"
@@ -3947,7 +3946,7 @@ $    WRITE CONFIG "#undef ALWAYS_DEFTYPES"
 $ ENDIF
 $ if use_64bit.eqs."Y"
 $ THEN
-$    WRITE CONFIG "#define USE_LONG_LONG"
+$    WRITE CONFIG "#define USE_64_BITS"
 $    WRITE CONFIG "#define USE_LONG_DOUBLE"
 $ ENDIF
 $ WRITE CONFIG "#define HAS_ENVGETENV"
index 23b0fcc..19ec5ed 100644 (file)
@@ -431,7 +431,6 @@ $use64bits='undef'
 $usedl='undef'
 $uselargefiles='undef'
 $uselongdouble='define'
-$uselonglong='undef'
 $usemorebits='undef'
 $usemultiplicity='undef'
 $useperlio='undef'
index c1fdd06..51a7d2e 100644 (file)
 #define        USE_LONG_DOUBLE         /**/
 #endif
 
-/* USE_LONG_LONG:
- *     This symbol, if defined, indicates that long longs should
- *     be used when available.
- */
-#ifndef USE_LONG_LONG
-/*#define      USE_LONG_LONG           /**/
-#endif
-
 #ifndef USE_MORE_BITS
 /*#define      USE_MORE_BITS           /**/
 #endif
index 56df72c..07c6a07 100755 (executable)
@@ -2571,14 +2571,6 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
 #$uselongdouble        USE_LONG_DOUBLE         /**/
 #endif
 
-/* USE_LONG_LONG:
- *     This symbol, if defined, indicates that long longs should
- *     be used when available.
- */
-#ifndef USE_LONG_LONG
-#$uselonglong  USE_LONG_LONG           /**/
-#endif
-
 #ifndef USE_MORE_BITS
 #$usemorebits  USE_MORE_BITS           /**/
 #endif
index 70054d6..9c44eb0 100644 (file)
@@ -708,7 +708,6 @@ usedl='define'
 useithreads='undef'
 uselargefiles='undef'
 uselongdouble='undef'
-uselonglong='undef'
 usemorebits='undef'
 usemultiplicity='undef'
 usemymalloc='n'
index 9b613d9..d4dde74 100644 (file)
@@ -708,7 +708,6 @@ usedl='define'
 useithreads='undef'
 uselargefiles='undef'
 uselongdouble='undef'
-uselonglong='undef'
 usemorebits='undef'
 usemultiplicity='undef'
 usemymalloc='n'
index fa5ab64..ff50f51 100644 (file)
@@ -708,7 +708,6 @@ usedl='define'
 useithreads='undef'
 uselargefiles='undef'
 uselongdouble='undef'
-uselonglong='undef'
 usemorebits='undef'
 usemultiplicity='undef'
 usemymalloc='n'
index 7ce21cb..698131c 100644 (file)
 /*#define      USE_LONG_DOUBLE         /**/
 #endif
 
-/* USE_LONG_LONG:
- *     This symbol, if defined, indicates that long longs should
- *     be used when available.
- */
-#ifndef USE_LONG_LONG
-/*#define      USE_LONG_LONG           /**/
-#endif
-
 #ifndef USE_MORE_BITS
 /*#define      USE_MORE_BITS           /**/
 #endif
index f7b3ff9..bd5def2 100644 (file)
 /*#define      USE_LONG_DOUBLE         /**/
 #endif
 
-/* USE_LONG_LONG:
- *     This symbol, if defined, indicates that long longs should
- *     be used when available.
- */
-#ifndef USE_LONG_LONG
-/*#define      USE_LONG_LONG           /**/
-#endif
-
 #ifndef USE_MORE_BITS
 /*#define      USE_MORE_BITS           /**/
 #endif
index c4d9c42..2543f1d 100644 (file)
 /*#define      USE_LONG_DOUBLE         /**/
 #endif
 
-/* USE_LONG_LONG:
- *     This symbol, if defined, indicates that long longs should
- *     be used when available.
- */
-#ifndef USE_LONG_LONG
-/*#define      USE_LONG_LONG           /**/
-#endif
-
 #ifndef USE_MORE_BITS
 /*#define      USE_MORE_BITS           /**/
 #endif