?RCS: You may distribute under the terms of either the GNU General Public
?RCS: License or the Artistic License, as specified in the README file.
?RCS:
-?MAKE:quadtype uquadtype quadcase: \
+?MAKE:d_quad quadtype uquadtype quadcase: \
longsize intsize d_longlong longlongsize uselonglong d_int64t \
Inhdr Setvar
?MAKE: -pick add $@ %<
+?S:d_quad:
+?S: This variable, if defined, tells that there's a 64-bit integer type,
+?S: quadtype.
+?S:.
?S:quadtype:
?S: This variable defines Quad_t to be something like long, int,
?S: long long, int64_t, or whatever type is used for 64-bit integers.
?S: unsigned int, unsigned long long, uint64_t, or whatever type is
?S: used for 64-bit integers.
?S:.
+?C:HAS_QUAD:
+?C: This symbol, if defined, tells that there's a 64-bit integer type,
+?C: Quad_t.
+?C:.
?C:Quad_t:
?C: This symbol holds the type used for 64-bit integers.
?C: It can be int, long, long long, int64_t etc...
?C: It can be unsigned int, unsigned long, unsigned long long,
?C: uint64_t etc...
?C:.
-?H:#define Quad_t $quadtype
-?H:#define Uquad_t $uquadtype
-?H:#define QUADCASE $quadcase
+?H:#$d_quad HAS_QUAD /**/
+?H:#$d_quad Quad_t $quadtype /**/
+?H:#$d_quad Uquad_t $uquadtype /**/
+?H:#$d_quad QUADCASE $quadcase /**/
?H:.
?LINT:set quadtype
?LINT:set uquadtype
esac
case "$quadtype" in
-'') echo "Alas, no 64-bit integer types in sight." >&4 ;;
-*) echo "Using '$quadtype' for 64-bit integers." >&4 ;;
+'') 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
?MAKE:ivtype uvtype nvtype ivsize uvsize nvsize \
i8type u8type i16type u16type i32type u32type i64type u64type \
i8size u8size i16size u16size i32size u32size i64size u64size: \
- echo rm use64bits quadtype uquadtype \
+ echo rm use64bits d_quad quadtype uquadtype \
d_longdbl uselongdouble longdblsize doublesize \
charsize shortsize intsize longsize \
cat Compile i_inttypes exe_ext test
?H:#define U16TYPE $u16type /**/
?H:#define I32TYPE $i32type /**/
?H:#define U32TYPE $u32type /**/
-?H:?%<:#ifdef Quad_t
+?H:?%<:#ifdef HAS_QUAD
?H:?%<:#define I64TYPE $i64type /**/
?H:?%<:#define U64TYPE $u64type /**/
?H:?%<:#endif
?H:#define U16SIZE $u16size /**/
?H:#define I32SIZE $i32size /**/
?H:#define U32SIZE $u32size /**/
-?H:?%<:#ifdef Quad_t
+?H:?%<:#ifdef HAS_QUAD
?H:?%<:#define I64SIZE $i64size /**/
?H:?%<:#define U64SIZE $u64size /**/
?H:?%<:#endif
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
esac
case "$i64type" in
-'') case "$quadtype" in
- '') ;;
- *) i64type="$quadtype"
+'') case "$d_quad:$quadtype" in
+ define:?*)
+ i64type="$quadtype"
u64type="$uquadtype"
i64size=8
u64size=8