annotate auto/os/features @ 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 016632f0fb18
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
64
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
1
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
2 # Copyright (C) Igor Sysoev
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
3
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
4
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
5 NGX_USER=${NGX_USER:-nobody}
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
6
256
2e9c57a5e50a nginx 0.4.13
Igor Sysoev <http://sysoev.ru>
parents: 172
diff changeset
7 if [ -z "$NGX_GROUP" ]; then
2e9c57a5e50a nginx 0.4.13
Igor Sysoev <http://sysoev.ru>
parents: 172
diff changeset
8 if [ $NGX_USER = nobody ]; then
2e9c57a5e50a nginx 0.4.13
Igor Sysoev <http://sysoev.ru>
parents: 172
diff changeset
9 if grep nobody /etc/group 2>&1 >/dev/null; then
2e9c57a5e50a nginx 0.4.13
Igor Sysoev <http://sysoev.ru>
parents: 172
diff changeset
10 echo "checking for nobody group ... found"
2e9c57a5e50a nginx 0.4.13
Igor Sysoev <http://sysoev.ru>
parents: 172
diff changeset
11 NGX_GROUP=nobody
2e9c57a5e50a nginx 0.4.13
Igor Sysoev <http://sysoev.ru>
parents: 172
diff changeset
12 else
2e9c57a5e50a nginx 0.4.13
Igor Sysoev <http://sysoev.ru>
parents: 172
diff changeset
13 echo "checking for nobody group ... not found"
64
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
14
256
2e9c57a5e50a nginx 0.4.13
Igor Sysoev <http://sysoev.ru>
parents: 172
diff changeset
15 if grep nogroup /etc/group 2>&1 >/dev/null; then
2e9c57a5e50a nginx 0.4.13
Igor Sysoev <http://sysoev.ru>
parents: 172
diff changeset
16 echo "checking for nogroup group ... found"
2e9c57a5e50a nginx 0.4.13
Igor Sysoev <http://sysoev.ru>
parents: 172
diff changeset
17 NGX_GROUP=nogroup
2e9c57a5e50a nginx 0.4.13
Igor Sysoev <http://sysoev.ru>
parents: 172
diff changeset
18 else
2e9c57a5e50a nginx 0.4.13
Igor Sysoev <http://sysoev.ru>
parents: 172
diff changeset
19 echo "checking for nogroup group ... not found"
2e9c57a5e50a nginx 0.4.13
Igor Sysoev <http://sysoev.ru>
parents: 172
diff changeset
20 NGX_GROUP=nobody
2e9c57a5e50a nginx 0.4.13
Igor Sysoev <http://sysoev.ru>
parents: 172
diff changeset
21 fi
64
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
22 fi
256
2e9c57a5e50a nginx 0.4.13
Igor Sysoev <http://sysoev.ru>
parents: 172
diff changeset
23 else
2e9c57a5e50a nginx 0.4.13
Igor Sysoev <http://sysoev.ru>
parents: 172
diff changeset
24 NGX_GROUP=$NGX_USER
64
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
25 fi
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
26 fi
126
df17fbafec8f nginx 0.3.10
Igor Sysoev <http://sysoev.ru>
parents: 112
diff changeset
27
64
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
28
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
29 ngx_feature="poll()"
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
30 ngx_feature_name=
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
31 ngx_feature_run=no
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
32 ngx_feature_incs="#include <poll.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 256
diff changeset
33 ngx_feature_path=
64
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
34 ngx_feature_libs=
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
35 ngx_feature_test="int n, dp; struct pollfd pl;
126
df17fbafec8f nginx 0.3.10
Igor Sysoev <http://sysoev.ru>
parents: 112
diff changeset
36 dp = 0;
64
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
37 pl.fd = 0;
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
38 pl.events = 0;
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
39 pl.revents = 0;
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
40 n = poll(&pl, 1, 0)"
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
41 . auto/feature
126
df17fbafec8f nginx 0.3.10
Igor Sysoev <http://sysoev.ru>
parents: 112
diff changeset
42
64
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
43 if [ $ngx_found = no ]; then
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
44 EVENT_POLL=NONE
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
45 fi
126
df17fbafec8f nginx 0.3.10
Igor Sysoev <http://sysoev.ru>
parents: 112
diff changeset
46
64
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
47
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
48 ngx_feature="/dev/poll"
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
49 ngx_feature_name="NGX_HAVE_DEVPOLL"
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
50 ngx_feature_run=no
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
51 ngx_feature_incs="#include <sys/devpoll.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 256
diff changeset
52 ngx_feature_path=
64
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
53 ngx_feature_libs=
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
54 ngx_feature_test="int n, dp; struct dvpoll dvp;
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
55 dp = 0;
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
56 dvp.dp_fds = NULL;
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
57 dvp.dp_nfds = 0;
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
58 dvp.dp_timeout = 0;
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
59 n = ioctl(dp, DP_POLL, &dvp)"
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
60 . auto/feature
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
61
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
62 if [ $ngx_found = yes ]; then
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
63 CORE_SRCS="$CORE_SRCS $DEVPOLL_SRCS"
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
64 EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE"
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
65 EVENT_FOUND=YES
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
66 fi
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
67
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
68
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
69 if test -z "$NGX_KQUEUE_CHECKED"; then
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
70 ngx_feature="kqueue"
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
71 ngx_feature_name="NGX_HAVE_KQUEUE"
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
72 ngx_feature_run=no
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
73 ngx_feature_incs="#include <sys/event.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 256
diff changeset
74 ngx_feature_path=
64
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
75 ngx_feature_libs=
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
76 ngx_feature_test="int kq; kq = kqueue()"
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
77 . auto/feature
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
78
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
79 if [ $ngx_found = yes ]; then
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
80
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
81 have=NGX_HAVE_CLEAR_EVENT . auto/have
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
82 EVENT_MODULES="$EVENT_MODULES $KQUEUE_MODULE"
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
83 CORE_SRCS="$CORE_SRCS $KQUEUE_SRCS"
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
84 EVENT_FOUND=YES
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
85
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
86 ngx_feature="kqueue's NOTE_LOWAT"
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
87 ngx_feature_name="NGX_HAVE_LOWAT_EVENT"
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
88 ngx_feature_run=no
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
89 ngx_feature_incs="#include <sys/event.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 256
diff changeset
90 ngx_feature_path=
64
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
91 ngx_feature_libs=
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
92 ngx_feature_test="struct kevent kev;
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
93 kev.fflags = NOTE_LOWAT;"
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
94 . auto/feature
168
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
95
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
96
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
97 ngx_feature="kqueue's EVFILT_TIMER"
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
98 ngx_feature_name="NGX_HAVE_TIMER_EVENT"
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
99 ngx_feature_run=yes
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
100 ngx_feature_incs="#include <sys/event.h>
466
9eda3153223b nginx 0.7.45
Igor Sysoev <http://sysoev.ru>
parents: 410
diff changeset
101 #include <sys/time.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 256
diff changeset
102 ngx_feature_path=
168
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
103 ngx_feature_libs=
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
104 ngx_feature_test="int kq;
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
105 struct kevent kev;
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
106 struct timespec ts;
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
107
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
108 if ((kq = kqueue()) == -1) return 1;
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
109
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
110 kev.ident = 0;
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
111 kev.filter = EVFILT_TIMER;
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
112 kev.flags = EV_ADD|EV_ENABLE;
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
113 kev.fflags = 0;
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
114 kev.data = 1000;
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
115 kev.udata = 0;
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
116
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
117 ts.tv_sec = 0;
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
118 ts.tv_nsec = 0;
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
119
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
120 if (kevent(kq, &kev, 1, &kev, 1, &ts) == -1) return 1;
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
121
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
122 if (kev.flags & EV_ERROR) return 1;"
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
123
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
124 . auto/feature
64
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
125 fi
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
126 fi
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
127
168
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
128
3314be145cb9 nginx 0.3.31
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
129 if [ "$NGX_SYSTEM" = "NetBSD" ]; then
112
408f195b3482 nginx 0.3.3
Igor Sysoev <http://sysoev.ru>
parents: 64
diff changeset
130
64
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
131 # NetBSD 2.0 incompatibly defines kevent.udata as "intptr_t"
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
132
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
133 cat << END >> $NGX_AUTO_CONFIG_H
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
134
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
135 #define NGX_KQUEUE_UDATA_T
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
136
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
137 END
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
138
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
139 else
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
140 cat << END >> $NGX_AUTO_CONFIG_H
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
141
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
142 #define NGX_KQUEUE_UDATA_T (void *)
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
143
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
144 END
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
145
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
146 fi
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
147
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
148
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
149 ngx_feature="crypt()"
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
150 ngx_feature_name=
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
151 ngx_feature_run=no
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
152 ngx_feature_incs=
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 256
diff changeset
153 ngx_feature_path=
64
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
154 ngx_feature_libs=
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
155 ngx_feature_test="crypt(\"test\", \"salt\");"
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
156 . auto/feature
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
157
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
158
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
159 if [ $ngx_found = no ]; then
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
160
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
161 ngx_feature="crypt() in libcrypt"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 256
diff changeset
162 ngx_feature_name=
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 256
diff changeset
163 ngx_feature_run=no
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 256
diff changeset
164 ngx_feature_incs=
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 256
diff changeset
165 ngx_feature_path=
64
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
166 ngx_feature_libs=-lcrypt
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
167 . auto/feature
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
168
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
169 if [ $ngx_found = yes ]; then
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
170 CRYPT_LIB="-lcrypt"
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
171 fi
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
172 fi
390
0b6053502c55 nginx 0.7.7
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
173
0b6053502c55 nginx 0.7.7
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
174
532
f7ec98e3caeb nginx 0.8.18
Igor Sysoev <http://sysoev.ru>
parents: 526
diff changeset
175 ngx_feature="F_READAHEAD"
f7ec98e3caeb nginx 0.8.18
Igor Sysoev <http://sysoev.ru>
parents: 526
diff changeset
176 ngx_feature_name="NGX_HAVE_F_READAHEAD"
f7ec98e3caeb nginx 0.8.18
Igor Sysoev <http://sysoev.ru>
parents: 526
diff changeset
177 ngx_feature_run=no
f7ec98e3caeb nginx 0.8.18
Igor Sysoev <http://sysoev.ru>
parents: 526
diff changeset
178 ngx_feature_incs="#include <fcntl.h>"
f7ec98e3caeb nginx 0.8.18
Igor Sysoev <http://sysoev.ru>
parents: 526
diff changeset
179 ngx_feature_path=
f7ec98e3caeb nginx 0.8.18
Igor Sysoev <http://sysoev.ru>
parents: 526
diff changeset
180 ngx_feature_libs=
f7ec98e3caeb nginx 0.8.18
Igor Sysoev <http://sysoev.ru>
parents: 526
diff changeset
181 ngx_feature_test="fcntl(0, F_READAHEAD, 1);"
f7ec98e3caeb nginx 0.8.18
Igor Sysoev <http://sysoev.ru>
parents: 526
diff changeset
182 . auto/feature
f7ec98e3caeb nginx 0.8.18
Igor Sysoev <http://sysoev.ru>
parents: 526
diff changeset
183
f7ec98e3caeb nginx 0.8.18
Igor Sysoev <http://sysoev.ru>
parents: 526
diff changeset
184
f7ec98e3caeb nginx 0.8.18
Igor Sysoev <http://sysoev.ru>
parents: 526
diff changeset
185 ngx_feature="posix_fadvise()"
f7ec98e3caeb nginx 0.8.18
Igor Sysoev <http://sysoev.ru>
parents: 526
diff changeset
186 ngx_feature_name="NGX_HAVE_POSIX_FADVISE"
f7ec98e3caeb nginx 0.8.18
Igor Sysoev <http://sysoev.ru>
parents: 526
diff changeset
187 ngx_feature_run=no
f7ec98e3caeb nginx 0.8.18
Igor Sysoev <http://sysoev.ru>
parents: 526
diff changeset
188 ngx_feature_incs="#include <fcntl.h>"
f7ec98e3caeb nginx 0.8.18
Igor Sysoev <http://sysoev.ru>
parents: 526
diff changeset
189 ngx_feature_path=
f7ec98e3caeb nginx 0.8.18
Igor Sysoev <http://sysoev.ru>
parents: 526
diff changeset
190 ngx_feature_libs=
f7ec98e3caeb nginx 0.8.18
Igor Sysoev <http://sysoev.ru>
parents: 526
diff changeset
191 ngx_feature_test="posix_fadvise(0, 0, 0, POSIX_FADV_SEQUENTIAL);"
f7ec98e3caeb nginx 0.8.18
Igor Sysoev <http://sysoev.ru>
parents: 526
diff changeset
192 . auto/feature
f7ec98e3caeb nginx 0.8.18
Igor Sysoev <http://sysoev.ru>
parents: 526
diff changeset
193
f7ec98e3caeb nginx 0.8.18
Igor Sysoev <http://sysoev.ru>
parents: 526
diff changeset
194
390
0b6053502c55 nginx 0.7.7
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
195 ngx_feature="O_DIRECT"
0b6053502c55 nginx 0.7.7
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
196 ngx_feature_name="NGX_HAVE_O_DIRECT"
0b6053502c55 nginx 0.7.7
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
197 ngx_feature_run=no
0b6053502c55 nginx 0.7.7
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
198 ngx_feature_incs="#include <fcntl.h>"
0b6053502c55 nginx 0.7.7
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
199 ngx_feature_path=
0b6053502c55 nginx 0.7.7
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
200 ngx_feature_libs=
0b6053502c55 nginx 0.7.7
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
201 ngx_feature_test="fcntl(0, F_SETFL, O_DIRECT);"
0b6053502c55 nginx 0.7.7
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
202 . auto/feature
0b6053502c55 nginx 0.7.7
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
203
0b6053502c55 nginx 0.7.7
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
204
410
a8e3f1441eec nginx 0.7.17
Igor Sysoev <http://sysoev.ru>
parents: 392
diff changeset
205 if [ $ngx_found = yes -a "$NGX_SYSTEM" = "Linux" ]; then
a8e3f1441eec nginx 0.7.17
Igor Sysoev <http://sysoev.ru>
parents: 392
diff changeset
206 have=NGX_HAVE_ALIGNED_DIRECTIO . auto/have
a8e3f1441eec nginx 0.7.17
Igor Sysoev <http://sysoev.ru>
parents: 392
diff changeset
207 fi
a8e3f1441eec nginx 0.7.17
Igor Sysoev <http://sysoev.ru>
parents: 392
diff changeset
208
390
0b6053502c55 nginx 0.7.7
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
209 ngx_feature="F_NOCACHE"
0b6053502c55 nginx 0.7.7
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
210 ngx_feature_name="NGX_HAVE_F_NOCACHE"
0b6053502c55 nginx 0.7.7
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
211 ngx_feature_run=no
0b6053502c55 nginx 0.7.7
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
212 ngx_feature_incs="#include <fcntl.h>"
0b6053502c55 nginx 0.7.7
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
213 ngx_feature_path=
0b6053502c55 nginx 0.7.7
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
214 ngx_feature_libs=
0b6053502c55 nginx 0.7.7
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
215 ngx_feature_test="fcntl(0, F_NOCACHE, 1);"
0b6053502c55 nginx 0.7.7
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
216 . auto/feature
392
34fb3a573548 nginx 0.7.8
Igor Sysoev <http://sysoev.ru>
parents: 390
diff changeset
217
34fb3a573548 nginx 0.7.8
Igor Sysoev <http://sysoev.ru>
parents: 390
diff changeset
218
34fb3a573548 nginx 0.7.8
Igor Sysoev <http://sysoev.ru>
parents: 390
diff changeset
219 ngx_feature="directio()"
34fb3a573548 nginx 0.7.8
Igor Sysoev <http://sysoev.ru>
parents: 390
diff changeset
220 ngx_feature_name="NGX_HAVE_DIRECTIO"
34fb3a573548 nginx 0.7.8
Igor Sysoev <http://sysoev.ru>
parents: 390
diff changeset
221 ngx_feature_run=no
34fb3a573548 nginx 0.7.8
Igor Sysoev <http://sysoev.ru>
parents: 390
diff changeset
222 ngx_feature_incs="#include <sys/types.h>
34fb3a573548 nginx 0.7.8
Igor Sysoev <http://sysoev.ru>
parents: 390
diff changeset
223 #include <sys/fcntl.h>"
34fb3a573548 nginx 0.7.8
Igor Sysoev <http://sysoev.ru>
parents: 390
diff changeset
224 ngx_feature_path=
34fb3a573548 nginx 0.7.8
Igor Sysoev <http://sysoev.ru>
parents: 390
diff changeset
225 ngx_feature_libs=
34fb3a573548 nginx 0.7.8
Igor Sysoev <http://sysoev.ru>
parents: 390
diff changeset
226 ngx_feature_test="directio(0, DIRECTIO_ON);"
34fb3a573548 nginx 0.7.8
Igor Sysoev <http://sysoev.ru>
parents: 390
diff changeset
227 . auto/feature
468
56baf312c1b5 nginx 0.7.46
Igor Sysoev <http://sysoev.ru>
parents: 466
diff changeset
228
56baf312c1b5 nginx 0.7.46
Igor Sysoev <http://sysoev.ru>
parents: 466
diff changeset
229
56baf312c1b5 nginx 0.7.46
Igor Sysoev <http://sysoev.ru>
parents: 466
diff changeset
230 ngx_feature="statfs()"
56baf312c1b5 nginx 0.7.46
Igor Sysoev <http://sysoev.ru>
parents: 466
diff changeset
231 ngx_feature_name="NGX_HAVE_STATFS"
56baf312c1b5 nginx 0.7.46
Igor Sysoev <http://sysoev.ru>
parents: 466
diff changeset
232 ngx_feature_run=no
470
6866b490272e nginx 0.7.47
Igor Sysoev <http://sysoev.ru>
parents: 468
diff changeset
233 ngx_feature_incs="$NGX_INCLUDE_SYS_PARAM_H
6866b490272e nginx 0.7.47
Igor Sysoev <http://sysoev.ru>
parents: 468
diff changeset
234 $NGX_INCLUDE_SYS_MOUNT_H
468
56baf312c1b5 nginx 0.7.46
Igor Sysoev <http://sysoev.ru>
parents: 466
diff changeset
235 $NGX_INCLUDE_SYS_VFS_H"
56baf312c1b5 nginx 0.7.46
Igor Sysoev <http://sysoev.ru>
parents: 466
diff changeset
236 ngx_feature_path=
56baf312c1b5 nginx 0.7.46
Igor Sysoev <http://sysoev.ru>
parents: 466
diff changeset
237 ngx_feature_libs=
56baf312c1b5 nginx 0.7.46
Igor Sysoev <http://sysoev.ru>
parents: 466
diff changeset
238 ngx_feature_test="struct statfs fs;
56baf312c1b5 nginx 0.7.46
Igor Sysoev <http://sysoev.ru>
parents: 466
diff changeset
239 statfs(NULL, &fs);"
56baf312c1b5 nginx 0.7.46
Igor Sysoev <http://sysoev.ru>
parents: 466
diff changeset
240 . auto/feature
56baf312c1b5 nginx 0.7.46
Igor Sysoev <http://sysoev.ru>
parents: 466
diff changeset
241
56baf312c1b5 nginx 0.7.46
Igor Sysoev <http://sysoev.ru>
parents: 466
diff changeset
242
56baf312c1b5 nginx 0.7.46
Igor Sysoev <http://sysoev.ru>
parents: 466
diff changeset
243 ngx_feature="statvfs()"
56baf312c1b5 nginx 0.7.46
Igor Sysoev <http://sysoev.ru>
parents: 466
diff changeset
244 ngx_feature_name="NGX_HAVE_STATVFS"
56baf312c1b5 nginx 0.7.46
Igor Sysoev <http://sysoev.ru>
parents: 466
diff changeset
245 ngx_feature_run=no
56baf312c1b5 nginx 0.7.46
Igor Sysoev <http://sysoev.ru>
parents: 466
diff changeset
246 ngx_feature_incs="#include <sys/types.h>
56baf312c1b5 nginx 0.7.46
Igor Sysoev <http://sysoev.ru>
parents: 466
diff changeset
247 #include <sys/statvfs.h>"
56baf312c1b5 nginx 0.7.46
Igor Sysoev <http://sysoev.ru>
parents: 466
diff changeset
248 ngx_feature_path=
56baf312c1b5 nginx 0.7.46
Igor Sysoev <http://sysoev.ru>
parents: 466
diff changeset
249 ngx_feature_libs=
56baf312c1b5 nginx 0.7.46
Igor Sysoev <http://sysoev.ru>
parents: 466
diff changeset
250 ngx_feature_test="struct statvfs fs;
56baf312c1b5 nginx 0.7.46
Igor Sysoev <http://sysoev.ru>
parents: 466
diff changeset
251 statvfs(NULL, &fs);"
56baf312c1b5 nginx 0.7.46
Igor Sysoev <http://sysoev.ru>
parents: 466
diff changeset
252 . auto/feature
494
499474178a11 nginx 0.7.59
Igor Sysoev <http://sysoev.ru>
parents: 470
diff changeset
253
499474178a11 nginx 0.7.59
Igor Sysoev <http://sysoev.ru>
parents: 470
diff changeset
254
499474178a11 nginx 0.7.59
Igor Sysoev <http://sysoev.ru>
parents: 470
diff changeset
255 ngx_feature="dlopen()"
499474178a11 nginx 0.7.59
Igor Sysoev <http://sysoev.ru>
parents: 470
diff changeset
256 ngx_feature_name=
499474178a11 nginx 0.7.59
Igor Sysoev <http://sysoev.ru>
parents: 470
diff changeset
257 ngx_feature_run=no
499474178a11 nginx 0.7.59
Igor Sysoev <http://sysoev.ru>
parents: 470
diff changeset
258 ngx_feature_incs="#include <dlfcn.h>"
499474178a11 nginx 0.7.59
Igor Sysoev <http://sysoev.ru>
parents: 470
diff changeset
259 ngx_feature_path=
499474178a11 nginx 0.7.59
Igor Sysoev <http://sysoev.ru>
parents: 470
diff changeset
260 ngx_feature_libs=
499474178a11 nginx 0.7.59
Igor Sysoev <http://sysoev.ru>
parents: 470
diff changeset
261 ngx_feature_test="dlopen(NULL, 0)"
499474178a11 nginx 0.7.59
Igor Sysoev <http://sysoev.ru>
parents: 470
diff changeset
262 . auto/feature
499474178a11 nginx 0.7.59
Igor Sysoev <http://sysoev.ru>
parents: 470
diff changeset
263
499474178a11 nginx 0.7.59
Igor Sysoev <http://sysoev.ru>
parents: 470
diff changeset
264
499474178a11 nginx 0.7.59
Igor Sysoev <http://sysoev.ru>
parents: 470
diff changeset
265 if [ $ngx_found != yes ]; then
499474178a11 nginx 0.7.59
Igor Sysoev <http://sysoev.ru>
parents: 470
diff changeset
266
499474178a11 nginx 0.7.59
Igor Sysoev <http://sysoev.ru>
parents: 470
diff changeset
267 ngx_feature="dlopen() in libdl"
499474178a11 nginx 0.7.59
Igor Sysoev <http://sysoev.ru>
parents: 470
diff changeset
268 ngx_feature_libs="-ldl"
499474178a11 nginx 0.7.59
Igor Sysoev <http://sysoev.ru>
parents: 470
diff changeset
269 . auto/feature
499474178a11 nginx 0.7.59
Igor Sysoev <http://sysoev.ru>
parents: 470
diff changeset
270
499474178a11 nginx 0.7.59
Igor Sysoev <http://sysoev.ru>
parents: 470
diff changeset
271 if [ $ngx_found = yes ]; then
499474178a11 nginx 0.7.59
Igor Sysoev <http://sysoev.ru>
parents: 470
diff changeset
272 NGX_LIBDL="-ldl"
499474178a11 nginx 0.7.59
Igor Sysoev <http://sysoev.ru>
parents: 470
diff changeset
273 fi
499474178a11 nginx 0.7.59
Igor Sysoev <http://sysoev.ru>
parents: 470
diff changeset
274 fi
498
207ae3ff0444 nginx 0.8.1
Igor Sysoev <http://sysoev.ru>
parents: 494
diff changeset
275
207ae3ff0444 nginx 0.8.1
Igor Sysoev <http://sysoev.ru>
parents: 494
diff changeset
276
207ae3ff0444 nginx 0.8.1
Igor Sysoev <http://sysoev.ru>
parents: 494
diff changeset
277 ngx_feature="sched_yield()"
207ae3ff0444 nginx 0.8.1
Igor Sysoev <http://sysoev.ru>
parents: 494
diff changeset
278 ngx_feature_name="NGX_HAVE_SCHED_YIELD"
207ae3ff0444 nginx 0.8.1
Igor Sysoev <http://sysoev.ru>
parents: 494
diff changeset
279 ngx_feature_run=no
207ae3ff0444 nginx 0.8.1
Igor Sysoev <http://sysoev.ru>
parents: 494
diff changeset
280 ngx_feature_incs="#include <sched.h>"
207ae3ff0444 nginx 0.8.1
Igor Sysoev <http://sysoev.ru>
parents: 494
diff changeset
281 ngx_feature_path=
207ae3ff0444 nginx 0.8.1
Igor Sysoev <http://sysoev.ru>
parents: 494
diff changeset
282 ngx_feature_libs=
207ae3ff0444 nginx 0.8.1
Igor Sysoev <http://sysoev.ru>
parents: 494
diff changeset
283 ngx_feature_test="sched_yield()"
207ae3ff0444 nginx 0.8.1
Igor Sysoev <http://sysoev.ru>
parents: 494
diff changeset
284 . auto/feature
207ae3ff0444 nginx 0.8.1
Igor Sysoev <http://sysoev.ru>
parents: 494
diff changeset
285
207ae3ff0444 nginx 0.8.1
Igor Sysoev <http://sysoev.ru>
parents: 494
diff changeset
286
207ae3ff0444 nginx 0.8.1
Igor Sysoev <http://sysoev.ru>
parents: 494
diff changeset
287 if [ $ngx_found != yes ]; then
207ae3ff0444 nginx 0.8.1
Igor Sysoev <http://sysoev.ru>
parents: 494
diff changeset
288
207ae3ff0444 nginx 0.8.1
Igor Sysoev <http://sysoev.ru>
parents: 494
diff changeset
289 ngx_feature="sched_yield() in librt"
207ae3ff0444 nginx 0.8.1
Igor Sysoev <http://sysoev.ru>
parents: 494
diff changeset
290 ngx_feature_libs="-lrt"
207ae3ff0444 nginx 0.8.1
Igor Sysoev <http://sysoev.ru>
parents: 494
diff changeset
291 . auto/feature
207ae3ff0444 nginx 0.8.1
Igor Sysoev <http://sysoev.ru>
parents: 494
diff changeset
292
207ae3ff0444 nginx 0.8.1
Igor Sysoev <http://sysoev.ru>
parents: 494
diff changeset
293 if [ $ngx_found = yes ]; then
207ae3ff0444 nginx 0.8.1
Igor Sysoev <http://sysoev.ru>
parents: 494
diff changeset
294 CORE_LIBS="$CORE_LIBS -lrt"
207ae3ff0444 nginx 0.8.1
Igor Sysoev <http://sysoev.ru>
parents: 494
diff changeset
295 fi
207ae3ff0444 nginx 0.8.1
Igor Sysoev <http://sysoev.ru>
parents: 494
diff changeset
296 fi
518
86dad910eeb6 nginx 0.8.11
Igor Sysoev <http://sysoev.ru>
parents: 498
diff changeset
297
584
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 532
diff changeset
298 ngx_feature="SO_SETFIB"
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 532
diff changeset
299 ngx_feature_name="NGX_HAVE_SETFIB"
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 532
diff changeset
300 ngx_feature_run=no
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 532
diff changeset
301 ngx_feature_incs="#include <sys/socket.h>"
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 532
diff changeset
302 ngx_feature_path=
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 532
diff changeset
303 ngx_feature_libs=
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 532
diff changeset
304 ngx_feature_test="setsockopt(0, SOL_SOCKET, SO_SETFIB, NULL, 4)"
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 532
diff changeset
305 . auto/feature
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 532
diff changeset
306
518
86dad910eeb6 nginx 0.8.11
Igor Sysoev <http://sysoev.ru>
parents: 498
diff changeset
307
604
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
308 ngx_feature="accept4()"
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
309 ngx_feature_name="NGX_HAVE_ACCEPT4"
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
310 ngx_feature_run=no
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
311 ngx_feature_incs="#include <sys/socket.h>"
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
312 ngx_feature_path=
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
313 ngx_feature_libs=
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
314 ngx_feature_test="accept4(0, NULL, NULL, SOCK_NONBLOCK)"
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
315 . auto/feature
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
316
518
86dad910eeb6 nginx 0.8.11
Igor Sysoev <http://sysoev.ru>
parents: 498
diff changeset
317 if [ $NGX_FILE_AIO = YES ]; then
526
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
318
518
86dad910eeb6 nginx 0.8.11
Igor Sysoev <http://sysoev.ru>
parents: 498
diff changeset
319 ngx_feature="kqueue AIO support"
86dad910eeb6 nginx 0.8.11
Igor Sysoev <http://sysoev.ru>
parents: 498
diff changeset
320 ngx_feature_name="NGX_HAVE_FILE_AIO"
86dad910eeb6 nginx 0.8.11
Igor Sysoev <http://sysoev.ru>
parents: 498
diff changeset
321 ngx_feature_run=no
86dad910eeb6 nginx 0.8.11
Igor Sysoev <http://sysoev.ru>
parents: 498
diff changeset
322 ngx_feature_incs="#include <aio.h>"
86dad910eeb6 nginx 0.8.11
Igor Sysoev <http://sysoev.ru>
parents: 498
diff changeset
323 ngx_feature_path=
86dad910eeb6 nginx 0.8.11
Igor Sysoev <http://sysoev.ru>
parents: 498
diff changeset
324 ngx_feature_libs=
86dad910eeb6 nginx 0.8.11
Igor Sysoev <http://sysoev.ru>
parents: 498
diff changeset
325 ngx_feature_test="int n; struct aiocb iocb;
86dad910eeb6 nginx 0.8.11
Igor Sysoev <http://sysoev.ru>
parents: 498
diff changeset
326 iocb.aio_sigevent.sigev_notify = SIGEV_KEVENT;
86dad910eeb6 nginx 0.8.11
Igor Sysoev <http://sysoev.ru>
parents: 498
diff changeset
327 n = aio_read(&iocb)"
86dad910eeb6 nginx 0.8.11
Igor Sysoev <http://sysoev.ru>
parents: 498
diff changeset
328 . auto/feature
86dad910eeb6 nginx 0.8.11
Igor Sysoev <http://sysoev.ru>
parents: 498
diff changeset
329
86dad910eeb6 nginx 0.8.11
Igor Sysoev <http://sysoev.ru>
parents: 498
diff changeset
330 if [ $ngx_found = yes ]; then
86dad910eeb6 nginx 0.8.11
Igor Sysoev <http://sysoev.ru>
parents: 498
diff changeset
331 CORE_SRCS="$CORE_SRCS $FILE_AIO_SRCS"
526
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
332
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
333 elif [ $ngx_found = no ]; then
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
334
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
335 ngx_feature="Linux AIO support"
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
336 ngx_feature_name="NGX_HAVE_FILE_AIO"
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
337 ngx_feature_run=no
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
338 ngx_feature_incs="#include <linux/aio_abi.h>
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
339 #include <sys/syscall.h>"
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
340 ngx_feature_path=
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
341 ngx_feature_libs=
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
342 ngx_feature_test="int n = SYS_eventfd;
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
343 struct iocb iocb;
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
344 iocb.aio_lio_opcode = IOCB_CMD_PREAD;
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
345 iocb.aio_flags = IOCB_FLAG_RESFD;
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
346 iocb.aio_resfd = -1;"
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
347 . auto/feature
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
348
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
349 if [ $ngx_found = yes ]; then
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
350 have=NGX_HAVE_EVENTFD . auto/have
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
351 CORE_SRCS="$CORE_SRCS $LINUX_AIO_SRCS"
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
352
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
353 else
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
354 cat << END
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
355
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
356 $0: no supported file AIO was found
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
357 Currently file AIO is supported on FreeBSD 4.3+ and Linux 2.6.22+ only
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
358
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
359 END
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
360 exit 1
0161f3197817 nginx 0.8.15
Igor Sysoev <http://sysoev.ru>
parents: 518
diff changeset
361 fi
518
86dad910eeb6 nginx 0.8.11
Igor Sysoev <http://sysoev.ru>
parents: 498
diff changeset
362 fi
86dad910eeb6 nginx 0.8.11
Igor Sysoev <http://sysoev.ru>
parents: 498
diff changeset
363 fi