This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
s/_SIZE$/_size/g; add sizesize and ssizesize.
[metaconfig.git] / U / typedefs / sizesize.U
1 ?RCS:
2 ?RCS: Copyright (c) 1999, Jarkko Hietaniemi
3 ?RCS: 
4 ?RCS: You may redistribute only under the terms of the Artistic Licence,
5 ?RCS: as specified in the README file that comes with the distribution.
6 ?RCS: You may reuse parts of this distribution only within the terms of
7 ?RCS: that same Artistic Licence; a copy of which may be found at the root
8 ?RCS: of the source tree for dist 3.0.
9 ?RCS:
10 ?MAKE:sizesize: Myread Typedef sizetype Compile
11 ?MAKE:  -pick add $@ %<
12 ?S:sizesize:
13 ?S:     This variable contains the size of a sizetype in bytes.
14 ?S:.
15 ?C:Size_t_size:
16 ?C:     This symbol holds the size of a Size_t in bytes.
17 ?C:.
18 ?H:#define Size_t_size $sizesize                /* */
19 ?H:.
20 ?F:!try
21 ?T:yyy zzz
22 ?LINT: set sizesize
23 echo " "
24 case "$sizetype" in
25 *_t) zzz="$sizetype"    ;;
26 *)   zzz="filesize"     ;;
27 esac
28 echo "Checking the size of $zzz..." >&4 
29 cat > try.c <<EOCP
30 #include <sys/types.h>
31 #include <stdio.h>
32 int main() {
33     printf("%d\n", (int)sizeof($sizetype));
34     exit(0);
35 }
36 EOCP
37 set try
38 if eval $compile_ok; then
39         yyy=`./try`
40         case "$yyy" in
41         '')     sizesize=4
42                 echo "(I can't execute the test program--guessing $sizesize.)" >&4
43                 ;;
44         *)      sizesize=$yyy
45                 echo "Your $zzz size is $sizesize bytes."
46                 ;;
47         esac
48 else
49         sizesize=4
50         echo "(I can't compile the test program--guessing $sizesize.)" >&4
51 fi
52
53