summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--auto/endian31
-rwxr-xr-xconfigure2
2 files changed, 32 insertions, 1 deletions
diff --git a/auto/endian b/auto/endian
new file mode 100644
index 00000000..cb23639b
--- /dev/null
+++ b/auto/endian
@@ -0,0 +1,31 @@
+# Copyright (C) Igor Sysoev
+# Copyright (C) Andrew Clayton
+# Copyright (C) Nginx, Inc.
+
+
+nxt_feature="endianness"
+nxt_feature_name=
+nxt_feature_run=value
+nxt_feature_incs=
+nxt_feature_libs=
+nxt_feature_test="#include <stdint.h>
+ #include <stdio.h>
+
+ int main(void) {
+ int i = 0x11223344;
+ uint8_t *p;
+
+ p = (uint8_t *)&i;
+ if (*p == 0x44)
+ printf(\"little endian\");
+ else
+ printf(\"big endian\");
+ return 0;
+ }"
+. auto/feature
+
+if [ "$nxt_feature_value" = "little endian" ]; then
+ nxt_have=NXT_HAVE_LITTLE_ENDIAN . auto/have
+else
+ nxt_have=NXT_HAVE_BIG_ENDIAN . auto/have
+fi
diff --git a/configure b/configure
index 1d897f1d..8482b514 100755
--- a/configure
+++ b/configure
@@ -109,6 +109,7 @@ fi
NXT_LIBRT=
+. auto/endian
. auto/types
. auto/clang
. auto/atomic
@@ -136,7 +137,6 @@ fi
case "$NXT_SYSTEM_PLATFORM" in
i386 | amd64 | x86_64)
- nxt_have=NXT_HAVE_LITTLE_ENDIAN . auto/have
nxt_have=NXT_HAVE_NONALIGNED . auto/have
;;
esac