1*4882a593SmuzhiyunFrom be9970aa16c5142ef814531d74a07990a8e9eb14 Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Derek Straka <derek@asterius.io>
3*4882a593SmuzhiyunDate: Fri, 1 Dec 2017 10:32:29 -0500
4*4882a593SmuzhiyunSubject: [PATCH] Allow the overriding of the endianness via the configure flag
5*4882a593Smuzhiyun --with-endian
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunThe existing configure options contain the --with-endian; however, the command
8*4882a593Smuzhiyunline flag does not actually function.  It does not set the endianness and it
9*4882a593Smuzhiyunappears to do nothing.
10*4882a593Smuzhiyun
11*4882a593SmuzhiyunUpstream-Status: Pending
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunSigned-off-by: Derek Straka <derek@asterius.io>
14*4882a593Smuzhiyun
15*4882a593Smuzhiyundiff --git a/auto/endianness b/auto/endianness
16*4882a593Smuzhiyunindex 1b552b6..be84487 100644
17*4882a593Smuzhiyun--- a/auto/endianness
18*4882a593Smuzhiyun+++ b/auto/endianness
19*4882a593Smuzhiyun@@ -13,7 +13,13 @@ checking for system byte ordering
20*4882a593Smuzhiyun END
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun-cat << END > $NGX_AUTOTEST.c
24*4882a593Smuzhiyun+if [ ".$NGX_WITH_ENDIAN" = ".little" ]; then
25*4882a593Smuzhiyun+    echo " little endian"
26*4882a593Smuzhiyun+    have=NGX_HAVE_LITTLE_ENDIAN . auto/have
27*4882a593Smuzhiyun+elif [ ".$NGX_WITH_ENDIAN" = ".big" ]; then
28*4882a593Smuzhiyun+    echo " big endian"
29*4882a593Smuzhiyun+else
30*4882a593Smuzhiyun+    cat << END > $NGX_AUTOTEST.c
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun int main(void) {
33*4882a593Smuzhiyun     int i = 0x11223344;
34*4882a593Smuzhiyun@@ -26,25 +32,26 @@ int main(void) {
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun END
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun-ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \
39*4882a593Smuzhiyun-          -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs"
40*4882a593Smuzhiyun+    ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \
41*4882a593Smuzhiyun+              -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs"
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun-eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1"
44*4882a593Smuzhiyun+    eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1"
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun-if [ -x $NGX_AUTOTEST ]; then
47*4882a593Smuzhiyun-    if $NGX_AUTOTEST >/dev/null 2>&1; then
48*4882a593Smuzhiyun-        echo " little endian"
49*4882a593Smuzhiyun-        have=NGX_HAVE_LITTLE_ENDIAN . auto/have
50*4882a593Smuzhiyun-    else
51*4882a593Smuzhiyun-        echo " big endian"
52*4882a593Smuzhiyun-    fi
53*4882a593Smuzhiyun+    if [ -x $NGX_AUTOTEST ]; then
54*4882a593Smuzhiyun+        if $NGX_AUTOTEST >/dev/null 2>&1; then
55*4882a593Smuzhiyun+            echo " little endian"
56*4882a593Smuzhiyun+            have=NGX_HAVE_LITTLE_ENDIAN . auto/have
57*4882a593Smuzhiyun+        else
58*4882a593Smuzhiyun+            echo " big endian"
59*4882a593Smuzhiyun+        fi
60*4882a593Smuzhiyun
61*4882a593Smuzhiyun-    rm -rf $NGX_AUTOTEST*
62*4882a593Smuzhiyun+        rm -rf $NGX_AUTOTEST*
63*4882a593Smuzhiyun
64*4882a593Smuzhiyun-else
65*4882a593Smuzhiyun-    rm -rf $NGX_AUTOTEST*
66*4882a593Smuzhiyun+    else
67*4882a593Smuzhiyun+        rm -rf $NGX_AUTOTEST*
68*4882a593Smuzhiyun
69*4882a593Smuzhiyun-    echo
70*4882a593Smuzhiyun-    echo "$0: error: cannot detect system byte ordering"
71*4882a593Smuzhiyun-    exit 1
72*4882a593Smuzhiyun+        echo
73*4882a593Smuzhiyun+        echo "$0: error: cannot detect system byte ordering"
74*4882a593Smuzhiyun+        exit 1
75*4882a593Smuzhiyun+    fi
76*4882a593Smuzhiyun fi
77*4882a593Smuzhiyun--
78*4882a593Smuzhiyun2.7.4
79*4882a593Smuzhiyun
80*4882a593Smuzhiyun
81