74 lines
1.3 KiB
Plaintext
74 lines
1.3 KiB
Plaintext
|
|
# 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
|