xref: /f-stack/app/nginx-1.16.1/auto/feature (revision 3da8d17d)
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