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