annotate auto/feature @ 604:428c6e58046a NGINX_0_9_0

nginx 0.9.0 *) Feature: the "keepalive_disable" directive. *) Feature: the "map" directive supports variables as value of a defined variable. *) Feature: the "map" directive supports empty strings as value of the first parameter. *) Feature: the "map" directive supports expressions as the first parameter. *) Feature: nginx(8) manual page. Thanks to Sergey Osokin. *) Feature: Linux accept4() support. Thanks to Simon Liu. *) Workaround: elimination of Linux linker warning about "sys_errlist" and "sys_nerr"; the warning had appeared in 0.8.35. *) Bugfix: a segmentation fault might occur in a worker process, if the "auth_basic" directive was used. Thanks to Michail Laletin. *) Bugfix: compatibility with ngx_http_eval_module; the bug had appeared in 0.8.42.
author Igor Sysoev <http://sysoev.ru>
date Mon, 29 Nov 2010 00:00:00 +0300
parents 5c576ea5dbd9
children a7a5fa2e395b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
1
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
2 # Copyright (C) Igor Sysoev
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
3
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
4
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
5 echo $ngx_n "checking for $ngx_feature ...$ngx_c"
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
6
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
7 cat << END >> $NGX_AUTOCONF_ERR
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
8
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
9 ----------------------------------------
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
10 checking for $ngx_feature
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
11
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
12 END
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
13
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
14 ngx_found=no
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
15
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
16 if test -n "$ngx_feature_name"; then
194
003bd800ec2a nginx 0.3.44
Igor Sysoev <http://sysoev.ru>
parents: 168
diff changeset
17 ngx_have_feature=`echo $ngx_feature_name \
003bd800ec2a nginx 0.3.44
Igor Sysoev <http://sysoev.ru>
parents: 168
diff changeset
18 | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
19 fi
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
20
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
21 if test -n "$ngx_feature_path"; then
392
34fb3a573548 nginx 0.7.8
Igor Sysoev <http://sysoev.ru>
parents: 270
diff changeset
22 for ngx_temp in $ngx_feature_path; do
34fb3a573548 nginx 0.7.8
Igor Sysoev <http://sysoev.ru>
parents: 270
diff changeset
23 ngx_feature_inc_path="$ngx_feature_inc_path -I $ngx_temp"
34fb3a573548 nginx 0.7.8
Igor Sysoev <http://sysoev.ru>
parents: 270
diff changeset
24 done
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
25 fi
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
26
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
27 cat << END > $NGX_AUTOTEST.c
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
28
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
29 #include <sys/types.h>
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
30 $NGX_INCLUDE_UNISTD_H
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
31 $ngx_feature_incs
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
32
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
33 int main() {
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
34 $ngx_feature_test;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
35 return 0;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
36 }
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
37
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
38 END
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
39
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
40
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
41 ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS $ngx_feature_inc_path \
554
5c576ea5dbd9 nginx 0.8.29
Igor Sysoev <http://sysoev.ru>
parents: 392
diff changeset
42 -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_TEST_LD_OPT $ngx_feature_libs"
10
46833bd150cb nginx 0.1.5
Igor Sysoev <http://sysoev.ru>
parents: 4
diff changeset
43
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
44 ngx_feature_inc_path=
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
45
270
6eb1e38f0f1f nginx 0.5.5
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
46 eval "/bin/sh -c \"$ngx_test\" >> $NGX_AUTOCONF_ERR 2>&1"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
47
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
48
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
49 if [ -x $NGX_AUTOTEST ]; then
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
50
168
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
51 case "$ngx_feature_run" in
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
52
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
53 yes)
236
c982febb7588 nginx 0.4.3
Igor Sysoev <http://sysoev.ru>
parents: 194
diff changeset
54 # /bin/sh is used to intercept "Killed" or "Abort trap" messages
c982febb7588 nginx 0.4.3
Igor Sysoev <http://sysoev.ru>
parents: 194
diff changeset
55 if /bin/sh -c $NGX_AUTOTEST >/dev/null 2>&1; then
168
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
56 echo " found"
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
57 ngx_found=yes
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
58
168
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
59 if test -n "$ngx_feature_name"; then
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
60 have=$ngx_have_feature . auto/have
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
61 fi
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
62
168
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
63 else
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
64 echo " found but is not working"
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
65 fi
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
66 ;;
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
67
604
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 554
diff changeset
68 value)
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 554
diff changeset
69 # /bin/sh is used to intercept "Killed" or "Abort trap" messages
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 554
diff changeset
70 if /bin/sh -c $NGX_AUTOTEST >/dev/null 2>&1; then
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 554
diff changeset
71 echo " found"
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 554
diff changeset
72 ngx_found=yes
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 554
diff changeset
73
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 554
diff changeset
74 cat << END >> $NGX_AUTO_CONFIG_H
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 554
diff changeset
75
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 554
diff changeset
76 #ifndef $ngx_feature_name
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 554
diff changeset
77 #define $ngx_feature_name `$NGX_AUTOTEST`
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 554
diff changeset
78 #endif
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 554
diff changeset
79
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 554
diff changeset
80 END
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 554
diff changeset
81 else
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 554
diff changeset
82 echo " found but is not working"
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 554
diff changeset
83 fi
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 554
diff changeset
84 ;;
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 554
diff changeset
85
168
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
86 bug)
236
c982febb7588 nginx 0.4.3
Igor Sysoev <http://sysoev.ru>
parents: 194
diff changeset
87 # /bin/sh is used to intercept "Killed" or "Abort trap" messages
c982febb7588 nginx 0.4.3
Igor Sysoev <http://sysoev.ru>
parents: 194
diff changeset
88 if /bin/sh -c $NGX_AUTOTEST >/dev/null 2>&1; then
168
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
89 echo " not found"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
90
168
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
91 else
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
92 echo " found"
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
93 ngx_found=yes
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
94
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
95 if test -n "$ngx_feature_name"; then
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
96 have=$ngx_have_feature . auto/have
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
97 fi
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
98 fi
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
99 ;;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
100
168
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
101 *)
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
102 echo " found"
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
103 ngx_found=yes
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
104
168
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
105 if test -n "$ngx_feature_name"; then
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
106 have=$ngx_have_feature . auto/have
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
107 fi
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
108 ;;
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
109
168
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
110 esac
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
111
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
112 else
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
113 echo " not found"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
114
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
115 echo "----------" >> $NGX_AUTOCONF_ERR
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
116 cat $NGX_AUTOTEST.c >> $NGX_AUTOCONF_ERR
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
117 echo "----------" >> $NGX_AUTOCONF_ERR
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
118 echo $ngx_test >> $NGX_AUTOCONF_ERR
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
119 echo "----------" >> $NGX_AUTOCONF_ERR
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
120 fi
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
121
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
122 rm $NGX_AUTOTEST*