This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Atari FreeMiNT: MiNT does not have .exe for _exe
[metaconfig.git] / U / modified / d_longlong.U
CommitLineData
959f3c4c
JH
1?RCS: $Id: d_longlong.U,v $
2?RCS:
3?RCS: Copyright (c) 1998 Andy Dougherty
4?RCS:
5?RCS: You may distribute under the terms of either the GNU General Public
6?RCS: License or the Artistic License, as specified in the README file.
7?RCS:
8?RCS: $Log: d_longlong.U,v $
9?RCS:
0f00356b 10?MAKE:d_longlong longlongsize: Compile Setvar Myread run \
2cb64bf6 11 cat rm_try test longsize
959f3c4c
JH
12?MAKE: -pick add $@ %<
13?S:d_longlong:
2cb64bf6 14?S: This variable conditionally defines HAS_LONG_LONG if
959f3c4c
JH
15?S: the long long type is supported.
16?S:.
17?S:longlongsize:
18?S: This variable contains the value of the LONGLONGSIZE symbol, which
19?S: indicates to the C program how many bytes there are in a long long,
20?S: if this system supports long long.
21?S:.
22?C:HAS_LONG_LONG:
23?C: This symbol will be defined if the C compiler supports long long.
24?C:.
25?C:LONGLONGSIZE:
2cb64bf6 26?C: This symbol contains the size of a long long, so that the
959f3c4c
JH
27?C: C preprocessor can make decisions based on it. It is only
28?C: defined if the system supports long long.
29?C:.
30?H:#$d_longlong HAS_LONG_LONG /**/
31?H:?LONGLONGSIZE:#ifdef HAS_LONG_LONG
32?H:?LONGLONGSIZE:#define LONGLONGSIZE $longlongsize /**/
33?H:?LONGLONGSIZE:#endif
34?H:.
0065f4af 35?F:!try
959f3c4c 36?LINT:set d_longlong
959f3c4c
JH
37: check for long long
38echo " "
840deeaa 39echo "Checking to see if you have long long..." >&4
37a56d0d 40echo 'int main() { long long x = 7; return 0; }' > try.c
a38738d1
JH
41set try
42if eval $compile; then
959f3c4c 43 val="$define"
b01bed39 44 echo "You have long long."
959f3c4c
JH
45else
46 val="$undef"
1da6d93e 47 echo "You do not have long long."
959f3c4c 48fi
2cb64bf6 49$rm_try
959f3c4c
JH
50set d_longlong
51eval $setvar
52
53@if LONGLONGSIZE || longlongsize
54: check for length of long long
55?X: Check only if d_longlong and if longlongsize is not already set.
56case "${d_longlong}${longlongsize}" in
57$define)
58 echo " "
0fdea05a 59 echo "Checking to see how big your long longs are..." >&4
959f3c4c
JH
60 $cat >try.c <<'EOCP'
61#include <stdio.h>
62int main()
63{
37a56d0d
JH
64 printf("%d\n", (int)sizeof(long long));
65 return(0);
959f3c4c
JH
66}
67EOCP
68 set try
69 if eval $compile_ok; then
0f00356b 70 longlongsize=`$run ./try`
0fdea05a 71 echo "Your long longs are $longlongsize bytes long."
959f3c4c
JH
72 else
73 dflt='8'
74 echo " "
75 echo "(I can't seem to compile the test program. Guessing...)"
76 rp="What is the size of a long long (in bytes)?"
77 . ./myread
78 longlongsize="$ans"
79 fi
80 if $test "X$longsize" = "X$longlongsize"; then
81 echo "(That isn't any different from an ordinary long.)"
2cb64bf6 82 fi
959f3c4c
JH
83 ;;
84esac
2cb64bf6 85$rm_try
959f3c4c
JH
86@end
87