Update and clean Tomato RAF files
[tomato.git] / release / src / router / nginx / auto / types / sizeof
blob8c3330d8bb4f201782ff693939716e04ba773076
2 # Copyright (C) Igor Sysoev
3 # Copyright (C) Nginx, Inc.
6 echo $ngx_n "checking for $ngx_type size ...$ngx_c"
8 cat << END >> $NGX_AUTOCONF_ERR
10 ----------------------------------------
11 checking for $ngx_type size
13 END
15 ngx_size=
17 cat << END > $NGX_AUTOTEST.c
19 #include <sys/types.h>
20 #include <sys/time.h>
21 $NGX_INCLUDE_UNISTD_H
22 #include <signal.h>
23 #include <stdio.h>
24 #include <sys/resource.h>
25 $NGX_INCLUDE_INTTYPES_H
26 $NGX_INCLUDE_AUTO_CONFIG_H
28 char object_code_block[] = {
29         '\n', 'e', '4', 'V', 'A',
30         '0', 'x', ('0' + sizeof($ngx_type)),
31         'Y', '3', 'p', 'M', '\n'
34 int main() {
35     return 0;
38 END
41 ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \
42           -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs"
44 eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1"
47 if [ -x $NGX_AUTOTEST ]; then
48     ngx_size=`sed -ne 's/^e4VA0x\(.\)Y3pM$/\1/p' < $NGX_AUTOTEST`
49     echo " $ngx_size bytes"
53 rm -f $NGX_AUTOTEST
56 case $ngx_size in
57     4)
58         if [ "$ngx_type"="long" ]; then
59             ngx_max_value=2147483647L
60         else
61             ngx_max_value=2147483647
62         fi
64         ngx_max_len='(sizeof("-2147483648") - 1)'
65     ;;
67     8)
68         if [ "$ngx_type"="long long" ]; then
69             ngx_max_value=9223372036854775807LL
70         else
71             ngx_max_value=9223372036854775807L
72         fi
74         ngx_max_len='(sizeof("-9223372036854775808") - 1)'
75     ;;
77     *)
78         echo
79         echo "$0: error: can not detect $ngx_type size"
81         echo "----------"    >> $NGX_AUTOCONF_ERR
82         cat $NGX_AUTOTEST.c  >> $NGX_AUTOCONF_ERR
83         echo "----------"    >> $NGX_AUTOCONF_ERR
84         echo $ngx_test       >> $NGX_AUTOCONF_ERR
85         echo "----------"    >> $NGX_AUTOCONF_ERR
87         exit 1
88 esac