annotate auto/unix @ 654:753f505670e0 NGINX_1_1_11

nginx 1.1.11 *) Feature: the "so_keepalive" parameter of the "listen" directive. Thanks to Vsevolod Stakhov. *) Feature: the "if_not_empty" parameter of the "fastcgi/scgi/uwsgi_param" directives. *) Feature: the $https variable. *) Feature: the "proxy_redirect" directive supports variables in the first parameter. *) Feature: the "proxy_redirect" directive supports regular expressions. *) Bugfix: the $sent_http_cache_control variable might contain a wrong value if the "expires" directive was used. Thanks to Yichun Zhang. *) Bugfix: the "read_ahead" directive might not work combined with "try_files" and "open_file_cache". *) Bugfix: a segmentation fault might occur in a worker process if small time was used in the "inactive" parameter of the "proxy_cache_path" directive. *) Bugfix: responses from cache might hang.
author Igor Sysoev <http://sysoev.ru>
date Mon, 12 Dec 2011 00:00:00 +0400
parents 4d05413aebad
children d0f7a625f27c
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
628
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
5 NGX_USER=${NGX_USER:-nobody}
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
6
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
7 if [ -z "$NGX_GROUP" ]; then
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
8 if [ $NGX_USER = nobody ]; then
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
9 if grep nobody /etc/group 2>&1 >/dev/null; then
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
10 echo "checking for nobody group ... found"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
11 NGX_GROUP=nobody
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
12 else
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
13 echo "checking for nobody group ... not found"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
14
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
15 if grep nogroup /etc/group 2>&1 >/dev/null; then
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
16 echo "checking for nogroup group ... found"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
17 NGX_GROUP=nogroup
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
18 else
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
19 echo "checking for nogroup group ... not found"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
20 NGX_GROUP=nobody
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
21 fi
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
22 fi
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
23 else
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
24 NGX_GROUP=$NGX_USER
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
25 fi
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
26 fi
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
27
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
28
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
29 ngx_feature="poll()"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
30 ngx_feature_name=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
31 ngx_feature_run=no
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
32 ngx_feature_incs="#include <poll.h>"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
33 ngx_feature_path=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
34 ngx_feature_libs=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
35 ngx_feature_test="int n, dp; struct pollfd pl;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
36 dp = 0;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
37 pl.fd = 0;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
38 pl.events = 0;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
39 pl.revents = 0;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
40 n = poll(&pl, 1, 0)"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
41 . auto/feature
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
42
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
43 if [ $ngx_found = no ]; then
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
44 EVENT_POLL=NONE
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
45 fi
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
46
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
47
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
48 ngx_feature="/dev/poll"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
49 ngx_feature_name="NGX_HAVE_DEVPOLL"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
50 ngx_feature_run=no
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
51 ngx_feature_incs="#include <sys/devpoll.h>"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
52 ngx_feature_path=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
53 ngx_feature_libs=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
54 ngx_feature_test="int n, dp; struct dvpoll dvp;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
55 dp = 0;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
56 dvp.dp_fds = NULL;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
57 dvp.dp_nfds = 0;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
58 dvp.dp_timeout = 0;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
59 n = ioctl(dp, DP_POLL, &dvp)"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
60 . auto/feature
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
61
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
62 if [ $ngx_found = yes ]; then
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
63 CORE_SRCS="$CORE_SRCS $DEVPOLL_SRCS"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
64 EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
65 EVENT_FOUND=YES
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
66 fi
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
67
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
68
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
69 if test -z "$NGX_KQUEUE_CHECKED"; then
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
70 ngx_feature="kqueue"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
71 ngx_feature_name="NGX_HAVE_KQUEUE"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
72 ngx_feature_run=no
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
73 ngx_feature_incs="#include <sys/event.h>"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
74 ngx_feature_path=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
75 ngx_feature_libs=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
76 ngx_feature_test="int kq; kq = kqueue()"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
77 . auto/feature
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
78
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
79 if [ $ngx_found = yes ]; then
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
80
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
81 have=NGX_HAVE_CLEAR_EVENT . auto/have
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
82 EVENT_MODULES="$EVENT_MODULES $KQUEUE_MODULE"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
83 CORE_SRCS="$CORE_SRCS $KQUEUE_SRCS"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
84 EVENT_FOUND=YES
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
85
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
86 ngx_feature="kqueue's NOTE_LOWAT"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
87 ngx_feature_name="NGX_HAVE_LOWAT_EVENT"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
88 ngx_feature_run=no
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
89 ngx_feature_incs="#include <sys/event.h>"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
90 ngx_feature_path=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
91 ngx_feature_libs=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
92 ngx_feature_test="struct kevent kev;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
93 kev.fflags = NOTE_LOWAT;"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
94 . auto/feature
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
95
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
96
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
97 ngx_feature="kqueue's EVFILT_TIMER"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
98 ngx_feature_name="NGX_HAVE_TIMER_EVENT"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
99 ngx_feature_run=yes
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
100 ngx_feature_incs="#include <sys/event.h>
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
101 #include <sys/time.h>"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
102 ngx_feature_path=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
103 ngx_feature_libs=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
104 ngx_feature_test="int kq;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
105 struct kevent kev;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
106 struct timespec ts;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
107
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
108 if ((kq = kqueue()) == -1) return 1;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
109
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
110 kev.ident = 0;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
111 kev.filter = EVFILT_TIMER;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
112 kev.flags = EV_ADD|EV_ENABLE;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
113 kev.fflags = 0;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
114 kev.data = 1000;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
115 kev.udata = 0;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
116
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
117 ts.tv_sec = 0;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
118 ts.tv_nsec = 0;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
119
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
120 if (kevent(kq, &kev, 1, &kev, 1, &ts) == -1) return 1;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
121
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
122 if (kev.flags & EV_ERROR) return 1;"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
123
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
124 . auto/feature
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
125 fi
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
126 fi
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
127
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
128
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
129 if [ "$NGX_SYSTEM" = "NetBSD" ]; then
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
130
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
131 # NetBSD 2.0 incompatibly defines kevent.udata as "intptr_t"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
132
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
133 cat << END >> $NGX_AUTO_CONFIG_H
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
134
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
135 #define NGX_KQUEUE_UDATA_T
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
136
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
137 END
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
138
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
139 else
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
140 cat << END >> $NGX_AUTO_CONFIG_H
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
141
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
142 #define NGX_KQUEUE_UDATA_T (void *)
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
143
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
144 END
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
145
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
146 fi
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
147
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
148
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
149 ngx_feature="crypt()"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
150 ngx_feature_name=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
151 ngx_feature_run=no
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
152 ngx_feature_incs=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
153 ngx_feature_path=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
154 ngx_feature_libs=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
155 ngx_feature_test="crypt(\"test\", \"salt\");"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
156 . auto/feature
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
157
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
158
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
159 if [ $ngx_found = no ]; then
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
160
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
161 ngx_feature="crypt() in libcrypt"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
162 ngx_feature_name=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
163 ngx_feature_run=no
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
164 ngx_feature_incs=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
165 ngx_feature_path=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
166 ngx_feature_libs=-lcrypt
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
167 . auto/feature
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
168
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
169 if [ $ngx_found = yes ]; then
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
170 CRYPT_LIB="-lcrypt"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
171 fi
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
172 fi
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
173
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
174
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
175 ngx_feature="F_READAHEAD"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
176 ngx_feature_name="NGX_HAVE_F_READAHEAD"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
177 ngx_feature_run=no
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
178 ngx_feature_incs="#include <fcntl.h>"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
179 ngx_feature_path=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
180 ngx_feature_libs=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
181 ngx_feature_test="fcntl(0, F_READAHEAD, 1);"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
182 . auto/feature
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
183
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
184
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
185 ngx_feature="posix_fadvise()"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
186 ngx_feature_name="NGX_HAVE_POSIX_FADVISE"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
187 ngx_feature_run=no
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
188 ngx_feature_incs="#include <fcntl.h>"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
189 ngx_feature_path=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
190 ngx_feature_libs=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
191 ngx_feature_test="posix_fadvise(0, 0, 0, POSIX_FADV_SEQUENTIAL);"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
192 . auto/feature
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
193
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
194
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
195 ngx_feature="O_DIRECT"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
196 ngx_feature_name="NGX_HAVE_O_DIRECT"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
197 ngx_feature_run=no
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
198 ngx_feature_incs="#include <fcntl.h>"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
199 ngx_feature_path=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
200 ngx_feature_libs=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
201 ngx_feature_test="fcntl(0, F_SETFL, O_DIRECT);"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
202 . auto/feature
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
203
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
204
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
205 if [ $ngx_found = yes -a "$NGX_SYSTEM" = "Linux" ]; then
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
206 have=NGX_HAVE_ALIGNED_DIRECTIO . auto/have
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
207 fi
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
208
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
209 ngx_feature="F_NOCACHE"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
210 ngx_feature_name="NGX_HAVE_F_NOCACHE"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
211 ngx_feature_run=no
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
212 ngx_feature_incs="#include <fcntl.h>"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
213 ngx_feature_path=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
214 ngx_feature_libs=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
215 ngx_feature_test="fcntl(0, F_NOCACHE, 1);"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
216 . auto/feature
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
217
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
218
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
219 ngx_feature="directio()"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
220 ngx_feature_name="NGX_HAVE_DIRECTIO"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
221 ngx_feature_run=no
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
222 ngx_feature_incs="#include <sys/types.h>
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
223 #include <sys/fcntl.h>"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
224 ngx_feature_path=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
225 ngx_feature_libs=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
226 ngx_feature_test="directio(0, DIRECTIO_ON);"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
227 . auto/feature
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
228
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
229
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
230 ngx_feature="statfs()"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
231 ngx_feature_name="NGX_HAVE_STATFS"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
232 ngx_feature_run=no
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
233 ngx_feature_incs="$NGX_INCLUDE_SYS_PARAM_H
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
234 $NGX_INCLUDE_SYS_MOUNT_H
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
235 $NGX_INCLUDE_SYS_VFS_H"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
236 ngx_feature_path=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
237 ngx_feature_libs=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
238 ngx_feature_test="struct statfs fs;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
239 statfs(NULL, &fs);"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
240 . auto/feature
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
241
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
242
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
243 ngx_feature="statvfs()"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
244 ngx_feature_name="NGX_HAVE_STATVFS"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
245 ngx_feature_run=no
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
246 ngx_feature_incs="#include <sys/types.h>
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
247 #include <sys/statvfs.h>"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
248 ngx_feature_path=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
249 ngx_feature_libs=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
250 ngx_feature_test="struct statvfs fs;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
251 statvfs(NULL, &fs);"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
252 . auto/feature
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
253
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
254
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
255 ngx_feature="dlopen()"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
256 ngx_feature_name=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
257 ngx_feature_run=no
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
258 ngx_feature_incs="#include <dlfcn.h>"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
259 ngx_feature_path=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
260 ngx_feature_libs=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
261 ngx_feature_test="dlopen(NULL, 0)"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
262 . auto/feature
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
263
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
264
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
265 if [ $ngx_found != yes ]; then
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
266
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
267 ngx_feature="dlopen() in libdl"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
268 ngx_feature_libs="-ldl"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
269 . auto/feature
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
270
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
271 if [ $ngx_found = yes ]; then
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
272 NGX_LIBDL="-ldl"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
273 fi
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
274 fi
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
275
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
276
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
277 ngx_feature="sched_yield()"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
278 ngx_feature_name="NGX_HAVE_SCHED_YIELD"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
279 ngx_feature_run=no
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
280 ngx_feature_incs="#include <sched.h>"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
281 ngx_feature_path=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
282 ngx_feature_libs=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
283 ngx_feature_test="sched_yield()"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
284 . auto/feature
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
285
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
286
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
287 if [ $ngx_found != yes ]; then
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
288
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
289 ngx_feature="sched_yield() in librt"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
290 ngx_feature_libs="-lrt"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
291 . auto/feature
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
292
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
293 if [ $ngx_found = yes ]; then
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
294 CORE_LIBS="$CORE_LIBS -lrt"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
295 fi
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
296 fi
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
297
634
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
298
628
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
299 ngx_feature="SO_SETFIB"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
300 ngx_feature_name="NGX_HAVE_SETFIB"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
301 ngx_feature_run=no
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
302 ngx_feature_incs="#include <sys/socket.h>"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
303 ngx_feature_path=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
304 ngx_feature_libs=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
305 ngx_feature_test="setsockopt(0, SOL_SOCKET, SO_SETFIB, NULL, 4)"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
306 . auto/feature
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
307
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
308
634
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
309 ngx_feature="SO_ACCEPTFILTER"
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
310 ngx_feature_name="NGX_HAVE_DEFERRED_ACCEPT"
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
311 ngx_feature_run=no
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
312 ngx_feature_incs="#include <sys/socket.h>"
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
313 ngx_feature_path=
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
314 ngx_feature_libs=
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
315 ngx_feature_test="setsockopt(0, SOL_SOCKET, SO_ACCEPTFILTER, NULL, 0)"
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
316 . auto/feature
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
317
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
318
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
319 ngx_feature="TCP_DEFER_ACCEPT"
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
320 ngx_feature_name="NGX_HAVE_DEFERRED_ACCEPT"
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
321 ngx_feature_run=no
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
322 ngx_feature_incs="#include <sys/socket.h>
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
323 #include <netinet/in.h>
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
324 #include <netinet/tcp.h>"
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
325 ngx_feature_path=
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
326 ngx_feature_libs=
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
327 ngx_feature_test="setsockopt(0, IPPROTO_TCP, TCP_DEFER_ACCEPT, NULL, 0)"
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
328 . auto/feature
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
329
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
330
654
753f505670e0 nginx 1.1.11
Igor Sysoev <http://sysoev.ru>
parents: 650
diff changeset
331 ngx_feature="TCP_KEEPIDLE, TCP_KEEPINTVL, TCP_KEEPCNT"
753f505670e0 nginx 1.1.11
Igor Sysoev <http://sysoev.ru>
parents: 650
diff changeset
332 ngx_feature_name="NGX_HAVE_KEEPALIVE_TUNABLE"
753f505670e0 nginx 1.1.11
Igor Sysoev <http://sysoev.ru>
parents: 650
diff changeset
333 ngx_feature_run=no
753f505670e0 nginx 1.1.11
Igor Sysoev <http://sysoev.ru>
parents: 650
diff changeset
334 ngx_feature_incs="#include <sys/socket.h>
753f505670e0 nginx 1.1.11
Igor Sysoev <http://sysoev.ru>
parents: 650
diff changeset
335 #include <netinet/in.h>
753f505670e0 nginx 1.1.11
Igor Sysoev <http://sysoev.ru>
parents: 650
diff changeset
336 #include <netinet/tcp.h>"
753f505670e0 nginx 1.1.11
Igor Sysoev <http://sysoev.ru>
parents: 650
diff changeset
337 ngx_feature_path=
753f505670e0 nginx 1.1.11
Igor Sysoev <http://sysoev.ru>
parents: 650
diff changeset
338 ngx_feature_libs=
753f505670e0 nginx 1.1.11
Igor Sysoev <http://sysoev.ru>
parents: 650
diff changeset
339 ngx_feature_test="setsockopt(0, IPPROTO_TCP, TCP_KEEPIDLE, NULL, 0);
753f505670e0 nginx 1.1.11
Igor Sysoev <http://sysoev.ru>
parents: 650
diff changeset
340 setsockopt(0, IPPROTO_TCP, TCP_KEEPINTVL, NULL, 0);
753f505670e0 nginx 1.1.11
Igor Sysoev <http://sysoev.ru>
parents: 650
diff changeset
341 setsockopt(0, IPPROTO_TCP, TCP_KEEPCNT, NULL, 0)"
753f505670e0 nginx 1.1.11
Igor Sysoev <http://sysoev.ru>
parents: 650
diff changeset
342 . auto/feature
753f505670e0 nginx 1.1.11
Igor Sysoev <http://sysoev.ru>
parents: 650
diff changeset
343
753f505670e0 nginx 1.1.11
Igor Sysoev <http://sysoev.ru>
parents: 650
diff changeset
344
628
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
345 ngx_feature="accept4()"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
346 ngx_feature_name="NGX_HAVE_ACCEPT4"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
347 ngx_feature_run=no
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
348 ngx_feature_incs="#include <sys/socket.h>"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
349 ngx_feature_path=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
350 ngx_feature_libs=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
351 ngx_feature_test="accept4(0, NULL, NULL, SOCK_NONBLOCK)"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
352 . auto/feature
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
353
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
354 if [ $NGX_FILE_AIO = YES ]; then
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
355
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
356 ngx_feature="kqueue AIO support"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
357 ngx_feature_name="NGX_HAVE_FILE_AIO"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
358 ngx_feature_run=no
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
359 ngx_feature_incs="#include <aio.h>"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
360 ngx_feature_path=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
361 ngx_feature_libs=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
362 ngx_feature_test="int n; struct aiocb iocb;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
363 iocb.aio_sigevent.sigev_notify = SIGEV_KEVENT;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
364 n = aio_read(&iocb)"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
365 . auto/feature
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
366
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
367 if [ $ngx_found = yes ]; then
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
368 CORE_SRCS="$CORE_SRCS $FILE_AIO_SRCS"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
369
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
370 elif [ $ngx_found = no ]; then
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
371
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
372 ngx_feature="Linux AIO support"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
373 ngx_feature_name="NGX_HAVE_FILE_AIO"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
374 ngx_feature_run=no
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
375 ngx_feature_incs="#include <linux/aio_abi.h>
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
376 #include <sys/syscall.h>"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
377 ngx_feature_path=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
378 ngx_feature_libs=
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
379 ngx_feature_test="int n = SYS_eventfd;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
380 struct iocb iocb;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
381 iocb.aio_lio_opcode = IOCB_CMD_PREAD;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
382 iocb.aio_flags = IOCB_FLAG_RESFD;
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
383 iocb.aio_resfd = -1;"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
384 . auto/feature
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
385
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
386 if [ $ngx_found = yes ]; then
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
387 have=NGX_HAVE_EVENTFD . auto/have
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
388 CORE_SRCS="$CORE_SRCS $LINUX_AIO_SRCS"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
389
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
390 else
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
391 cat << END
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
392
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
393 $0: no supported file AIO was found
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
394 Currently file AIO is supported on FreeBSD 4.3+ and Linux 2.6.22+ only
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
395
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
396 END
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
397 exit 1
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
398 fi
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
399 fi
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
400 fi
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
401
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
402
28
7ca9bdc82b3f nginx 0.1.14
Igor Sysoev <http://sysoev.ru>
parents: 26
diff changeset
403 have=NGX_HAVE_UNIX_DOMAIN . auto/have
7ca9bdc82b3f nginx 0.1.14
Igor Sysoev <http://sysoev.ru>
parents: 26
diff changeset
404
132
91372f004adf nginx 0.3.13
Igor Sysoev <http://sysoev.ru>
parents: 64
diff changeset
405 ngx_feature_libs=
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
406
42
41ccba1aba45 nginx 0.1.21
Igor Sysoev <http://sysoev.ru>
parents: 34
diff changeset
407
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
408 # C types
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
409
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
410 ngx_type="int"; . auto/types/sizeof
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
411
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
412 ngx_type="long"; . auto/types/sizeof
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
413
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
414 ngx_type="long long"; . auto/types/sizeof
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
415
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
416 ngx_type="void *"; . auto/types/sizeof; ngx_ptr_size=$ngx_size
42
41ccba1aba45 nginx 0.1.21
Igor Sysoev <http://sysoev.ru>
parents: 34
diff changeset
417 ngx_param=NGX_PTR_SIZE; ngx_value=$ngx_size; . auto/types/value
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
418
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
419
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
420 # POSIX types
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
421
214
0ad9eeb6ac7f nginx 0.3.54
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
422 case "$NGX_AUTO_CONFIG_H" in
0ad9eeb6ac7f nginx 0.3.54
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
423 /*)
0ad9eeb6ac7f nginx 0.3.54
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
424 NGX_INCLUDE_AUTO_CONFIG_H="#include \"$NGX_AUTO_CONFIG_H\""
0ad9eeb6ac7f nginx 0.3.54
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
425 ;;
0ad9eeb6ac7f nginx 0.3.54
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
426 *)
0ad9eeb6ac7f nginx 0.3.54
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
427 NGX_INCLUDE_AUTO_CONFIG_H="#include \"../$NGX_AUTO_CONFIG_H\""
0ad9eeb6ac7f nginx 0.3.54
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
428 ;;
0ad9eeb6ac7f nginx 0.3.54
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
429 esac
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
430
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
431 ngx_type="uint64_t"; ngx_types="u_int64_t"; . auto/types/typedef
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
432
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
433 ngx_type="sig_atomic_t"; ngx_types="int"; . auto/types/typedef
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
434 . auto/types/sizeof
26
45fe5b98a9de nginx 0.1.13
Igor Sysoev <http://sysoev.ru>
parents: 22
diff changeset
435 ngx_param=NGX_SIG_ATOMIC_T_SIZE; ngx_value=$ngx_size; . auto/types/value
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
436
64
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents: 58
diff changeset
437 ngx_type="socklen_t"; ngx_types="int"; . auto/types/typedef
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
438
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
439 ngx_type="in_addr_t"; ngx_types="uint32_t"; . auto/types/typedef
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
440
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
441 ngx_type="in_port_t"; ngx_types="u_short"; . auto/types/typedef
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
442
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
443 ngx_type="rlim_t"; ngx_types="int"; . auto/types/typedef
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
444
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
445 . auto/types/uintptr_t
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
446
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
447 . auto/endianess
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
448
22
8b6db3bda591 nginx 0.1.11
Igor Sysoev <http://sysoev.ru>
parents: 18
diff changeset
449 ngx_type="size_t"; . auto/types/sizeof
26
45fe5b98a9de nginx 0.1.13
Igor Sysoev <http://sysoev.ru>
parents: 22
diff changeset
450 ngx_param=NGX_MAX_SIZE_T_VALUE; ngx_value=$ngx_max_value; . auto/types/value
45fe5b98a9de nginx 0.1.13
Igor Sysoev <http://sysoev.ru>
parents: 22
diff changeset
451 ngx_param=NGX_SIZE_T_LEN; ngx_value=$ngx_max_len; . auto/types/value
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
452
22
8b6db3bda591 nginx 0.1.11
Igor Sysoev <http://sysoev.ru>
parents: 18
diff changeset
453 ngx_type="off_t"; . auto/types/sizeof
26
45fe5b98a9de nginx 0.1.13
Igor Sysoev <http://sysoev.ru>
parents: 22
diff changeset
454 ngx_param=NGX_MAX_OFF_T_VALUE; ngx_value=$ngx_max_value; . auto/types/value
45fe5b98a9de nginx 0.1.13
Igor Sysoev <http://sysoev.ru>
parents: 22
diff changeset
455 ngx_param=NGX_OFF_T_LEN; ngx_value=$ngx_max_len; . auto/types/value
22
8b6db3bda591 nginx 0.1.11
Igor Sysoev <http://sysoev.ru>
parents: 18
diff changeset
456
8b6db3bda591 nginx 0.1.11
Igor Sysoev <http://sysoev.ru>
parents: 18
diff changeset
457 ngx_type="time_t"; . auto/types/sizeof
26
45fe5b98a9de nginx 0.1.13
Igor Sysoev <http://sysoev.ru>
parents: 22
diff changeset
458 ngx_param=NGX_TIME_T_SIZE; ngx_value=$ngx_size; . auto/types/value
45fe5b98a9de nginx 0.1.13
Igor Sysoev <http://sysoev.ru>
parents: 22
diff changeset
459 ngx_param=NGX_TIME_T_LEN; ngx_value=$ngx_max_len; . auto/types/value
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
460
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
461
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
462 # syscalls, libc calls and some features
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
463
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
464
448
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
465 if [ $NGX_IPV6 = YES ]; then
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
466 ngx_feature="AF_INET6"
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
467 ngx_feature_name="NGX_HAVE_INET6"
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
468 ngx_feature_run=no
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
469 ngx_feature_incs="#include <sys/socket.h>
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
470 #include <netinet/in.h>
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
471 #include <arpa/inet.h>"
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
472 ngx_feature_path=
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
473 ngx_feature_libs=
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
474 ngx_feature_test="struct sockaddr_in6 sin6;
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
475 sin6.sin6_family = AF_INET6;"
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
476 . auto/feature
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
477 fi
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
478
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 406
diff changeset
479
16
74b1868dd3cd nginx 0.1.8
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
480 ngx_feature="setproctitle()"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
481 ngx_feature_name="NGX_HAVE_SETPROCTITLE"
16
74b1868dd3cd nginx 0.1.8
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
482 ngx_feature_run=no
74b1868dd3cd nginx 0.1.8
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
483 ngx_feature_incs=
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
484 ngx_feature_path=
58
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 42
diff changeset
485 ngx_feature_libs=$NGX_SETPROCTITLE_LIB
16
74b1868dd3cd nginx 0.1.8
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
486 ngx_feature_test="setproctitle(\"test\");"
74b1868dd3cd nginx 0.1.8
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
487 . auto/feature
74b1868dd3cd nginx 0.1.8
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
488
74b1868dd3cd nginx 0.1.8
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
489
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
490 ngx_feature="pread()"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
491 ngx_feature_name="NGX_HAVE_PREAD"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
492 ngx_feature_run=no
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
493 ngx_feature_incs=
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
494 ngx_feature_path=
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
495 ngx_feature_libs=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
496 ngx_feature_test="char buf[1]; ssize_t n; n = pread(0, buf, 1, 0)"
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
497 . auto/feature
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
498
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
499
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
500 ngx_feature="pwrite()"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
501 ngx_feature_name="NGX_HAVE_PWRITE"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
502 ngx_feature_run=no
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
503 ngx_feature_incs=
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
504 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
505 ngx_feature_libs=
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
506 ngx_feature_test="char buf[1]; ssize_t n; n = pwrite(1, buf, 1, 0)"
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
507 . auto/feature
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
508
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
509
604
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 566
diff changeset
510 ngx_feature="sys_nerr"
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 566
diff changeset
511 ngx_feature_name="NGX_SYS_NERR"
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 566
diff changeset
512 ngx_feature_run=value
650
4d05413aebad nginx 1.1.9
Igor Sysoev <http://sysoev.ru>
parents: 634
diff changeset
513 ngx_feature_incs='#include <errno.h>
4d05413aebad nginx 1.1.9
Igor Sysoev <http://sysoev.ru>
parents: 634
diff changeset
514 #include <stdio.h>'
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
515 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
516 ngx_feature_libs=
604
428c6e58046a nginx 0.9.0
Igor Sysoev <http://sysoev.ru>
parents: 566
diff changeset
517 ngx_feature_test='printf("%d", sys_nerr);'
566
be4f34123024 nginx 0.8.35
Igor Sysoev <http://sysoev.ru>
parents: 498
diff changeset
518 . auto/feature
be4f34123024 nginx 0.8.35
Igor Sysoev <http://sysoev.ru>
parents: 498
diff changeset
519
be4f34123024 nginx 0.8.35
Igor Sysoev <http://sysoev.ru>
parents: 498
diff changeset
520
610
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
521 if [ $ngx_found = no ]; then
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
522
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
523 # Cygiwn defines _sys_nerr
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
524 ngx_feature="_sys_nerr"
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
525 ngx_feature_name="NGX_SYS_NERR"
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
526 ngx_feature_run=value
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
527 ngx_feature_incs='#include <errno.h>
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
528 #include <stdio.h>'
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
529 ngx_feature_path=
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
530 ngx_feature_libs=
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
531 ngx_feature_test='printf("%d", _sys_nerr);'
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
532 . auto/feature
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
533 fi
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
534
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
535
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
536 if [ $ngx_found = no ]; then
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
537
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
538 # Solaris has no sys_nerr
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
539 ngx_feature='maximum errno'
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
540 ngx_feature_name=NGX_SYS_NERR
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
541 ngx_feature_run=value
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
542 ngx_feature_incs='#include <errno.h>
624
d4da38525468 nginx 1.0.2
Igor Sysoev <http://sysoev.ru>
parents: 622
diff changeset
543 #include <string.h>
610
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
544 #include <stdio.h>'
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
545 ngx_feature_path=
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
546 ngx_feature_libs=
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
547 ngx_feature_test='int n;
622
8dc007eddbcf nginx 1.0.1
Igor Sysoev <http://sysoev.ru>
parents: 610
diff changeset
548 char *p;
610
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
549 for (n = 1; n < 1000; n++) {
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
550 errno = 0;
622
8dc007eddbcf nginx 1.0.1
Igor Sysoev <http://sysoev.ru>
parents: 610
diff changeset
551 p = strerror(n);
8dc007eddbcf nginx 1.0.1
Igor Sysoev <http://sysoev.ru>
parents: 610
diff changeset
552 if (errno == EINVAL
8dc007eddbcf nginx 1.0.1
Igor Sysoev <http://sysoev.ru>
parents: 610
diff changeset
553 || p == NULL
8dc007eddbcf nginx 1.0.1
Igor Sysoev <http://sysoev.ru>
parents: 610
diff changeset
554 || strncmp(p, "Unknown error", 13) == 0)
8dc007eddbcf nginx 1.0.1
Igor Sysoev <http://sysoev.ru>
parents: 610
diff changeset
555 {
650
4d05413aebad nginx 1.1.9
Igor Sysoev <http://sysoev.ru>
parents: 634
diff changeset
556 break;
610
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
557 }
650
4d05413aebad nginx 1.1.9
Igor Sysoev <http://sysoev.ru>
parents: 634
diff changeset
558 }
4d05413aebad nginx 1.1.9
Igor Sysoev <http://sysoev.ru>
parents: 634
diff changeset
559 printf("%d", n);'
610
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
560 . auto/feature
7ea1bba9a4f6 nginx 0.9.3
Igor Sysoev <http://sysoev.ru>
parents: 608
diff changeset
561 fi
608
3036c1836a24 nginx 0.9.2
Igor Sysoev <http://sysoev.ru>
parents: 604
diff changeset
562
3036c1836a24 nginx 0.9.2
Igor Sysoev <http://sysoev.ru>
parents: 604
diff changeset
563
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
564 ngx_feature="localtime_r()"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
565 ngx_feature_name="NGX_HAVE_LOCALTIME_R"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
566 ngx_feature_run=no
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
567 ngx_feature_incs="#include <time.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
568 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
569 ngx_feature_libs=
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
570 ngx_feature_test="struct tm t; time_t c=0; localtime_r(&c, &t)"
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
571 . auto/feature
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
572
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
573
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
574 ngx_feature="posix_memalign()"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
575 ngx_feature_name="NGX_HAVE_POSIX_MEMALIGN"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
576 ngx_feature_run=no
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
577 ngx_feature_incs="#include <stdlib.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
578 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
579 ngx_feature_libs=
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
580 ngx_feature_test="void *p; int n; n = posix_memalign(&p, 4096, 4096)"
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
581 . auto/feature
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
582
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
583
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
584 ngx_feature="memalign()"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
585 ngx_feature_name="NGX_HAVE_MEMALIGN"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
586 ngx_feature_run=no
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
587 ngx_feature_incs="#include <stdlib.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
588 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
589 ngx_feature_libs=
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
590 ngx_feature_test="void *p; p = memalign(4096, 4096)"
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
591 . auto/feature
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
592
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
593
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
594 ngx_feature="mmap(MAP_ANON|MAP_SHARED)"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
595 ngx_feature_name="NGX_HAVE_MAP_ANON"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
596 ngx_feature_run=yes
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
597 ngx_feature_incs="#include <sys/mman.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
598 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
599 ngx_feature_libs=
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
600 ngx_feature_test="void *p;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
601 p = mmap(NULL, 4096, PROT_READ|PROT_WRITE,
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
602 MAP_ANON|MAP_SHARED, -1, 0);
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
603 if (p == MAP_FAILED) return 1;"
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
604 . auto/feature
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
605
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
606
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
607 ngx_feature='mmap("/dev/zero", MAP_SHARED)'
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
608 ngx_feature_name="NGX_HAVE_MAP_DEVZERO"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
609 ngx_feature_run=yes
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
610 ngx_feature_incs="#include <sys/mman.h>
466
9eda3153223b nginx 0.7.45
Igor Sysoev <http://sysoev.ru>
parents: 448
diff changeset
611 #include <sys/stat.h>
9eda3153223b nginx 0.7.45
Igor Sysoev <http://sysoev.ru>
parents: 448
diff changeset
612 #include <fcntl.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
613 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
614 ngx_feature_libs=
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
615 ngx_feature_test='void *p; int fd;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
616 fd = open("/dev/zero", O_RDWR);
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
617 p = mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
618 if (p == MAP_FAILED) return 1;'
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
619 . auto/feature
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
620
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
621
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
622 ngx_feature="System V shared memory"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
623 ngx_feature_name="NGX_HAVE_SYSVSHM"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
624 ngx_feature_run=yes
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
625 ngx_feature_incs="#include <sys/ipc.h>
466
9eda3153223b nginx 0.7.45
Igor Sysoev <http://sysoev.ru>
parents: 448
diff changeset
626 #include <sys/shm.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
627 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
628 ngx_feature_libs=
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
629 ngx_feature_test="int id;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
630 id = shmget(IPC_PRIVATE, 4096, (SHM_R|SHM_W|IPC_CREAT));
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
631 if (id == -1) return 1;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
632 shmctl(id, IPC_RMID, NULL);"
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
633 . auto/feature
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
634
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
635
624
d4da38525468 nginx 1.0.2
Igor Sysoev <http://sysoev.ru>
parents: 622
diff changeset
636 ngx_feature="POSIX semaphores"
d4da38525468 nginx 1.0.2
Igor Sysoev <http://sysoev.ru>
parents: 622
diff changeset
637 ngx_feature_name="NGX_HAVE_POSIX_SEM"
d4da38525468 nginx 1.0.2
Igor Sysoev <http://sysoev.ru>
parents: 622
diff changeset
638 ngx_feature_run=yes
d4da38525468 nginx 1.0.2
Igor Sysoev <http://sysoev.ru>
parents: 622
diff changeset
639 ngx_feature_incs="#include <semaphore.h>"
d4da38525468 nginx 1.0.2
Igor Sysoev <http://sysoev.ru>
parents: 622
diff changeset
640 ngx_feature_path=
d4da38525468 nginx 1.0.2
Igor Sysoev <http://sysoev.ru>
parents: 622
diff changeset
641 ngx_feature_libs=
d4da38525468 nginx 1.0.2
Igor Sysoev <http://sysoev.ru>
parents: 622
diff changeset
642 ngx_feature_test="sem_t sem;
d4da38525468 nginx 1.0.2
Igor Sysoev <http://sysoev.ru>
parents: 622
diff changeset
643 if (sem_init(&sem, 1, 0) == -1) return 1;
d4da38525468 nginx 1.0.2
Igor Sysoev <http://sysoev.ru>
parents: 622
diff changeset
644 sem_destroy(&sem);"
d4da38525468 nginx 1.0.2
Igor Sysoev <http://sysoev.ru>
parents: 622
diff changeset
645 . auto/feature
d4da38525468 nginx 1.0.2
Igor Sysoev <http://sysoev.ru>
parents: 622
diff changeset
646
d4da38525468 nginx 1.0.2
Igor Sysoev <http://sysoev.ru>
parents: 622
diff changeset
647
628
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
648 if [ $ngx_found = no ]; then
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
649
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
650 # Linux has POSIX semaphores in libpthread
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
651 ngx_feature="POSIX semaphores in libpthread"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
652 ngx_feature_libs=-lpthread
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
653 . auto/feature
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
654
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
655 if [ $ngx_found = yes ]; then
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
656 CORE_LIBS="$CORE_LIBS -lpthread"
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
657 fi
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
658 fi
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
659
83b58b182b76 nginx 1.0.4
Igor Sysoev <http://sysoev.ru>
parents: 624
diff changeset
660
634
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
661 if [ $ngx_found = no ]; then
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
662
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
663 # Solaris has POSIX semaphores in librt
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
664 ngx_feature="POSIX semaphores in librt"
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
665 ngx_feature_libs=-lrt
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
666 . auto/feature
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
667
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
668 if [ $ngx_found = yes ]; then
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
669 CORE_LIBS="$CORE_LIBS -lrt"
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
670 fi
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
671 fi
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
672
23ef0645ea57 nginx 1.1.1
Igor Sysoev <http://sysoev.ru>
parents: 628
diff changeset
673
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
674 ngx_feature="struct msghdr.msg_control"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
675 ngx_feature_name="NGX_HAVE_MSGHDR_MSG_CONTROL"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
676 ngx_feature_run=no
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
677 ngx_feature_incs="#include <sys/socket.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
678 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
679 ngx_feature_libs=
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
680 ngx_feature_test="struct msghdr msg; msg.msg_control = NULL"
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
681 . auto/feature
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
682
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
683
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
684 ngx_feature="ioctl(FIONBIO)"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
685 ngx_feature_name="NGX_HAVE_FIONBIO"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
686 ngx_feature_run=no
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
687 ngx_feature_incs="#include <sys/ioctl.h>
466
9eda3153223b nginx 0.7.45
Igor Sysoev <http://sysoev.ru>
parents: 448
diff changeset
688 $NGX_INCLUDE_SYS_FILIO_H"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
689 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
690 ngx_feature_libs=
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
691 ngx_feature_test="int i; i = FIONBIO"
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
692 . auto/feature
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
693
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
694
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
695 ngx_feature="struct tm.tm_gmtoff"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
696 ngx_feature_name="NGX_HAVE_GMTOFF"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
697 ngx_feature_run=no
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
698 ngx_feature_incs="#include <time.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
699 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
700 ngx_feature_libs=
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
701 ngx_feature_test="struct tm tm; tm.tm_gmtoff = 0"
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
702 . auto/feature
406
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
703
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
704
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
705 ngx_feature="struct dirent.d_namlen"
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
706 ngx_feature_name="NGX_HAVE_D_NAMLEN"
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
707 ngx_feature_run=no
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
708 ngx_feature_incs="#include <dirent.h>"
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
709 ngx_feature_path=
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
710 ngx_feature_libs=
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
711 ngx_feature_test="struct dirent dir; dir.d_namlen = 0"
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
712 . auto/feature
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
713
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
714
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
715 ngx_feature="struct dirent.d_type"
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
716 ngx_feature_name="NGX_HAVE_D_TYPE"
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
717 ngx_feature_run=no
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
718 ngx_feature_incs="#include <dirent.h>"
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
719 ngx_feature_path=
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
720 ngx_feature_libs=
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
721 ngx_feature_test="struct dirent dir; dir.d_type = DT_REG"
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
722 . auto/feature