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