This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
The metaconfig unit changes for #9525.
authorJarkko Hietaniemi <jhi@iki.fi>
Tue, 3 Apr 2001 01:18:25 +0000 (01:18 +0000)
committerJarkko Hietaniemi <jhi@iki.fi>
Tue, 3 Apr 2001 01:18:25 +0000 (01:18 +0000)
p4raw-id: //depot/metaconfig@9526

U/a_dvisory/quadtype.U
U/modified/mallocsrc.U
U/perl/use64bits.U

index 6f8e4fe..660c17b 100644 (file)
@@ -7,7 +7,7 @@
 ?RCS:
 ?MAKE:d_quad quadtype uquadtype quadkind: \
        longsize intsize d_longlong longlongsize d_int64_t \
-       Inhdr Setvar use64bitint
+       Inhdr Setvar
 ?MAKE: -pick add $@ %<
 ?S:d_quad:
 ?S:    This variable, if defined, tells that there's a 64-bit integer type,
@@ -42,7 +42,6 @@
 ?H:?%<:#   define QUAD_IS_INT64_T      4
 ?H:?%<:#endif
 ?H:.
-?T:verb
 ?LINT:set quadtype
 ?LINT:set uquadtype
 
@@ -100,12 +99,7 @@ case "$quadtype" in
 '')    echo "Alas, no 64-bit integer types in sight." >&4
        d_quad="$undef"
        ;;
-*)     if test X"$use64bitint" = Xdefine -o X"$longsize" = X8; then
-           verb="will"
-       else
-           verb="could"
-       fi
-       echo "We $verb use '$quadtype' for 64-bit integers." >&4
+*)     echo "We could use '$quadtype' for 64-bit integers." >&4
        d_quad="$define"
        ;;
 esac
index ef819ac..a3e4b06 100644 (file)
@@ -22,7 +22,7 @@
 ?MAKE:mallocsrc mallocobj usemymalloc malloctype d_mymalloc \
        freetype: Myread \
        Oldconfig package Guess Setvar rm cat +cc +ccflags Findhdr \
-       i_malloc i_stdlib sed libs _o
+       i_malloc i_stdlib sed libs _o ptrsize
 ?MAKE: -pick add $@ %<
 ?X: Put near top so that other tests don't erroneously include
 ?X: -lmalloc.  --AD  22 June 1998
@@ -83,6 +83,10 @@ case "$usemymalloc" in
 ''|[yY]*|true|$define) dflt='y' ;;
 *)     dflt='n' ;;
 esac
+case "$ptrsize" in
+4) ;;
+*) dflt='n' ;;
+esac
 rp="Do you wish to attempt to use the malloc that comes with $package?"
 . ./myread
 usemymalloc="$ans"
index 9eac875..8f0a3b6 100644 (file)
@@ -6,7 +6,7 @@
 ?RCS: License or the Artistic License, as specified in the README file.
 ?RCS:
 ?MAKE:use64bitint use64bitall archname64: Myread Oldconfig Setvar test \
-       uselargefiles usemorebits longsize ccflags
+       uselargefiles usemorebits longsize ccflags ptrsize d_quad
 ?MAKE: -pick add $@ %<
 ?Y:TOP
 ?S:use64bitint:
@@ -151,6 +151,10 @@ EOM
    "$define"|true|[yY]*) dflt='y';;
    *) dflt='n';;
    esac
+   case "$d_quad" in
+   "$define") ;;
+   *) dflt='n' ;;
+   esac
    cat <<EOM
 
 Perl can be built to take advantage of 64-bit integer types
@@ -158,6 +162,7 @@ on some systems.  To do so, Configure can be run with -Duse64bitint.
 Choosing this option will most probably introduce binary incompatibilities.
 
 If this doesn't make any sense to you, just accept the default '$dflt'.
+(The default has been chosen based on your configuration.)
 EOM
    rp='Try to use 64-bit integers, if available?'
    . ./myread
@@ -186,6 +191,7 @@ binary incompatibilities.  On the other hand, your platform may not
 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'.
+(The default has been chosen based on your configuration.)
 EOM
 rp='Try to use maximal 64-bit support, if available?'
 . ./myread
@@ -209,6 +215,31 @@ EOM
        ;;
 esac
 
+case "$use64bitall" in
+"$define"|true|[yY]*)
+       case "$ptrsize" in
+       4)      cat <<EOM >&4
+
+*** You have chosen a maximally 64-bit build, but your pointers
+*** are only 4 bytes wide, disabling maximal 64-bitness.
+
+EOM
+               use64bitall="$undef"
+               case "$use64bitint" in
+               "$define"|true|[yY]*) ;;
+               *)      cat <<EOM >&4
+
+*** Downgrading from maximal 64-bitness to using 64-bit integers.
+
+EOM
+                       use64bitint="$define"
+                       ;;
+               esac
+               ;;
+       esac
+       ;;
+esac
+
 case "$use64bitint" in
 "$define"|true|[yY]*)
 : Look for a hint-file generated 'call-back-unit'.  If the