1*3da8d17dSfengbojiang(姜凤波) 2*3da8d17dSfengbojiang(姜凤波)# Copyright (C) Igor Sysoev 3*3da8d17dSfengbojiang(姜凤波)# Copyright (C) Nginx, Inc. 4*3da8d17dSfengbojiang(姜凤波) 5*3da8d17dSfengbojiang(姜凤波) 6*3da8d17dSfengbojiang(姜凤波)echo $ngx_n "checking for $ngx_feature ...$ngx_c" 7*3da8d17dSfengbojiang(姜凤波) 8*3da8d17dSfengbojiang(姜凤波)cat << END >> $NGX_AUTOCONF_ERR 9*3da8d17dSfengbojiang(姜凤波) 10*3da8d17dSfengbojiang(姜凤波)---------------------------------------- 11*3da8d17dSfengbojiang(姜凤波)checking for $ngx_feature 12*3da8d17dSfengbojiang(姜凤波) 13*3da8d17dSfengbojiang(姜凤波)END 14*3da8d17dSfengbojiang(姜凤波) 15*3da8d17dSfengbojiang(姜凤波)ngx_found=no 16*3da8d17dSfengbojiang(姜凤波) 17*3da8d17dSfengbojiang(姜凤波)if test -n "$ngx_feature_name"; then 18*3da8d17dSfengbojiang(姜凤波) ngx_have_feature=`echo $ngx_feature_name \ 19*3da8d17dSfengbojiang(姜凤波) | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ` 20*3da8d17dSfengbojiang(姜凤波)fi 21*3da8d17dSfengbojiang(姜凤波) 22*3da8d17dSfengbojiang(姜凤波)if test -n "$ngx_feature_path"; then 23*3da8d17dSfengbojiang(姜凤波) for ngx_temp in $ngx_feature_path; do 24*3da8d17dSfengbojiang(姜凤波) ngx_feature_inc_path="$ngx_feature_inc_path -I $ngx_temp" 25*3da8d17dSfengbojiang(姜凤波) done 26*3da8d17dSfengbojiang(姜凤波)fi 27*3da8d17dSfengbojiang(姜凤波) 28*3da8d17dSfengbojiang(姜凤波)cat << END > $NGX_AUTOTEST.c 29*3da8d17dSfengbojiang(姜凤波) 30*3da8d17dSfengbojiang(姜凤波)#include <sys/types.h> 31*3da8d17dSfengbojiang(姜凤波)$NGX_INCLUDE_UNISTD_H 32*3da8d17dSfengbojiang(姜凤波)$ngx_feature_incs 33*3da8d17dSfengbojiang(姜凤波) 34*3da8d17dSfengbojiang(姜凤波)int main(void) { 35*3da8d17dSfengbojiang(姜凤波) $ngx_feature_test; 36*3da8d17dSfengbojiang(姜凤波) return 0; 37*3da8d17dSfengbojiang(姜凤波)} 38*3da8d17dSfengbojiang(姜凤波) 39*3da8d17dSfengbojiang(姜凤波)END 40*3da8d17dSfengbojiang(姜凤波) 41*3da8d17dSfengbojiang(姜凤波) 42*3da8d17dSfengbojiang(姜凤波)ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS $ngx_feature_inc_path \ 43*3da8d17dSfengbojiang(姜凤波) -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_TEST_LD_OPT $ngx_feature_libs" 44*3da8d17dSfengbojiang(姜凤波) 45*3da8d17dSfengbojiang(姜凤波)ngx_feature_inc_path= 46*3da8d17dSfengbojiang(姜凤波) 47*3da8d17dSfengbojiang(姜凤波)eval "/bin/sh -c \"$ngx_test\" >> $NGX_AUTOCONF_ERR 2>&1" 48*3da8d17dSfengbojiang(姜凤波) 49*3da8d17dSfengbojiang(姜凤波) 50*3da8d17dSfengbojiang(姜凤波)if [ -x $NGX_AUTOTEST ]; then 51*3da8d17dSfengbojiang(姜凤波) 52*3da8d17dSfengbojiang(姜凤波) case "$ngx_feature_run" in 53*3da8d17dSfengbojiang(姜凤波) 54*3da8d17dSfengbojiang(姜凤波) yes) 55*3da8d17dSfengbojiang(姜凤波) # /bin/sh is used to intercept "Killed" or "Abort trap" messages 56*3da8d17dSfengbojiang(姜凤波) if /bin/sh -c $NGX_AUTOTEST >> $NGX_AUTOCONF_ERR 2>&1; then 57*3da8d17dSfengbojiang(姜凤波) echo " found" 58*3da8d17dSfengbojiang(姜凤波) ngx_found=yes 59*3da8d17dSfengbojiang(姜凤波) 60*3da8d17dSfengbojiang(姜凤波) if test -n "$ngx_feature_name"; then 61*3da8d17dSfengbojiang(姜凤波) have=$ngx_have_feature . auto/have 62*3da8d17dSfengbojiang(姜凤波) fi 63*3da8d17dSfengbojiang(姜凤波) 64*3da8d17dSfengbojiang(姜凤波) else 65*3da8d17dSfengbojiang(姜凤波) echo " found but is not working" 66*3da8d17dSfengbojiang(姜凤波) fi 67*3da8d17dSfengbojiang(姜凤波) ;; 68*3da8d17dSfengbojiang(姜凤波) 69*3da8d17dSfengbojiang(姜凤波) value) 70*3da8d17dSfengbojiang(姜凤波) # /bin/sh is used to intercept "Killed" or "Abort trap" messages 71*3da8d17dSfengbojiang(姜凤波) if /bin/sh -c $NGX_AUTOTEST >> $NGX_AUTOCONF_ERR 2>&1; then 72*3da8d17dSfengbojiang(姜凤波) echo " found" 73*3da8d17dSfengbojiang(姜凤波) ngx_found=yes 74*3da8d17dSfengbojiang(姜凤波) 75*3da8d17dSfengbojiang(姜凤波) cat << END >> $NGX_AUTO_CONFIG_H 76*3da8d17dSfengbojiang(姜凤波) 77*3da8d17dSfengbojiang(姜凤波)#ifndef $ngx_feature_name 78*3da8d17dSfengbojiang(姜凤波)#define $ngx_feature_name `$NGX_AUTOTEST` 79*3da8d17dSfengbojiang(姜凤波)#endif 80*3da8d17dSfengbojiang(姜凤波) 81*3da8d17dSfengbojiang(姜凤波)END 82*3da8d17dSfengbojiang(姜凤波) else 83*3da8d17dSfengbojiang(姜凤波) echo " found but is not working" 84*3da8d17dSfengbojiang(姜凤波) fi 85*3da8d17dSfengbojiang(姜凤波) ;; 86*3da8d17dSfengbojiang(姜凤波) 87*3da8d17dSfengbojiang(姜凤波) bug) 88*3da8d17dSfengbojiang(姜凤波) # /bin/sh is used to intercept "Killed" or "Abort trap" messages 89*3da8d17dSfengbojiang(姜凤波) if /bin/sh -c $NGX_AUTOTEST >> $NGX_AUTOCONF_ERR 2>&1; then 90*3da8d17dSfengbojiang(姜凤波) echo " not found" 91*3da8d17dSfengbojiang(姜凤波) 92*3da8d17dSfengbojiang(姜凤波) else 93*3da8d17dSfengbojiang(姜凤波) echo " found" 94*3da8d17dSfengbojiang(姜凤波) ngx_found=yes 95*3da8d17dSfengbojiang(姜凤波) 96*3da8d17dSfengbojiang(姜凤波) if test -n "$ngx_feature_name"; then 97*3da8d17dSfengbojiang(姜凤波) have=$ngx_have_feature . auto/have 98*3da8d17dSfengbojiang(姜凤波) fi 99*3da8d17dSfengbojiang(姜凤波) fi 100*3da8d17dSfengbojiang(姜凤波) ;; 101*3da8d17dSfengbojiang(姜凤波) 102*3da8d17dSfengbojiang(姜凤波) *) 103*3da8d17dSfengbojiang(姜凤波) echo " found" 104*3da8d17dSfengbojiang(姜凤波) ngx_found=yes 105*3da8d17dSfengbojiang(姜凤波) 106*3da8d17dSfengbojiang(姜凤波) if test -n "$ngx_feature_name"; then 107*3da8d17dSfengbojiang(姜凤波) have=$ngx_have_feature . auto/have 108*3da8d17dSfengbojiang(姜凤波) fi 109*3da8d17dSfengbojiang(姜凤波) ;; 110*3da8d17dSfengbojiang(姜凤波) 111*3da8d17dSfengbojiang(姜凤波) esac 112*3da8d17dSfengbojiang(姜凤波) 113*3da8d17dSfengbojiang(姜凤波)else 114*3da8d17dSfengbojiang(姜凤波) echo " not found" 115*3da8d17dSfengbojiang(姜凤波) 116*3da8d17dSfengbojiang(姜凤波) echo "----------" >> $NGX_AUTOCONF_ERR 117*3da8d17dSfengbojiang(姜凤波) cat $NGX_AUTOTEST.c >> $NGX_AUTOCONF_ERR 118*3da8d17dSfengbojiang(姜凤波) echo "----------" >> $NGX_AUTOCONF_ERR 119*3da8d17dSfengbojiang(姜凤波) echo $ngx_test >> $NGX_AUTOCONF_ERR 120*3da8d17dSfengbojiang(姜凤波) echo "----------" >> $NGX_AUTOCONF_ERR 121*3da8d17dSfengbojiang(姜凤波)fi 122*3da8d17dSfengbojiang(姜凤波) 123*3da8d17dSfengbojiang(姜凤波)rm -rf $NGX_AUTOTEST* 124