# Copyright (C) 2024 Web Server LLC # Copyright (C) Igor Sysoev # Copyright (C) Nginx, Inc. if check_cache "little endian" "endianness"; then return fi echo $ngx_n "checking for system byte ordering ...$ngx_c" cat << END >> $NGX_AUTOCONF_ERR ---------------------------------------- checking for system byte ordering END ngx_found=no cat << END > $NGX_AUTOTEST.c int main(void) { int i = 0x11223344; char *p; p = (char *) &i; if (*p == 0x44) return 0; return 1; } END ngx_test="($CC -c $CC_TEST_FLAGS $CC_AUX_FLAGS \ -o $NGX_AUTOTEST.o $NGX_AUTOTEST.c && \ $CC $CC_TEST_FLAGS $CC_AUX_FLAGS \ -o $NGX_AUTOTEST $NGX_AUTOTEST.o $NGX_LD_OPT $ngx_feature_libs)" eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1" if [ -x $NGX_AUTOTEST ]; then if runtest "endianness" ""; then echo " little endian" have=NGX_HAVE_LITTLE_ENDIAN . auto/have ngx_found=yes else echo " big endian" fi rm -rf $NGX_AUTOTEST* else rm -rf $NGX_AUTOTEST* echo echo "$0: error: cannot detect system byte ordering" exit 1 fi if [ $NGX_FEATURE_CACHE = NO ]; then return fi cache_output_start echo "ngx_found=$ngx_found" if [ $ngx_found = yes ]; then echo "have=NGX_HAVE_LITTLE_ENDIAN . auto/have" fi cache_output_end