# Copyright (C) 2024 Web Server LLC # Copyright (C) Igor Sysoev # Copyright (C) Nginx, Inc. if check_cache "$ngx_feature" "feature"; then return fi echo $ngx_n "checking for $ngx_feature ...$ngx_c" cat << END >> $NGX_AUTOCONF_ERR ---------------------------------------- checking for $ngx_feature END ngx_found=no ngx_add_have=no ngx_add_value=no if test -n "$ngx_feature_name"; then name2macro "$ngx_feature_name" ngx_have_feature="$res" fi if test -n "$ngx_feature_path"; then for ngx_temp in $ngx_feature_path; do ngx_feature_inc_path="$ngx_feature_inc_path -I $ngx_temp" done fi cat << END > $NGX_AUTOTEST.c #include $NGX_INCLUDE_UNISTD_H $ngx_feature_incs int main(void) { $ngx_feature_test; return 0; } END ngx_test="($CC -c $CC_TEST_FLAGS $CC_AUX_FLAGS $ngx_feature_inc_path \ -o $NGX_AUTOTEST.o $NGX_AUTOTEST.c && \ $CC $CC_TEST_FLAGS $CC_AUX_FLAGS \ -o $NGX_AUTOTEST $NGX_AUTOTEST.o $NGX_TEST_LD_OPT $ngx_feature_libs)" ngx_feature_inc_path= eval "/bin/sh -c \"$ngx_test\" >> $NGX_AUTOCONF_ERR 2>&1" if [ -x $NGX_AUTOTEST ]; then case "$ngx_feature_run" in yes) if runtest "feature" "$ngx_feature_name"; then echo " found" ngx_found=yes if test -n "$ngx_feature_name"; then have=$ngx_have_feature . auto/have ngx_add_have=yes fi else echo " found but is not working" fi ;; value) if runtest "feature" "$ngx_feature_name"; then echo " found" ngx_found=yes have="$ngx_feature_name" value="$ngx_rtval" . auto/define ngx_add_value=$value else echo " found but is not working" fi ;; bug) if runtest "feature" "$ngx_feature_name"; then echo " not found" else echo " found" ngx_found=yes if test -n "$ngx_feature_name"; then have=$ngx_have_feature . auto/have ngx_add_have=yes fi fi ;; *) echo " found" ngx_found=yes if test -n "$ngx_feature_name"; then have=$ngx_have_feature . auto/have ngx_add_have=yes fi ;; esac else echo " not found" echo "----------" >> $NGX_AUTOCONF_ERR cat $NGX_AUTOTEST.c >> $NGX_AUTOCONF_ERR echo "----------" >> $NGX_AUTOCONF_ERR echo $ngx_test >> $NGX_AUTOCONF_ERR echo "----------" >> $NGX_AUTOCONF_ERR fi rm -rf $NGX_AUTOTEST* if [ $NGX_FEATURE_CACHE = NO ]; then return fi cache_output_start echo "ngx_found=$ngx_found" if [ $ngx_add_have = yes ]; then echo "have=$ngx_have_feature . auto/have" fi if [ $ngx_add_value != no ]; then echo "have=\"$ngx_feature_name\" value=\"$ngx_add_value\" . auto/define" fi cache_output_end