From: Jarkko Hietaniemi Date: Sat, 30 Oct 1999 12:41:50 +0000 (+0000) Subject: Add HAS_QUAD ($Config{d_quad}); use it. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=de1c2614758a00c0d93fc45414417a54cdf923b3;p=p5sagit%2Fp5-mst-13.2.git Add HAS_QUAD ($Config{d_quad}); use it. p4raw-id: //depot/cfgperl@4497 --- diff --git a/Configure b/Configure index 559eb24..d85afc6 100755 --- 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 Sat Oct 30 02:37:12 EET DST 1999 [metaconfig 3.0 PL70] +# Generated on Sat Oct 30 14:59:39 EET DST 1999 [metaconfig 3.0 PL70] # (with additional metaconfig patches by perlbug@perl.com) cat >/tmp/c1$$ <&4 + +case "$intsize" in +8) val=int + set quadtype + eval $setvar + val='"unsigned int"' + set uquadtype + eval $setvar + quadcase=1 + ;; +*) case "$longsize" in + 8) val=long + set quadtype + eval $setvar + val='"unsigned long"' + set uquadtype + eval $setvar + quadcase=2 + ;; + *) case "$uselonglong:$d_longlong:$longlongsize" in + define:define:8) + val='"long long"' + set quadtype + eval $setvar + val='"unsigned long long"' + set uquadtype + eval $setvar + quadcase=3 + ;; + *) case "$d_int64t" in + define) + val=int64_t + set quadtype + eval $setvar + val=uint64_t + set uquadtype + eval $setvar + quadcase=4 + ;; + esac + ;; + esac + ;; + esac + ;; +esac + +case "$quadtype" in +'') echo "Alas, no 64-bit integer types in sight." >&4 + d_quad="$undef" + ;; +*) echo "Using '$quadtype' for 64-bit integers." >&4 + d_quad="$define" + ;; +esac + : see if readdir and friends exist set readdir d_readdir eval $inlibc @@ -11739,66 +11799,11 @@ else fi - -echo " " -echo "Checking which 64-bit integer type to use..." >&4 - -case "$intsize" in -8) val=int - set quadtype - eval $setvar - val='"unsigned int"' - set uquadtype - eval $setvar - quadcase=1 - ;; -*) case "$longsize" in - 8) val=long - set quadtype - eval $setvar - val='"unsigned long"' - set uquadtype - eval $setvar - quadcase=2 - ;; - *) case "$uselonglong:$d_longlong:$longlongsize" in - define:define:8) - val='"long long"' - set quadtype - eval $setvar - val='"unsigned long long"' - set uquadtype - eval $setvar - quadcase=3 - ;; - *) case "$d_int64t" in - define) - val=int64_t - set quadtype - eval $setvar - val=uint64_t - set uquadtype - eval $setvar - quadcase=4 - ;; - esac - ;; - esac - ;; - esac - ;; -esac - -case "$quadtype" in -'') echo "Alas, no 64-bit integer types in sight." >&4 ;; -*) echo "Using '$quadtype' for 64-bit integers." >&4 ;; -esac - : check for length of character echo " " case "$charsize" in '') - echo "Checking to see how big your characters are..." >&4 + echo "Checking to see how big your characters are (hey, you never know)..." >&4 $cat >try.c <<'EOCP' #include int main() @@ -11827,8 +11832,8 @@ $rm -f try.c try echo " " $echo "Choosing the C types to be used for Perl's internal types..." >&4 -case "$use64bits:$quadtype" in -define:?*) +case "$use64bits:$d_quad:$quadtype" in +define:define:?*) ivtype="$quadtype" uvtype="$uquadtype" ivsize=8 @@ -11990,9 +11995,9 @@ case "$i32type" in esac case "$i64type" in -'') case "$quadtype" in - '') ;; - *) i64type="$quadtype" +'') case "$d_quad:$quadtype" in + define:?*) + i64type="$quadtype" u64type="$uquadtype" i64size=8 u64size=8 @@ -14256,6 +14261,7 @@ d_pwexpire='$d_pwexpire' d_pwgecos='$d_pwgecos' d_pwpasswd='$d_pwpasswd' d_pwquota='$d_pwquota' +d_quad='$d_quad' d_readdir='$d_readdir' d_readlink='$d_readlink' d_rename='$d_rename' diff --git a/Porting/Glossary b/Porting/Glossary index edda0cb..fe7d62a 100644 --- a/Porting/Glossary +++ b/Porting/Glossary @@ -1048,6 +1048,10 @@ d_pwquota (i_pwd.U): This variable conditionally defines PWQUOTA, which indicates that struct passwd contains pw_quota. +d_quad (quadtype.U): + This variable, if defined, tells that there's a 64-bit integer type, + quadtype. + d_readdir (d_readdir.U): This variable conditionally defines HAS_READDIR if readdir() is available to read directory entries. diff --git a/Porting/config.sh b/Porting/config.sh index a0f6d31..0cc6182 100644 --- a/Porting/config.sh +++ b/Porting/config.sh @@ -8,7 +8,7 @@ # Package name : perl5 # Source directory : . -# Configuration time: Sat Oct 30 02:40:27 EET DST 1999 +# Configuration time: Sat Oct 30 15:31:32 EET DST 1999 # Configured by : jhi # Target system : osf1 alpha.hut.fi v4.0 878 alpha @@ -56,7 +56,7 @@ ccflags='-pthread -std -DLANGUAGE_C' ccsymbols='__LANGUAGE_C__=1 _LONGLONG=1 LANGUAGE_C=1 SYSTYPE_BSD=1' cf_by='jhi' cf_email='yourname@yourhost.yourplace.com' -cf_time='Sat Oct 30 02:40:27 EET DST 1999' +cf_time='Sat Oct 30 15:31:32 EET DST 1999' charsize='1' chgrp='' chmod='' @@ -246,6 +246,7 @@ d_pwexpire='undef' d_pwgecos='define' d_pwpasswd='define' d_pwquota='define' +d_quad='define' d_readdir='define' d_readlink='define' d_rename='define' diff --git a/Porting/config_H b/Porting/config_H index 0a961cc..d9881cc 100644 --- a/Porting/config_H +++ b/Porting/config_H @@ -17,7 +17,7 @@ /* * Package name : perl5 * Source directory : . - * Configuration time: Sat Oct 30 02:40:27 EET DST 1999 + * Configuration time: Sat Oct 30 15:31:32 EET DST 1999 * Configured by : jhi * Target system : osf1 alpha.hut.fi v4.0 878 alpha */ @@ -984,6 +984,10 @@ */ #define STDCHAR unsigned char /**/ +/* HAS_QUAD: + * This symbol, if defined, tells that there's a 64-bit integer type, + * Quad_t. + */ /* Quad_t: * This symbol holds the type used for 64-bit integers. * It can be int, long, long long, int64_t etc... @@ -997,9 +1001,10 @@ * It can be unsigned int, unsigned long, unsigned long long, * uint64_t etc... */ -#define Quad_t long -#define Uquad_t unsigned long -#define QUADCASE 2 +#define HAS_QUAD /**/ +#define Quad_t long /**/ +#define Uquad_t unsigned long /**/ +#define QUADCASE 2 /**/ /* HAS_ACCESSX: * This symbol, if defined, indicates that the accessx routine is @@ -2462,7 +2467,7 @@ #define U16TYPE unsigned short /**/ #define I32TYPE int /**/ #define U32TYPE unsigned int /**/ -#ifdef Quad_t +#ifdef HAS_QUAD #define I64TYPE long /**/ #define U64TYPE unsigned long /**/ #endif @@ -2475,7 +2480,7 @@ #define U16SIZE 2 /**/ #define I32SIZE 4 /**/ #define U32SIZE 4 /**/ -#ifdef Quad_t +#ifdef HAS_QUAD #define I64SIZE 8 /**/ #define U64SIZE 8 /**/ #endif diff --git a/config_h.SH b/config_h.SH index 5355052..8e7115d 100644 --- a/config_h.SH +++ b/config_h.SH @@ -998,6 +998,10 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #define STDCHAR $stdchar /**/ +/* HAS_QUAD: + * This symbol, if defined, tells that there's a 64-bit integer type, + * Quad_t. + */ /* Quad_t: * This symbol holds the type used for 64-bit integers. * It can be int, long, long long, int64_t etc... @@ -1011,9 +1015,10 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- * It can be unsigned int, unsigned long, unsigned long long, * uint64_t etc... */ -#define Quad_t $quadtype -#define Uquad_t $uquadtype -#define QUADCASE $quadcase +#$d_quad HAS_QUAD /**/ +#$d_quad Quad_t $quadtype /**/ +#$d_quad Uquad_t $uquadtype /**/ +#$d_quad QUADCASE $quadcase /**/ /* HAS_ACCESSX: * This symbol, if defined, indicates that the accessx routine is @@ -2476,7 +2481,7 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- #define U16TYPE $u16type /**/ #define I32TYPE $i32type /**/ #define U32TYPE $u32type /**/ -#ifdef Quad_t +#ifdef HAS_QUAD #define I64TYPE $i64type /**/ #define U64TYPE $u64type /**/ #endif @@ -2489,7 +2494,7 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- #define U16SIZE $u16size /**/ #define I32SIZE $i32size /**/ #define U32SIZE $u32size /**/ -#ifdef Quad_t +#ifdef HAS_QUAD #define I64SIZE $i64size /**/ #define U64SIZE $u64size /**/ #endif diff --git a/perl.h b/perl.h index 372c0a4..acb270e 100644 --- a/perl.h +++ b/perl.h @@ -904,7 +904,7 @@ Free_t Perl_mfree (Malloc_t where); typedef IVTYPE IV; typedef UVTYPE UV; -#ifdef USE_64_BITS +#if defined(USE_64_BITS) && defined(HAS_QUAD) # if QUADCASE == 4 && defined(INT64_MAX) /* quad is int64_t */ # define IV_MAX INT64_MAX # define IV_MIN INT64_MIN @@ -943,9 +943,13 @@ typedef UVTYPE UV; # if IVSIZE == 8 # define IV_IS_QUAD # define UV_IS_QUAD +# ifndef HAS_QUAD +# define HAS_QUAD +# endif # else # undef IV_IS_QUAD # undef UV_IS_QUAD +# undef HAS_QUAD # endif #endif