Mercurial > hg > nginx-vendor-1-0
diff auto/types/sizeof @ 0:f0b350454894 NGINX_0_1_0
nginx 0.1.0
*) The first public version.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Mon, 04 Oct 2004 00:00:00 +0400 |
parents | |
children | 4b2dafa26fe2 |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/auto/types/sizeof @@ -0,0 +1,62 @@ + +# Copyright (C) Igor Sysoev + + +echo $ngx_n "checking for $ngx_type size ..." $ngx_c +echo >> $NGX_ERR +echo "checking for $ngx_type size" >> $NGX_ERR + +ngx_size= + +cat << END > $NGX_AUTOTEST.c + +#include <sys/types.h> +#include <sys/time.h> +$NGX_UNISTD_H +#include <signal.h> +#include <sys/resource.h> +$NGX_INTTYPES_H +$NGX_AUTO_CONFIG + +int main() { + printf("%d", sizeof($ngx_type)); + return 0; +} + +END + +eval "$CC $CC_TEST_FLAGS -o $NGX_AUTOTEST $NGX_AUTOTEST.c >> $NGX_ERR 2>&1" + +if [ -x $NGX_AUTOTEST ]; then + ngx_size=`$NGX_AUTOTEST` + echo " $ngx_size bytes" +fi + +rm $NGX_AUTOTEST* + +case $ngx_size in + 4) + if [ "$ngx_type"="long" ]; then + ngx_max_value=2147483647L + else + ngx_max_value=2147483647 + fi + + ngx_max_len='sizeof("-2147483648") - 1' + ;; + + 8) + if [ "$ngx_type"="long long" ]; then + ngx_max_value=9223372036854775807LL + else + ngx_max_value=9223372036854775807L + fi + + ngx_max_len='sizeof("-9223372036854775808") - 1' + ;; + + *) + echo + echo "$0: error: can not detect $ngx_type size" + exit 1 +esac