|  |  | 
|  | # Copyright (C) Igor Sysoev | 
|  | # Copyright (C) Nginx, Inc. | 
|  |  | 
|  |  | 
|  | echo $ngx_n "checking for $ngx_feature ...$ngx_c" | 
|  |  | 
|  | cat << END >> $NGX_AUTOCONF_ERR | 
|  |  | 
|  | ---------------------------------------- | 
|  | checking for $ngx_feature | 
|  |  | 
|  | END | 
|  |  | 
|  | ngx_found=no | 
|  |  | 
|  | if test -n "$ngx_feature_name"; then | 
|  | ngx_have_feature=`echo $ngx_feature_name \ | 
|  | | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ` | 
|  | 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 <sys/types.h> | 
|  | $NGX_INCLUDE_UNISTD_H | 
|  | $ngx_feature_incs | 
|  |  | 
|  | int main() { | 
|  | $ngx_feature_test; | 
|  | return 0; | 
|  | } | 
|  |  | 
|  | END | 
|  |  | 
|  |  | 
|  | ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS $ngx_feature_inc_path \ | 
|  | -o $NGX_AUTOTEST $NGX_AUTOTEST.c $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) | 
|  | # /bin/sh is used to intercept "Killed" or "Abort trap" messages | 
|  | if /bin/sh -c $NGX_AUTOTEST >> $NGX_AUTOCONF_ERR 2>&1; then | 
|  | echo " found" | 
|  | ngx_found=yes | 
|  |  | 
|  | if test -n "$ngx_feature_name"; then | 
|  | have=$ngx_have_feature . auto/have | 
|  | fi | 
|  |  | 
|  | else | 
|  | echo " found but is not working" | 
|  | fi | 
|  | ;; | 
|  |  | 
|  | value) | 
|  | # /bin/sh is used to intercept "Killed" or "Abort trap" messages | 
|  | if /bin/sh -c $NGX_AUTOTEST >> $NGX_AUTOCONF_ERR 2>&1; then | 
|  | echo " found" | 
|  | ngx_found=yes | 
|  |  | 
|  | cat << END >> $NGX_AUTO_CONFIG_H | 
|  |  | 
|  | #ifndef $ngx_feature_name | 
|  | #define $ngx_feature_name  `$NGX_AUTOTEST` | 
|  | #endif | 
|  |  | 
|  | END | 
|  | else | 
|  | echo " found but is not working" | 
|  | fi | 
|  | ;; | 
|  |  | 
|  | bug) | 
|  | # /bin/sh is used to intercept "Killed" or "Abort trap" messages | 
|  | if /bin/sh -c $NGX_AUTOTEST >> $NGX_AUTOCONF_ERR 2>&1; then | 
|  | echo " not found" | 
|  |  | 
|  | else | 
|  | echo " found" | 
|  | ngx_found=yes | 
|  |  | 
|  | if test -n "$ngx_feature_name"; then | 
|  | have=$ngx_have_feature . auto/have | 
|  | fi | 
|  | fi | 
|  | ;; | 
|  |  | 
|  | *) | 
|  | echo " found" | 
|  | ngx_found=yes | 
|  |  | 
|  | if test -n "$ngx_feature_name"; then | 
|  | have=$ngx_have_feature . auto/have | 
|  | 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* |