This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
803169291fe852b6cd88b9e34c1bdf3d1c30ca10
[metaconfig.git] / U / typedefs / uidsize.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:uidsize: Myread Typedef uidtype Compile run i_stdlib
11 ?MAKE:  -pick add $@ %<
12 ?S:uidsize:
13 ?S:     This variable contains the size of a uidtype in bytes.
14 ?S:.
15 ?C:Uid_t_size:
16 ?C:     This symbol holds the size of a Uid_t in bytes.
17 ?C:.
18 ?H:#define Uid_t_size $uidsize          /* UID size */
19 ?H:.
20 ?T:yyy zzz
21 ?LINT: set uidsize
22 echo " "
23 case "$uidtype" in
24 *_t) zzz="$uidtype"     ;;
25 *)   zzz="uid"          ;;
26 esac
27 echo "Checking the size of $zzz..." >&4 
28 cat > try.c <<EOCP
29 #include <sys/types.h>
30 #include <stdio.h>
31 #$i_stdlib I_STDLIB
32 #ifdef I_STDLIB
33 #include <stdlib.h>
34 #endif
35 int main() {
36     printf("%d\n", (int)sizeof($uidtype));
37     exit(0);
38 }
39 EOCP
40 set try
41 if eval $compile_ok; then
42         yyy=`$run ./try`
43         case "$yyy" in
44         '')     uidsize=4
45                 echo "(I can't execute the test program--guessing $uidsize.)" >&4
46                 ;;
47         *)      uidsize=$yyy
48                 echo "Your $zzz is $uidsize bytes long."
49                 ;;
50         esac
51 else
52         uidsize=4
53         echo "(I can't compile the test program--guessing $uidsize.)" >&4
54 fi
55