upstream nginx-0.7.31
[nginx.git] / nginx / auto / types / sizeof
1
2 # Copyright (C) Igor Sysoev
3
4
5 echo $ngx_n "checking for $ngx_type size ...$ngx_c"
6
7 cat << END >> $NGX_AUTOCONF_ERR
8
9 ----------------------------------------
10 checking for $ngx_type size
11
12 END
13
14 ngx_size=
15
16 cat << END > $NGX_AUTOTEST.c
17
18 #include <sys/types.h>
19 #include <sys/time.h>
20 $NGX_INCLUDE_UNISTD_H
21 #include <signal.h>
22 #include <sys/resource.h>
23 $NGX_INCLUDE_INTTYPES_H
24 $NGX_INCLUDE_AUTO_CONFIG_H
25
26 int main() {
27     printf("%d", sizeof($ngx_type));
28     return 0;
29 }
30
31 END
32
33
34 ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \
35           -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs"
36
37 eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1"
38
39
40 if [ -x $NGX_AUTOTEST ]; then
41     ngx_size=`$NGX_AUTOTEST`
42     echo " $ngx_size bytes"
43 fi
44
45
46 rm -f $NGX_AUTOTEST
47
48
49 case $ngx_size in
50     4)
51         if [ "$ngx_type"="long" ]; then
52             ngx_max_value=2147483647L
53         else
54             ngx_max_value=2147483647
55         fi
56
57         ngx_max_len='(sizeof("-2147483648") - 1)'
58     ;;
59
60     8)
61         if [ "$ngx_type"="long long" ]; then
62             ngx_max_value=9223372036854775807LL
63         else
64             ngx_max_value=9223372036854775807L
65         fi
66
67         ngx_max_len='(sizeof("-9223372036854775808") - 1)'
68     ;;
69
70     *)
71         echo
72         echo "$0: error: can not detect $ngx_type size"
73
74         echo "----------"    >> $NGX_AUTOCONF_ERR
75         cat $NGX_AUTOTEST.c  >> $NGX_AUTOCONF_ERR
76         echo "----------"    >> $NGX_AUTOCONF_ERR
77         echo $ngx_test       >> $NGX_AUTOCONF_ERR
78         echo "----------"    >> $NGX_AUTOCONF_ERR
79
80         exit 1
81 esac
82