xref: /nginx/auto/endianness (revision 6624:e3faa5fb7772)
14681Sru@nginx.com
24681Sru@nginx.com# Copyright (C) Igor Sysoev
34681Sru@nginx.com# Copyright (C) Nginx, Inc.
44681Sru@nginx.com
54681Sru@nginx.com
64681Sru@nginx.comecho $ngx_n "checking for system byte ordering ...$ngx_c"
76269Spiotrsikora@google.com
86269Spiotrsikora@google.comcat << END >> $NGX_AUTOCONF_ERR
96269Spiotrsikora@google.com
106269Spiotrsikora@google.com----------------------------------------
116269Spiotrsikora@google.comchecking for system byte ordering
126269Spiotrsikora@google.com
136269Spiotrsikora@google.comEND
144681Sru@nginx.com
154681Sru@nginx.com
164681Sru@nginx.comcat << END > $NGX_AUTOTEST.c
174681Sru@nginx.com
18*6624Spiotrsikora@google.comint main(void) {
194681Sru@nginx.com    int i = 0x11223344;
204681Sru@nginx.com    char *p;
214681Sru@nginx.com
224681Sru@nginx.com    p = (char *) &i;
234681Sru@nginx.com    if (*p == 0x44) return 0;
244681Sru@nginx.com    return 1;
254681Sru@nginx.com}
264681Sru@nginx.com
274681Sru@nginx.comEND
284681Sru@nginx.com
294681Sru@nginx.comngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \
304681Sru@nginx.com          -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs"
314681Sru@nginx.com
324681Sru@nginx.comeval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1"
334681Sru@nginx.com
344681Sru@nginx.comif [ -x $NGX_AUTOTEST ]; then
354681Sru@nginx.com    if $NGX_AUTOTEST >/dev/null 2>&1; then
364681Sru@nginx.com        echo " little endian"
374681Sru@nginx.com        have=NGX_HAVE_LITTLE_ENDIAN . auto/have
384681Sru@nginx.com    else
394681Sru@nginx.com        echo " big endian"
404681Sru@nginx.com    fi
414681Sru@nginx.com
425309Spluknet@nginx.com    rm -rf $NGX_AUTOTEST*
434681Sru@nginx.com
444681Sru@nginx.comelse
455309Spluknet@nginx.com    rm -rf $NGX_AUTOTEST*
464681Sru@nginx.com
474681Sru@nginx.com    echo
484681Sru@nginx.com    echo "$0: error: cannot detect system byte ordering"
494681Sru@nginx.com    exit 1
504681Sru@nginx.comfi
51