aboutsummaryrefslogtreecommitdiffstats
path: root/app/nginx/auto/types
diff options
context:
space:
mode:
Diffstat (limited to 'app/nginx/auto/types')
-rw-r--r--app/nginx/auto/types/sizeof76
-rw-r--r--app/nginx/auto/types/typedef82
-rw-r--r--app/nginx/auto/types/uintptr_t50
-rw-r--r--app/nginx/auto/types/value12
4 files changed, 220 insertions, 0 deletions
diff --git a/app/nginx/auto/types/sizeof b/app/nginx/auto/types/sizeof
new file mode 100644
index 0000000..480d8cf
--- /dev/null
+++ b/app/nginx/auto/types/sizeof
@@ -0,0 +1,76 @@
+
+# Copyright (C) Igor Sysoev
+# Copyright (C) Nginx, Inc.
+
+
+echo $ngx_n "checking for $ngx_type size ...$ngx_c"
+
+cat << END >> $NGX_AUTOCONF_ERR
+
+----------------------------------------
+checking for $ngx_type size
+
+END
+
+ngx_size=
+
+cat << END > $NGX_AUTOTEST.c
+
+#include <sys/types.h>
+#include <sys/time.h>
+$NGX_INCLUDE_UNISTD_H
+#include <signal.h>
+#include <stdio.h>
+#include <sys/resource.h>
+$NGX_INCLUDE_INTTYPES_H
+$NGX_INCLUDE_AUTO_CONFIG_H
+
+int main(void) {
+ printf("%d", (int) sizeof($ngx_type));
+ return 0;
+}
+
+END
+
+
+ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \
+ -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs"
+
+eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1"
+
+
+if [ -x $NGX_AUTOTEST ]; then
+ ngx_size=`$NGX_AUTOTEST`
+ echo " $ngx_size bytes"
+fi
+
+
+case $ngx_size in
+ 4)
+ ngx_max_value=2147483647
+ ngx_max_len='(sizeof("-2147483648") - 1)'
+ ;;
+
+ 8)
+ ngx_max_value=9223372036854775807LL
+ ngx_max_len='(sizeof("-9223372036854775808") - 1)'
+ ;;
+
+ *)
+ echo
+ echo "$0: error: can not detect $ngx_type size"
+
+ echo "----------" >> $NGX_AUTOCONF_ERR
+ cat $NGX_AUTOTEST.c >> $NGX_AUTOCONF_ERR
+ echo "----------" >> $NGX_AUTOCONF_ERR
+ echo $ngx_test >> $NGX_AUTOCONF_ERR
+ echo "----------" >> $NGX_AUTOCONF_ERR
+
+ rm -rf $NGX_AUTOTEST*
+
+ exit 1
+esac
+
+
+rm -rf $NGX_AUTOTEST*
+
diff --git a/app/nginx/auto/types/typedef b/app/nginx/auto/types/typedef
new file mode 100644
index 0000000..d54c289
--- /dev/null
+++ b/app/nginx/auto/types/typedef
@@ -0,0 +1,82 @@
+
+# Copyright (C) Igor Sysoev
+# Copyright (C) Nginx, Inc.
+
+
+echo $ngx_n "checking for $ngx_type ...$ngx_c"
+
+cat << END >> $NGX_AUTOCONF_ERR
+
+----------------------------------------
+checking for $ngx_type
+
+END
+
+ngx_found=no
+
+for ngx_try in $ngx_type $ngx_types
+do
+
+ cat << END > $NGX_AUTOTEST.c
+
+#include <sys/types.h>
+#include <signal.h>
+#include <sys/socket.h>
+#include <sys/time.h>
+#include <sys/resource.h>
+#include <netinet/in.h>
+$NGX_INCLUDE_INTTYPES_H
+
+int main(void) {
+ $ngx_try i = 0;
+ return (int) i;
+}
+
+END
+
+ ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \
+ -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs"
+
+ eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1"
+
+ if [ -x $NGX_AUTOTEST ]; then
+ if [ $ngx_try = $ngx_type ]; then
+ echo " found"
+ ngx_found=yes
+ else
+ echo ", $ngx_try used"
+ ngx_found=$ngx_try
+ fi
+ fi
+
+ if [ $ngx_found = no ]; then
+ if [ $ngx_try = $ngx_type ]; then
+ echo $ngx_n " $ngx_try not found$ngx_c"
+ else
+ echo $ngx_n ", $ngx_try not found$ngx_c"
+ fi
+
+ echo "----------" >> $NGX_AUTOCONF_ERR
+ cat $NGX_AUTOTEST.c >> $NGX_AUTOCONF_ERR
+ echo "----------" >> $NGX_AUTOCONF_ERR
+ echo $ngx_test >> $NGX_AUTOCONF_ERR
+ echo "----------" >> $NGX_AUTOCONF_ERR
+ fi
+
+ rm -rf $NGX_AUTOTEST*
+
+ if [ $ngx_found != no ]; then
+ break
+ fi
+done
+
+if [ $ngx_found = no ]; then
+ echo
+ echo "$0: error: can not define $ngx_type"
+
+ exit 1
+fi
+
+if [ $ngx_found != yes ]; then
+ echo "typedef $ngx_found $ngx_type;" >> $NGX_AUTO_CONFIG_H
+fi
diff --git a/app/nginx/auto/types/uintptr_t b/app/nginx/auto/types/uintptr_t
new file mode 100644
index 0000000..a33d6d0
--- /dev/null
+++ b/app/nginx/auto/types/uintptr_t
@@ -0,0 +1,50 @@
+
+# Copyright (C) Igor Sysoev
+# Copyright (C) Nginx, Inc.
+
+
+echo $ngx_n "checking for uintptr_t ...$ngx_c"
+
+cat << END >> $NGX_AUTOCONF_ERR
+
+----------------------------------------
+checking for uintptr_t
+
+END
+
+found=no
+
+cat << END > $NGX_AUTOTEST.c
+
+#include <sys/types.h>
+$NGX_INCLUDE_INTTYPES_H
+
+int main(void) {
+ uintptr_t i = 0;
+ return (int) i;
+}
+
+END
+
+ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \
+ -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT"
+
+eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1"
+
+if [ -x $NGX_AUTOTEST ]; then
+ echo " uintptr_t found"
+ found=yes
+else
+ echo $ngx_n " uintptr_t not found" $ngx_c
+fi
+
+rm -rf $NGX_AUTOTEST*
+
+
+if [ $found = no ]; then
+ found="uint`expr 8 \* $ngx_ptr_size`_t"
+ echo ", $found used"
+
+ echo "typedef $found uintptr_t;" >> $NGX_AUTO_CONFIG_H
+ echo "typedef $found intptr_t;" | sed -e 's/u//g' >> $NGX_AUTO_CONFIG_H
+fi
diff --git a/app/nginx/auto/types/value b/app/nginx/auto/types/value
new file mode 100644
index 0000000..ac88a39
--- /dev/null
+++ b/app/nginx/auto/types/value
@@ -0,0 +1,12 @@
+
+# Copyright (C) Igor Sysoev
+# Copyright (C) Nginx, Inc.
+
+
+cat << END >> $NGX_AUTO_CONFIG_H
+
+#ifndef $ngx_param
+#define $ngx_param $ngx_value
+#endif
+
+END