| |
| # 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* |