xref: /f-stack/app/nginx-1.16.1/auto/endianness (revision 3da8d17d)
1
2# Copyright (C) Igor Sysoev
3# Copyright (C) Nginx, Inc.
4
5
6echo $ngx_n "checking for system byte ordering ...$ngx_c"
7
8cat << END >> $NGX_AUTOCONF_ERR
9
10----------------------------------------
11checking for system byte ordering
12
13END
14
15
16cat << END > $NGX_AUTOTEST.c
17
18int main(void) {
19    int i = 0x11223344;
20    char *p;
21
22    p = (char *) &i;
23    if (*p == 0x44) return 0;
24    return 1;
25}
26
27END
28
29ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \
30          -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs"
31
32eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1"
33
34if [ -x $NGX_AUTOTEST ]; then
35    if $NGX_AUTOTEST >/dev/null 2>&1; then
36        echo " little endian"
37        have=NGX_HAVE_LITTLE_ENDIAN . auto/have
38    else
39        echo " big endian"
40    fi
41
42    rm -rf $NGX_AUTOTEST*
43
44else
45    rm -rf $NGX_AUTOTEST*
46
47    echo
48    echo "$0: error: cannot detect system byte ordering"
49    exit 1
50fi
51