Mercurial > hg > nginx-quic
annotate auto/unix @ 6556:654d2dae97d3
HTTP/2: the "421 Misdirected Request" response (closes #848).
Since 4fbef397c753 nginx rejects with the 400 error any attempts of
requesting different host over the same connection, if the relevant
virtual server requires verification of a client certificate.
While requesting hosts other than negotiated isn't something legal
in HTTP/1.x, the HTTP/2 specification explicitly permits such requests
for connection reuse and has introduced a special response code 421.
According to RFC 7540 Section 9.1.2 this code can be sent by a server
that is not configured to produce responses for the combination of
scheme and authority that are included in the request URI. And the
client may retry the request over a different connection.
Now this code is used for requests that aren't authorized in current
connection. After receiving the 421 response a client will be able
to open a new connection, provide the required certificate and retry
the request.
Unfortunately, not all clients currently are able to handle it well.
Notably Chrome just shows an error, while at least the latest version
of Firefox retries the request over a new connection.
author | Valentin Bartenev <vbart@nginx.com> |
---|---|
date | Fri, 20 May 2016 18:41:17 +0300 |
parents | 1d0e03db9f8e |
children | 2c7b488a61fb |
rev | line source |
---|---|
444
42d11f017717
nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents:
417
diff
changeset
|
1 |
42d11f017717
nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents:
417
diff
changeset
|
2 # Copyright (C) Igor Sysoev |
4412 | 3 # Copyright (C) Nginx, Inc. |
444
42d11f017717
nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents:
417
diff
changeset
|
4 |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
5 |
3933
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
6 NGX_USER=${NGX_USER:-nobody} |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
7 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
8 if [ -z "$NGX_GROUP" ]; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
9 if [ $NGX_USER = nobody ]; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
10 if grep nobody /etc/group 2>&1 >/dev/null; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
11 echo "checking for nobody group ... found" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
12 NGX_GROUP=nobody |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
13 else |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
14 echo "checking for nobody group ... not found" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
15 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
16 if grep nogroup /etc/group 2>&1 >/dev/null; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
17 echo "checking for nogroup group ... found" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
18 NGX_GROUP=nogroup |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
19 else |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
20 echo "checking for nogroup group ... not found" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
21 NGX_GROUP=nobody |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
22 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
23 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
24 else |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
25 NGX_GROUP=$NGX_USER |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
26 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
27 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
28 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
29 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
30 ngx_feature="poll()" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
31 ngx_feature_name= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
32 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
33 ngx_feature_incs="#include <poll.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
34 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
35 ngx_feature_libs= |
4559
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4550
diff
changeset
|
36 ngx_feature_test="int n; struct pollfd pl; |
3933
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
37 pl.fd = 0; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
38 pl.events = 0; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
39 pl.revents = 0; |
4559
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4550
diff
changeset
|
40 n = poll(&pl, 1, 0); |
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4550
diff
changeset
|
41 if (n == -1) return 1" |
3933
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
42 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
43 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
44 if [ $ngx_found = no ]; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
45 EVENT_POLL=NONE |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
46 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
47 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
48 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
49 ngx_feature="/dev/poll" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
50 ngx_feature_name="NGX_HAVE_DEVPOLL" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
51 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
52 ngx_feature_incs="#include <sys/devpoll.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
53 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
54 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
55 ngx_feature_test="int n, dp; struct dvpoll dvp; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
56 dp = 0; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
57 dvp.dp_fds = NULL; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
58 dvp.dp_nfds = 0; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
59 dvp.dp_timeout = 0; |
4559
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4550
diff
changeset
|
60 n = ioctl(dp, DP_POLL, &dvp); |
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4550
diff
changeset
|
61 if (n == -1) return 1" |
3933
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
62 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
63 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
64 if [ $ngx_found = yes ]; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
65 CORE_SRCS="$CORE_SRCS $DEVPOLL_SRCS" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
66 EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
67 EVENT_FOUND=YES |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
68 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
69 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
70 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
71 if test -z "$NGX_KQUEUE_CHECKED"; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
72 ngx_feature="kqueue" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
73 ngx_feature_name="NGX_HAVE_KQUEUE" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
74 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
75 ngx_feature_incs="#include <sys/event.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
76 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
77 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
78 ngx_feature_test="int kq; kq = kqueue()" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
79 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
80 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
81 if [ $ngx_found = yes ]; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
82 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
83 have=NGX_HAVE_CLEAR_EVENT . auto/have |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
84 EVENT_MODULES="$EVENT_MODULES $KQUEUE_MODULE" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
85 CORE_SRCS="$CORE_SRCS $KQUEUE_SRCS" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
86 EVENT_FOUND=YES |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
87 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
88 ngx_feature="kqueue's NOTE_LOWAT" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
89 ngx_feature_name="NGX_HAVE_LOWAT_EVENT" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
90 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
91 ngx_feature_incs="#include <sys/event.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
92 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
93 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
94 ngx_feature_test="struct kevent kev; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
95 kev.fflags = NOTE_LOWAT;" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
96 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
97 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
98 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
99 ngx_feature="kqueue's EVFILT_TIMER" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
100 ngx_feature_name="NGX_HAVE_TIMER_EVENT" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
101 ngx_feature_run=yes |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
102 ngx_feature_incs="#include <sys/event.h> |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
103 #include <sys/time.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
104 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
105 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
106 ngx_feature_test="int kq; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
107 struct kevent kev; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
108 struct timespec ts; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
109 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
110 if ((kq = kqueue()) == -1) return 1; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
111 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
112 kev.ident = 0; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
113 kev.filter = EVFILT_TIMER; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
114 kev.flags = EV_ADD|EV_ENABLE; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
115 kev.fflags = 0; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
116 kev.data = 1000; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
117 kev.udata = 0; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
118 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
119 ts.tv_sec = 0; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
120 ts.tv_nsec = 0; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
121 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
122 if (kevent(kq, &kev, 1, &kev, 1, &ts) == -1) return 1; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
123 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
124 if (kev.flags & EV_ERROR) return 1;" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
125 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
126 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
127 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
128 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
129 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
130 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
131 if [ "$NGX_SYSTEM" = "NetBSD" ]; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
132 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
133 # NetBSD 2.0 incompatibly defines kevent.udata as "intptr_t" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
134 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
135 cat << END >> $NGX_AUTO_CONFIG_H |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
136 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
137 #define NGX_KQUEUE_UDATA_T |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
138 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
139 END |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
140 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
141 else |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
142 cat << END >> $NGX_AUTO_CONFIG_H |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
143 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
144 #define NGX_KQUEUE_UDATA_T (void *) |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
145 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
146 END |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
147 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
148 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
149 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
150 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
151 ngx_feature="crypt()" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
152 ngx_feature_name= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
153 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
154 ngx_feature_incs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
155 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
156 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
157 ngx_feature_test="crypt(\"test\", \"salt\");" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
158 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
159 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
160 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
161 if [ $ngx_found = no ]; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
162 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
163 ngx_feature="crypt() in libcrypt" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
164 ngx_feature_name= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
165 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
166 ngx_feature_incs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
167 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
168 ngx_feature_libs=-lcrypt |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
169 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
170 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
171 if [ $ngx_found = yes ]; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
172 CRYPT_LIB="-lcrypt" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
173 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
174 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
175 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
176 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
177 ngx_feature="F_READAHEAD" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
178 ngx_feature_name="NGX_HAVE_F_READAHEAD" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
179 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
180 ngx_feature_incs="#include <fcntl.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
181 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
182 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
183 ngx_feature_test="fcntl(0, F_READAHEAD, 1);" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
184 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
185 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
186 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
187 ngx_feature="posix_fadvise()" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
188 ngx_feature_name="NGX_HAVE_POSIX_FADVISE" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
189 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
190 ngx_feature_incs="#include <fcntl.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
191 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
192 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
193 ngx_feature_test="posix_fadvise(0, 0, 0, POSIX_FADV_SEQUENTIAL);" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
194 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
195 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
196 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
197 ngx_feature="O_DIRECT" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
198 ngx_feature_name="NGX_HAVE_O_DIRECT" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
199 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
200 ngx_feature_incs="#include <fcntl.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
201 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
202 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
203 ngx_feature_test="fcntl(0, F_SETFL, O_DIRECT);" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
204 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
205 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
206 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
207 if [ $ngx_found = yes -a "$NGX_SYSTEM" = "Linux" ]; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
208 have=NGX_HAVE_ALIGNED_DIRECTIO . auto/have |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
209 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
210 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
211 ngx_feature="F_NOCACHE" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
212 ngx_feature_name="NGX_HAVE_F_NOCACHE" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
213 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
214 ngx_feature_incs="#include <fcntl.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
215 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
216 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
217 ngx_feature_test="fcntl(0, F_NOCACHE, 1);" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
218 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
219 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
220 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
221 ngx_feature="directio()" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
222 ngx_feature_name="NGX_HAVE_DIRECTIO" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
223 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
224 ngx_feature_incs="#include <sys/types.h> |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
225 #include <sys/fcntl.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
226 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
227 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
228 ngx_feature_test="directio(0, DIRECTIO_ON);" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
229 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
230 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
231 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
232 ngx_feature="statfs()" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
233 ngx_feature_name="NGX_HAVE_STATFS" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
234 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
235 ngx_feature_incs="$NGX_INCLUDE_SYS_PARAM_H |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
236 $NGX_INCLUDE_SYS_MOUNT_H |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
237 $NGX_INCLUDE_SYS_VFS_H" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
238 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
239 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
240 ngx_feature_test="struct statfs fs; |
4543
51744fa997c7
Fixed compilation warnings in configuration C tests.
Ruslan Ermilov <ru@nginx.com>
parents:
4475
diff
changeset
|
241 statfs(\".\", &fs);" |
3933
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
242 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
243 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
244 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
245 ngx_feature="statvfs()" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
246 ngx_feature_name="NGX_HAVE_STATVFS" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
247 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
248 ngx_feature_incs="#include <sys/types.h> |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
249 #include <sys/statvfs.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
250 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
251 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
252 ngx_feature_test="struct statvfs fs; |
4543
51744fa997c7
Fixed compilation warnings in configuration C tests.
Ruslan Ermilov <ru@nginx.com>
parents:
4475
diff
changeset
|
253 statvfs(\".\", &fs);" |
3933
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
254 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
255 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
256 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
257 ngx_feature="dlopen()" |
6380
7142b04337d6
Dynamic modules: dlopen() support.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6301
diff
changeset
|
258 ngx_feature_name="NGX_HAVE_DLOPEN" |
3933
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
259 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
260 ngx_feature_incs="#include <dlfcn.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
261 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
262 ngx_feature_libs= |
6500
8426275a13fd
Compatibility with FreeBSD 2.2.9.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6436
diff
changeset
|
263 ngx_feature_test="dlopen(NULL, RTLD_NOW | RTLD_GLOBAL); dlsym(NULL, NULL)" |
3933
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
264 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
265 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
266 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
267 if [ $ngx_found != yes ]; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
268 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
269 ngx_feature="dlopen() in libdl" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
270 ngx_feature_libs="-ldl" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
271 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
272 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
273 if [ $ngx_found = yes ]; then |
6380
7142b04337d6
Dynamic modules: dlopen() support.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6301
diff
changeset
|
274 CORE_LIBS="$CORE_LIBS -ldl" |
6403
e59e617f8fcb
Configure: fixed static nginx build with OpenSSL (ticket #903).
Ruslan Ermilov <ru@nginx.com>
parents:
6385
diff
changeset
|
275 NGX_LIBDL="-ldl" |
3933
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
276 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
277 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
278 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
279 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
280 ngx_feature="sched_yield()" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
281 ngx_feature_name="NGX_HAVE_SCHED_YIELD" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
282 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
283 ngx_feature_incs="#include <sched.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
284 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
285 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
286 ngx_feature_test="sched_yield()" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
287 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
288 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
289 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
290 if [ $ngx_found != yes ]; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
291 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
292 ngx_feature="sched_yield() in librt" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
293 ngx_feature_libs="-lrt" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
294 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
295 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
296 if [ $ngx_found = yes ]; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
297 CORE_LIBS="$CORE_LIBS -lrt" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
298 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
299 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
300 |
4016
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
301 |
3933
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
302 ngx_feature="SO_SETFIB" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
303 ngx_feature_name="NGX_HAVE_SETFIB" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
304 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
305 ngx_feature_incs="#include <sys/socket.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
306 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
307 ngx_feature_libs= |
6150 | 308 ngx_feature_test="setsockopt(0, SOL_SOCKET, SO_SETFIB, NULL, 0)" |
3933
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
309 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
310 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
311 |
6153
4f6efabcb09b
The "reuseport" option of the "listen" directive.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6150
diff
changeset
|
312 ngx_feature="SO_REUSEPORT" |
4f6efabcb09b
The "reuseport" option of the "listen" directive.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6150
diff
changeset
|
313 ngx_feature_name="NGX_HAVE_REUSEPORT" |
4f6efabcb09b
The "reuseport" option of the "listen" directive.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6150
diff
changeset
|
314 ngx_feature_run=no |
4f6efabcb09b
The "reuseport" option of the "listen" directive.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6150
diff
changeset
|
315 ngx_feature_incs="#include <sys/socket.h>" |
4f6efabcb09b
The "reuseport" option of the "listen" directive.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6150
diff
changeset
|
316 ngx_feature_path= |
4f6efabcb09b
The "reuseport" option of the "listen" directive.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6150
diff
changeset
|
317 ngx_feature_libs= |
4f6efabcb09b
The "reuseport" option of the "listen" directive.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6150
diff
changeset
|
318 ngx_feature_test="setsockopt(0, SOL_SOCKET, SO_REUSEPORT, NULL, 0)" |
4f6efabcb09b
The "reuseport" option of the "listen" directive.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6150
diff
changeset
|
319 . auto/feature |
4f6efabcb09b
The "reuseport" option of the "listen" directive.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6150
diff
changeset
|
320 |
4f6efabcb09b
The "reuseport" option of the "listen" directive.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6150
diff
changeset
|
321 |
4016
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
322 ngx_feature="SO_ACCEPTFILTER" |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
323 ngx_feature_name="NGX_HAVE_DEFERRED_ACCEPT" |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
324 ngx_feature_run=no |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
325 ngx_feature_incs="#include <sys/socket.h>" |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
326 ngx_feature_path= |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
327 ngx_feature_libs= |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
328 ngx_feature_test="setsockopt(0, SOL_SOCKET, SO_ACCEPTFILTER, NULL, 0)" |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
329 . auto/feature |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
330 |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
331 |
6530
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
332 # NetBSD bind to any address for transparent proxying |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
333 |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
334 ngx_feature="SO_BINDANY" |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
335 ngx_feature_name="NGX_HAVE_TRANSPARENT_PROXY" |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
336 ngx_feature_run=no |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
337 ngx_feature_incs="#include <sys/socket.h>" |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
338 ngx_feature_path= |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
339 ngx_feature_libs= |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
340 ngx_feature_test="setsockopt(0, SOL_SOCKET, SO_BINDANY, NULL, 0)" |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
341 . auto/feature |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
342 |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
343 |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
344 # Linux transparent proxying |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
345 |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
346 ngx_feature="IP_TRANSPARENT" |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
347 ngx_feature_name="NGX_HAVE_TRANSPARENT_PROXY" |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
348 ngx_feature_run=no |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
349 ngx_feature_incs="#include <sys/socket.h> |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
350 #include <netinet/in.h>" |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
351 ngx_feature_path= |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
352 ngx_feature_libs= |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
353 ngx_feature_test="setsockopt(0, IPPROTO_IP, IP_TRANSPARENT, NULL, 0)" |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
354 . auto/feature |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
355 |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
356 |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
357 # FreeBSD bind to any address for transparent proxying |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
358 |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
359 ngx_feature="IP_BINDANY" |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
360 ngx_feature_name="NGX_HAVE_TRANSPARENT_PROXY" |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
361 ngx_feature_run=no |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
362 ngx_feature_incs="#include <sys/socket.h> |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
363 #include <netinet/in.h>" |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
364 ngx_feature_path= |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
365 ngx_feature_libs= |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
366 ngx_feature_test="setsockopt(0, IPPROTO_IP, IP_BINDANY, NULL, 0)" |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
367 . auto/feature |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
368 |
1d0e03db9f8e
Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents:
6500
diff
changeset
|
369 |
6436 | 370 # BSD way to get IPv4 datagram destination address |
371 | |
372 ngx_feature="IP_RECVDSTADDR" | |
373 ngx_feature_name="NGX_HAVE_IP_RECVDSTADDR" | |
374 ngx_feature_run=no | |
375 ngx_feature_incs="#include <sys/socket.h> | |
376 #include <netinet/in.h>" | |
377 ngx_feature_path= | |
378 ngx_feature_libs= | |
379 ngx_feature_test="setsockopt(0, IPPROTO_IP, IP_RECVDSTADDR, NULL, 0)" | |
380 . auto/feature | |
381 | |
382 | |
383 # Linux way to get IPv4 datagram destination address | |
384 | |
385 ngx_feature="IP_PKTINFO" | |
386 ngx_feature_name="NGX_HAVE_IP_PKTINFO" | |
387 ngx_feature_run=no | |
388 ngx_feature_incs="#include <sys/socket.h> | |
389 #include <netinet/in.h>" | |
390 ngx_feature_path= | |
391 ngx_feature_libs= | |
392 ngx_feature_test="setsockopt(0, IPPROTO_IP, IP_PKTINFO, NULL, 0)" | |
393 . auto/feature | |
394 | |
395 | |
396 # RFC 3542 way to get IPv6 datagram destination address | |
397 | |
398 ngx_feature="IPV6_RECVPKTINFO" | |
399 ngx_feature_name="NGX_HAVE_IPV6_RECVPKTINFO" | |
400 ngx_feature_run=no | |
401 ngx_feature_incs="#include <sys/socket.h> | |
402 #include <netinet/in.h>" | |
403 ngx_feature_path= | |
404 ngx_feature_libs= | |
405 ngx_feature_test="setsockopt(0, IPPROTO_IPV6, IPV6_RECVPKTINFO, NULL, 0)" | |
406 . auto/feature | |
407 | |
408 | |
4016
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
409 ngx_feature="TCP_DEFER_ACCEPT" |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
410 ngx_feature_name="NGX_HAVE_DEFERRED_ACCEPT" |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
411 ngx_feature_run=no |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
412 ngx_feature_incs="#include <sys/socket.h> |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
413 #include <netinet/in.h> |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
414 #include <netinet/tcp.h>" |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
415 ngx_feature_path= |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
416 ngx_feature_libs= |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
417 ngx_feature_test="setsockopt(0, IPPROTO_TCP, TCP_DEFER_ACCEPT, NULL, 0)" |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
418 . auto/feature |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
419 |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
420 |
5367
a15abc456bb5
Configure: TCP_KEEPIDLE test name simplified.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5314
diff
changeset
|
421 ngx_feature="TCP_KEEPIDLE" |
4323
c4513d4dd024
Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents:
4302
diff
changeset
|
422 ngx_feature_name="NGX_HAVE_KEEPALIVE_TUNABLE" |
c4513d4dd024
Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents:
4302
diff
changeset
|
423 ngx_feature_run=no |
c4513d4dd024
Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents:
4302
diff
changeset
|
424 ngx_feature_incs="#include <sys/socket.h> |
c4513d4dd024
Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents:
4302
diff
changeset
|
425 #include <netinet/in.h> |
c4513d4dd024
Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents:
4302
diff
changeset
|
426 #include <netinet/tcp.h>" |
c4513d4dd024
Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents:
4302
diff
changeset
|
427 ngx_feature_path= |
c4513d4dd024
Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents:
4302
diff
changeset
|
428 ngx_feature_libs= |
c4513d4dd024
Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents:
4302
diff
changeset
|
429 ngx_feature_test="setsockopt(0, IPPROTO_TCP, TCP_KEEPIDLE, NULL, 0); |
c4513d4dd024
Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents:
4302
diff
changeset
|
430 setsockopt(0, IPPROTO_TCP, TCP_KEEPINTVL, NULL, 0); |
c4513d4dd024
Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents:
4302
diff
changeset
|
431 setsockopt(0, IPPROTO_TCP, TCP_KEEPCNT, NULL, 0)" |
c4513d4dd024
Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents:
4302
diff
changeset
|
432 . auto/feature |
c4513d4dd024
Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents:
4302
diff
changeset
|
433 |
c4513d4dd024
Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents:
4302
diff
changeset
|
434 |
5456
692afcea9d0d
Added support for TCP_FASTOPEN supported in Linux >= 3.7.1.
Mathew Rodley <mathew@rodley.com.au>
parents:
5367
diff
changeset
|
435 ngx_feature="TCP_FASTOPEN" |
692afcea9d0d
Added support for TCP_FASTOPEN supported in Linux >= 3.7.1.
Mathew Rodley <mathew@rodley.com.au>
parents:
5367
diff
changeset
|
436 ngx_feature_name="NGX_HAVE_TCP_FASTOPEN" |
692afcea9d0d
Added support for TCP_FASTOPEN supported in Linux >= 3.7.1.
Mathew Rodley <mathew@rodley.com.au>
parents:
5367
diff
changeset
|
437 ngx_feature_run=no |
692afcea9d0d
Added support for TCP_FASTOPEN supported in Linux >= 3.7.1.
Mathew Rodley <mathew@rodley.com.au>
parents:
5367
diff
changeset
|
438 ngx_feature_incs="#include <sys/socket.h> |
692afcea9d0d
Added support for TCP_FASTOPEN supported in Linux >= 3.7.1.
Mathew Rodley <mathew@rodley.com.au>
parents:
5367
diff
changeset
|
439 #include <netinet/in.h> |
692afcea9d0d
Added support for TCP_FASTOPEN supported in Linux >= 3.7.1.
Mathew Rodley <mathew@rodley.com.au>
parents:
5367
diff
changeset
|
440 #include <netinet/tcp.h>" |
692afcea9d0d
Added support for TCP_FASTOPEN supported in Linux >= 3.7.1.
Mathew Rodley <mathew@rodley.com.au>
parents:
5367
diff
changeset
|
441 ngx_feature_path= |
692afcea9d0d
Added support for TCP_FASTOPEN supported in Linux >= 3.7.1.
Mathew Rodley <mathew@rodley.com.au>
parents:
5367
diff
changeset
|
442 ngx_feature_libs= |
692afcea9d0d
Added support for TCP_FASTOPEN supported in Linux >= 3.7.1.
Mathew Rodley <mathew@rodley.com.au>
parents:
5367
diff
changeset
|
443 ngx_feature_test="setsockopt(0, IPPROTO_TCP, TCP_FASTOPEN, NULL, 0)" |
692afcea9d0d
Added support for TCP_FASTOPEN supported in Linux >= 3.7.1.
Mathew Rodley <mathew@rodley.com.au>
parents:
5367
diff
changeset
|
444 . auto/feature |
692afcea9d0d
Added support for TCP_FASTOPEN supported in Linux >= 3.7.1.
Mathew Rodley <mathew@rodley.com.au>
parents:
5367
diff
changeset
|
445 |
692afcea9d0d
Added support for TCP_FASTOPEN supported in Linux >= 3.7.1.
Mathew Rodley <mathew@rodley.com.au>
parents:
5367
diff
changeset
|
446 |
4545
ba39af7274ed
Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents:
4543
diff
changeset
|
447 ngx_feature="TCP_INFO" |
ba39af7274ed
Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents:
4543
diff
changeset
|
448 ngx_feature_name="NGX_HAVE_TCP_INFO" |
ba39af7274ed
Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents:
4543
diff
changeset
|
449 ngx_feature_run=no |
ba39af7274ed
Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents:
4543
diff
changeset
|
450 ngx_feature_incs="#include <sys/socket.h> |
ba39af7274ed
Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents:
4543
diff
changeset
|
451 #include <netinet/in.h> |
ba39af7274ed
Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents:
4543
diff
changeset
|
452 #include <netinet/tcp.h>" |
ba39af7274ed
Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents:
4543
diff
changeset
|
453 ngx_feature_path= |
ba39af7274ed
Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents:
4543
diff
changeset
|
454 ngx_feature_libs= |
ba39af7274ed
Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents:
4543
diff
changeset
|
455 ngx_feature_test="socklen_t optlen = sizeof(struct tcp_info); |
4550
d29dc0486e8e
The addition of $tcpinfo_* variables has broken the build on Linux
Ruslan Ermilov <ru@nginx.com>
parents:
4545
diff
changeset
|
456 struct tcp_info ti; |
d29dc0486e8e
The addition of $tcpinfo_* variables has broken the build on Linux
Ruslan Ermilov <ru@nginx.com>
parents:
4545
diff
changeset
|
457 ti.tcpi_rtt = 0; |
d29dc0486e8e
The addition of $tcpinfo_* variables has broken the build on Linux
Ruslan Ermilov <ru@nginx.com>
parents:
4545
diff
changeset
|
458 ti.tcpi_rttvar = 0; |
d29dc0486e8e
The addition of $tcpinfo_* variables has broken the build on Linux
Ruslan Ermilov <ru@nginx.com>
parents:
4545
diff
changeset
|
459 ti.tcpi_snd_cwnd = 0; |
d29dc0486e8e
The addition of $tcpinfo_* variables has broken the build on Linux
Ruslan Ermilov <ru@nginx.com>
parents:
4545
diff
changeset
|
460 ti.tcpi_rcv_space = 0; |
4559
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4550
diff
changeset
|
461 getsockopt(0, IPPROTO_TCP, TCP_INFO, &ti, &optlen)" |
4545
ba39af7274ed
Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents:
4543
diff
changeset
|
462 . auto/feature |
ba39af7274ed
Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents:
4543
diff
changeset
|
463 |
ba39af7274ed
Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents:
4543
diff
changeset
|
464 |
3933
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
465 ngx_feature="accept4()" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
466 ngx_feature_name="NGX_HAVE_ACCEPT4" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
467 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
468 ngx_feature_incs="#include <sys/socket.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
469 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
470 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
471 ngx_feature_test="accept4(0, NULL, NULL, SOCK_NONBLOCK)" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
472 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
473 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
474 if [ $NGX_FILE_AIO = YES ]; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
475 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
476 ngx_feature="kqueue AIO support" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
477 ngx_feature_name="NGX_HAVE_FILE_AIO" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
478 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
479 ngx_feature_incs="#include <aio.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
480 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
481 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
482 ngx_feature_test="int n; struct aiocb iocb; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
483 iocb.aio_sigevent.sigev_notify = SIGEV_KEVENT; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
484 n = aio_read(&iocb)" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
485 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
486 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
487 if [ $ngx_found = yes ]; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
488 CORE_SRCS="$CORE_SRCS $FILE_AIO_SRCS" |
5707
31dd63dcb9ea
Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents:
5456
diff
changeset
|
489 fi |
3933
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
490 |
5707
31dd63dcb9ea
Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents:
5456
diff
changeset
|
491 if [ $ngx_found = no ]; then |
3933
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
492 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
493 ngx_feature="Linux AIO support" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
494 ngx_feature_name="NGX_HAVE_FILE_AIO" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
495 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
496 ngx_feature_incs="#include <linux/aio_abi.h> |
5707
31dd63dcb9ea
Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents:
5456
diff
changeset
|
497 #include <sys/eventfd.h>" |
3933
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
498 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
499 ngx_feature_libs= |
5707
31dd63dcb9ea
Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents:
5456
diff
changeset
|
500 ngx_feature_test="struct iocb iocb; |
31dd63dcb9ea
Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents:
5456
diff
changeset
|
501 iocb.aio_lio_opcode = IOCB_CMD_PREAD; |
31dd63dcb9ea
Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents:
5456
diff
changeset
|
502 iocb.aio_flags = IOCB_FLAG_RESFD; |
31dd63dcb9ea
Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents:
5456
diff
changeset
|
503 iocb.aio_resfd = -1; |
31dd63dcb9ea
Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents:
5456
diff
changeset
|
504 (void) eventfd(0, 0)" |
31dd63dcb9ea
Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents:
5456
diff
changeset
|
505 . auto/feature |
31dd63dcb9ea
Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents:
5456
diff
changeset
|
506 |
31dd63dcb9ea
Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents:
5456
diff
changeset
|
507 if [ $ngx_found = yes ]; then |
31dd63dcb9ea
Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents:
5456
diff
changeset
|
508 have=NGX_HAVE_EVENTFD . auto/have |
31dd63dcb9ea
Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents:
5456
diff
changeset
|
509 have=NGX_HAVE_SYS_EVENTFD_H . auto/have |
31dd63dcb9ea
Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents:
5456
diff
changeset
|
510 CORE_SRCS="$CORE_SRCS $LINUX_AIO_SRCS" |
31dd63dcb9ea
Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents:
5456
diff
changeset
|
511 fi |
31dd63dcb9ea
Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents:
5456
diff
changeset
|
512 fi |
31dd63dcb9ea
Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents:
5456
diff
changeset
|
513 |
31dd63dcb9ea
Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents:
5456
diff
changeset
|
514 if [ $ngx_found = no ]; then |
31dd63dcb9ea
Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents:
5456
diff
changeset
|
515 |
31dd63dcb9ea
Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents:
5456
diff
changeset
|
516 ngx_feature="Linux AIO support (SYS_eventfd)" |
31dd63dcb9ea
Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents:
5456
diff
changeset
|
517 ngx_feature_incs="#include <linux/aio_abi.h> |
31dd63dcb9ea
Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents:
5456
diff
changeset
|
518 #include <sys/syscall.h>" |
3933
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
519 ngx_feature_test="int n = SYS_eventfd; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
520 struct iocb iocb; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
521 iocb.aio_lio_opcode = IOCB_CMD_PREAD; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
522 iocb.aio_flags = IOCB_FLAG_RESFD; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
523 iocb.aio_resfd = -1;" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
524 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
525 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
526 if [ $ngx_found = yes ]; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
527 have=NGX_HAVE_EVENTFD . auto/have |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
528 CORE_SRCS="$CORE_SRCS $LINUX_AIO_SRCS" |
5707
31dd63dcb9ea
Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents:
5456
diff
changeset
|
529 fi |
31dd63dcb9ea
Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents:
5456
diff
changeset
|
530 fi |
3933
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
531 |
5707
31dd63dcb9ea
Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents:
5456
diff
changeset
|
532 if [ $ngx_found = no ]; then |
31dd63dcb9ea
Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents:
5456
diff
changeset
|
533 cat << END |
3933
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
534 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
535 $0: no supported file AIO was found |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
536 Currently file AIO is supported on FreeBSD 4.3+ and Linux 2.6.22+ only |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
537 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
538 END |
5707
31dd63dcb9ea
Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents:
5456
diff
changeset
|
539 exit 1 |
3933
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
540 fi |
6019
40e244e042a7
Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents:
6008
diff
changeset
|
541 |
40e244e042a7
Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents:
6008
diff
changeset
|
542 else |
40e244e042a7
Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents:
6008
diff
changeset
|
543 |
40e244e042a7
Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents:
6008
diff
changeset
|
544 ngx_feature="eventfd()" |
40e244e042a7
Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents:
6008
diff
changeset
|
545 ngx_feature_name="NGX_HAVE_EVENTFD" |
40e244e042a7
Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents:
6008
diff
changeset
|
546 ngx_feature_run=no |
40e244e042a7
Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents:
6008
diff
changeset
|
547 ngx_feature_incs="#include <sys/eventfd.h>" |
40e244e042a7
Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents:
6008
diff
changeset
|
548 ngx_feature_path= |
40e244e042a7
Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents:
6008
diff
changeset
|
549 ngx_feature_libs= |
40e244e042a7
Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents:
6008
diff
changeset
|
550 ngx_feature_test="(void) eventfd(0, 0)" |
40e244e042a7
Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents:
6008
diff
changeset
|
551 . auto/feature |
40e244e042a7
Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents:
6008
diff
changeset
|
552 |
40e244e042a7
Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents:
6008
diff
changeset
|
553 if [ $ngx_found = yes ]; then |
40e244e042a7
Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents:
6008
diff
changeset
|
554 have=NGX_HAVE_SYS_EVENTFD_H . auto/have |
40e244e042a7
Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents:
6008
diff
changeset
|
555 fi |
40e244e042a7
Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents:
6008
diff
changeset
|
556 |
40e244e042a7
Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents:
6008
diff
changeset
|
557 if [ $ngx_found = no ]; then |
40e244e042a7
Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents:
6008
diff
changeset
|
558 |
40e244e042a7
Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents:
6008
diff
changeset
|
559 ngx_feature="eventfd() (SYS_eventfd)" |
40e244e042a7
Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents:
6008
diff
changeset
|
560 ngx_feature_incs="#include <sys/syscall.h>" |
40e244e042a7
Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents:
6008
diff
changeset
|
561 ngx_feature_test="int n = SYS_eventfd" |
40e244e042a7
Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents:
6008
diff
changeset
|
562 . auto/feature |
40e244e042a7
Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents:
6008
diff
changeset
|
563 fi |
3933
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
564 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
565 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
566 |
479 | 567 have=NGX_HAVE_UNIX_DOMAIN . auto/have |
568 | |
583 | 569 ngx_feature_libs= |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
570 |
493 | 571 |
196
11fbd0fc041d
nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
195
diff
changeset
|
572 # C types |
11fbd0fc041d
nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
195
diff
changeset
|
573 |
267
83205e0b5522
nginx-0.0.2-2004-02-24-20:31:46 import
Igor Sysoev <igor@sysoev.ru>
parents:
256
diff
changeset
|
574 ngx_type="int"; . auto/types/sizeof |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
575 |
267
83205e0b5522
nginx-0.0.2-2004-02-24-20:31:46 import
Igor Sysoev <igor@sysoev.ru>
parents:
256
diff
changeset
|
576 ngx_type="long"; . auto/types/sizeof |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
577 |
267
83205e0b5522
nginx-0.0.2-2004-02-24-20:31:46 import
Igor Sysoev <igor@sysoev.ru>
parents:
256
diff
changeset
|
578 ngx_type="long long"; . auto/types/sizeof |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
579 |
370
54f76b0b8dca
nginx-0.0.7-2004-06-27-22:01:57 import
Igor Sysoev <igor@sysoev.ru>
parents:
361
diff
changeset
|
580 ngx_type="void *"; . auto/types/sizeof; ngx_ptr_size=$ngx_size |
493 | 581 ngx_param=NGX_PTR_SIZE; ngx_value=$ngx_size; . auto/types/value |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
582 |
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
583 |
253
b6793bc5034b
nginx-0.0.2-2004-02-09-10:46:43 import
Igor Sysoev <igor@sysoev.ru>
parents:
252
diff
changeset
|
584 # POSIX types |
196
11fbd0fc041d
nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
195
diff
changeset
|
585 |
6194
acba1656c474
Configure: fix tests with multi-level relative build directory.
Ruslan Ermilov <ru@nginx.com>
parents:
6153
diff
changeset
|
586 NGX_INCLUDE_AUTO_CONFIG_H="#include \"ngx_auto_config.h\"" |
196
11fbd0fc041d
nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
195
diff
changeset
|
587 |
6500
8426275a13fd
Compatibility with FreeBSD 2.2.9.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6436
diff
changeset
|
588 ngx_type="uint32_t"; ngx_types="u_int32_t"; . auto/types/typedef |
370
54f76b0b8dca
nginx-0.0.7-2004-06-27-22:01:57 import
Igor Sysoev <igor@sysoev.ru>
parents:
361
diff
changeset
|
589 ngx_type="uint64_t"; ngx_types="u_int64_t"; . auto/types/typedef |
196
11fbd0fc041d
nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
195
diff
changeset
|
590 |
370
54f76b0b8dca
nginx-0.0.7-2004-06-27-22:01:57 import
Igor Sysoev <igor@sysoev.ru>
parents:
361
diff
changeset
|
591 ngx_type="sig_atomic_t"; ngx_types="int"; . auto/types/typedef |
54f76b0b8dca
nginx-0.0.7-2004-06-27-22:01:57 import
Igor Sysoev <igor@sysoev.ru>
parents:
361
diff
changeset
|
592 . auto/types/sizeof |
477 | 593 ngx_param=NGX_SIG_ATOMIC_T_SIZE; ngx_value=$ngx_size; . auto/types/value |
252
84b1c672ec5a
nginx-0.0.2-2004-02-05-19:58:36 import
Igor Sysoev <igor@sysoev.ru>
parents:
218
diff
changeset
|
594 |
515 | 595 ngx_type="socklen_t"; ngx_types="int"; . auto/types/typedef |
196
11fbd0fc041d
nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
195
diff
changeset
|
596 |
6500
8426275a13fd
Compatibility with FreeBSD 2.2.9.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6436
diff
changeset
|
597 ngx_type="in_addr_t"; ngx_types="uint32_t u_int32_t"; . auto/types/typedef |
196
11fbd0fc041d
nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
195
diff
changeset
|
598 |
417
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
370
diff
changeset
|
599 ngx_type="in_port_t"; ngx_types="u_short"; . auto/types/typedef |
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
370
diff
changeset
|
600 |
370
54f76b0b8dca
nginx-0.0.7-2004-06-27-22:01:57 import
Igor Sysoev <igor@sysoev.ru>
parents:
361
diff
changeset
|
601 ngx_type="rlim_t"; ngx_types="int"; . auto/types/typedef |
196
11fbd0fc041d
nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
195
diff
changeset
|
602 |
11fbd0fc041d
nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
195
diff
changeset
|
603 . auto/types/uintptr_t |
11fbd0fc041d
nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
195
diff
changeset
|
604 |
4681
bb37a9cc08fb
Fixed spelling of "endianness", and called it "byte ordering" in the
Ruslan Ermilov <ru@nginx.com>
parents:
4563
diff
changeset
|
605 . auto/endianness |
370
54f76b0b8dca
nginx-0.0.7-2004-06-27-22:01:57 import
Igor Sysoev <igor@sysoev.ru>
parents:
361
diff
changeset
|
606 |
473 | 607 ngx_type="size_t"; . auto/types/sizeof |
477 | 608 ngx_param=NGX_MAX_SIZE_T_VALUE; ngx_value=$ngx_max_value; . auto/types/value |
609 ngx_param=NGX_SIZE_T_LEN; ngx_value=$ngx_max_len; . auto/types/value | |
196
11fbd0fc041d
nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
195
diff
changeset
|
610 |
473 | 611 ngx_type="off_t"; . auto/types/sizeof |
477 | 612 ngx_param=NGX_MAX_OFF_T_VALUE; ngx_value=$ngx_max_value; . auto/types/value |
613 ngx_param=NGX_OFF_T_LEN; ngx_value=$ngx_max_len; . auto/types/value | |
473 | 614 |
615 ngx_type="time_t"; . auto/types/sizeof | |
477 | 616 ngx_param=NGX_TIME_T_SIZE; ngx_value=$ngx_size; . auto/types/value |
617 ngx_param=NGX_TIME_T_LEN; ngx_value=$ngx_max_len; . auto/types/value | |
6008
b92d5a26d55f
Core: expose maximum values of time_t and ngx_int_t.
Ruslan Ermilov <ru@nginx.com>
parents:
5707
diff
changeset
|
618 ngx_param=NGX_MAX_TIME_T_VALUE; ngx_value=$ngx_max_value; . auto/types/value |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
619 |
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
620 |
358
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
621 # syscalls, libc calls and some features |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
622 |
455 | 623 |
2512
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2234
diff
changeset
|
624 if [ $NGX_IPV6 = YES ]; then |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2234
diff
changeset
|
625 ngx_feature="AF_INET6" |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2234
diff
changeset
|
626 ngx_feature_name="NGX_HAVE_INET6" |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2234
diff
changeset
|
627 ngx_feature_run=no |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2234
diff
changeset
|
628 ngx_feature_incs="#include <sys/socket.h> |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2234
diff
changeset
|
629 #include <netinet/in.h> |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2234
diff
changeset
|
630 #include <arpa/inet.h>" |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2234
diff
changeset
|
631 ngx_feature_path= |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2234
diff
changeset
|
632 ngx_feature_libs= |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2234
diff
changeset
|
633 ngx_feature_test="struct sockaddr_in6 sin6; |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2234
diff
changeset
|
634 sin6.sin6_family = AF_INET6;" |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2234
diff
changeset
|
635 . auto/feature |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2234
diff
changeset
|
636 fi |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2234
diff
changeset
|
637 |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2234
diff
changeset
|
638 |
467 | 639 ngx_feature="setproctitle()" |
469 | 640 ngx_feature_name="NGX_HAVE_SETPROCTITLE" |
467 | 641 ngx_feature_run=no |
4543
51744fa997c7
Fixed compilation warnings in configuration C tests.
Ruslan Ermilov <ru@nginx.com>
parents:
4475
diff
changeset
|
642 ngx_feature_incs="#include <stdlib.h>" |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
665
diff
changeset
|
643 ngx_feature_path= |
509 | 644 ngx_feature_libs=$NGX_SETPROCTITLE_LIB |
467 | 645 ngx_feature_test="setproctitle(\"test\");" |
646 . auto/feature | |
647 | |
648 | |
455 | 649 ngx_feature="pread()" |
469 | 650 ngx_feature_name="NGX_HAVE_PREAD" |
455 | 651 ngx_feature_run=no |
652 ngx_feature_incs= | |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
665
diff
changeset
|
653 ngx_feature_path= |
358
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
654 ngx_feature_libs= |
4559
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4550
diff
changeset
|
655 ngx_feature_test="char buf[1]; ssize_t n; n = pread(0, buf, 1, 0); |
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4550
diff
changeset
|
656 if (n == -1) return 1" |
455 | 657 . auto/feature |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
658 |
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
659 |
455 | 660 ngx_feature="pwrite()" |
469 | 661 ngx_feature_name="NGX_HAVE_PWRITE" |
455 | 662 ngx_feature_run=no |
663 ngx_feature_incs= | |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
665
diff
changeset
|
664 ngx_feature_path= |
455 | 665 ngx_feature_libs= |
4559
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4550
diff
changeset
|
666 ngx_feature_test="char buf[1]; ssize_t n; n = pwrite(1, buf, 1, 0); |
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4550
diff
changeset
|
667 if (n == -1) return 1" |
455 | 668 . auto/feature |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
669 |
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
670 |
6301
b5a87b51be24
Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents:
6194
diff
changeset
|
671 # pwritev() was introduced in FreeBSD 6 and Linux 2.6.30, glibc 2.10 |
b5a87b51be24
Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents:
6194
diff
changeset
|
672 |
b5a87b51be24
Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents:
6194
diff
changeset
|
673 ngx_feature="pwritev()" |
b5a87b51be24
Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents:
6194
diff
changeset
|
674 ngx_feature_name="NGX_HAVE_PWRITEV" |
b5a87b51be24
Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents:
6194
diff
changeset
|
675 ngx_feature_run=no |
b5a87b51be24
Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents:
6194
diff
changeset
|
676 ngx_feature_incs='#include <sys/uio.h>' |
b5a87b51be24
Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents:
6194
diff
changeset
|
677 ngx_feature_path= |
b5a87b51be24
Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents:
6194
diff
changeset
|
678 ngx_feature_libs= |
b5a87b51be24
Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents:
6194
diff
changeset
|
679 ngx_feature_test="char buf[1]; struct iovec vec[1]; ssize_t n; |
b5a87b51be24
Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents:
6194
diff
changeset
|
680 vec[0].iov_base = buf; |
b5a87b51be24
Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents:
6194
diff
changeset
|
681 vec[0].iov_len = 1; |
b5a87b51be24
Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents:
6194
diff
changeset
|
682 n = pwritev(1, vec, 1, 0); |
b5a87b51be24
Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents:
6194
diff
changeset
|
683 if (n == -1) return 1" |
b5a87b51be24
Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents:
6194
diff
changeset
|
684 . auto/feature |
b5a87b51be24
Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents:
6194
diff
changeset
|
685 |
b5a87b51be24
Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents:
6194
diff
changeset
|
686 |
3787
e294f37401c0
use copied strerror() messages and autoconfigured sys_nerr value
Igor Sysoev <igor@sysoev.ru>
parents:
3472
diff
changeset
|
687 ngx_feature="sys_nerr" |
e294f37401c0
use copied strerror() messages and autoconfigured sys_nerr value
Igor Sysoev <igor@sysoev.ru>
parents:
3472
diff
changeset
|
688 ngx_feature_name="NGX_SYS_NERR" |
e294f37401c0
use copied strerror() messages and autoconfigured sys_nerr value
Igor Sysoev <igor@sysoev.ru>
parents:
3472
diff
changeset
|
689 ngx_feature_run=value |
4302
52c881519427
o AIX 7 defines sys_nerr in errno.h, therefore <errno.h> included
Maxim Konovalov <maxim@nginx.com>
parents:
4016
diff
changeset
|
690 ngx_feature_incs='#include <errno.h> |
52c881519427
o AIX 7 defines sys_nerr in errno.h, therefore <errno.h> included
Maxim Konovalov <maxim@nginx.com>
parents:
4016
diff
changeset
|
691 #include <stdio.h>' |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
665
diff
changeset
|
692 ngx_feature_path= |
455 | 693 ngx_feature_libs= |
3787
e294f37401c0
use copied strerror() messages and autoconfigured sys_nerr value
Igor Sysoev <igor@sysoev.ru>
parents:
3472
diff
changeset
|
694 ngx_feature_test='printf("%d", sys_nerr);' |
3472
65481698535c
use sys_errlist[] in signal handler instead
Igor Sysoev <igor@sysoev.ru>
parents:
2916
diff
changeset
|
695 . auto/feature |
65481698535c
use sys_errlist[] in signal handler instead
Igor Sysoev <igor@sysoev.ru>
parents:
2916
diff
changeset
|
696 |
65481698535c
use sys_errlist[] in signal handler instead
Igor Sysoev <igor@sysoev.ru>
parents:
2916
diff
changeset
|
697 |
3819
5e1e406f10ff
test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents:
3811
diff
changeset
|
698 if [ $ngx_found = no ]; then |
3820 | 699 |
3819
5e1e406f10ff
test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents:
3811
diff
changeset
|
700 # Cygiwn defines _sys_nerr |
5e1e406f10ff
test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents:
3811
diff
changeset
|
701 ngx_feature="_sys_nerr" |
5e1e406f10ff
test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents:
3811
diff
changeset
|
702 ngx_feature_name="NGX_SYS_NERR" |
5e1e406f10ff
test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents:
3811
diff
changeset
|
703 ngx_feature_run=value |
5e1e406f10ff
test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents:
3811
diff
changeset
|
704 ngx_feature_incs='#include <errno.h> |
5e1e406f10ff
test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents:
3811
diff
changeset
|
705 #include <stdio.h>' |
5e1e406f10ff
test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents:
3811
diff
changeset
|
706 ngx_feature_path= |
5e1e406f10ff
test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents:
3811
diff
changeset
|
707 ngx_feature_libs= |
5e1e406f10ff
test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents:
3811
diff
changeset
|
708 ngx_feature_test='printf("%d", _sys_nerr);' |
5e1e406f10ff
test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents:
3811
diff
changeset
|
709 . auto/feature |
5e1e406f10ff
test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents:
3811
diff
changeset
|
710 fi |
3811
4af1c7f53711
fix building by Cygwin: Cygwin defines _sys_nerr instead of sys_nerr,
Igor Sysoev <igor@sysoev.ru>
parents:
3787
diff
changeset
|
711 |
4af1c7f53711
fix building by Cygwin: Cygwin defines _sys_nerr instead of sys_nerr,
Igor Sysoev <igor@sysoev.ru>
parents:
3787
diff
changeset
|
712 |
3821
573cd56f006b
test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents:
3820
diff
changeset
|
713 if [ $ngx_found = no ]; then |
573cd56f006b
test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents:
3820
diff
changeset
|
714 |
573cd56f006b
test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents:
3820
diff
changeset
|
715 # Solaris has no sys_nerr |
573cd56f006b
test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents:
3820
diff
changeset
|
716 ngx_feature='maximum errno' |
573cd56f006b
test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents:
3820
diff
changeset
|
717 ngx_feature_name=NGX_SYS_NERR |
573cd56f006b
test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents:
3820
diff
changeset
|
718 ngx_feature_run=value |
573cd56f006b
test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents:
3820
diff
changeset
|
719 ngx_feature_incs='#include <errno.h> |
3908 | 720 #include <string.h> |
3821
573cd56f006b
test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents:
3820
diff
changeset
|
721 #include <stdio.h>' |
573cd56f006b
test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents:
3820
diff
changeset
|
722 ngx_feature_path= |
573cd56f006b
test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents:
3820
diff
changeset
|
723 ngx_feature_libs= |
573cd56f006b
test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents:
3820
diff
changeset
|
724 ngx_feature_test='int n; |
3901 | 725 char *p; |
3821
573cd56f006b
test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents:
3820
diff
changeset
|
726 for (n = 1; n < 1000; n++) { |
573cd56f006b
test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents:
3820
diff
changeset
|
727 errno = 0; |
3901 | 728 p = strerror(n); |
729 if (errno == EINVAL | |
730 || p == NULL | |
731 || strncmp(p, "Unknown error", 13) == 0) | |
732 { | |
4302
52c881519427
o AIX 7 defines sys_nerr in errno.h, therefore <errno.h> included
Maxim Konovalov <maxim@nginx.com>
parents:
4016
diff
changeset
|
733 break; |
3821
573cd56f006b
test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents:
3820
diff
changeset
|
734 } |
4302
52c881519427
o AIX 7 defines sys_nerr in errno.h, therefore <errno.h> included
Maxim Konovalov <maxim@nginx.com>
parents:
4016
diff
changeset
|
735 } |
52c881519427
o AIX 7 defines sys_nerr in errno.h, therefore <errno.h> included
Maxim Konovalov <maxim@nginx.com>
parents:
4016
diff
changeset
|
736 printf("%d", n);' |
3821
573cd56f006b
test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents:
3820
diff
changeset
|
737 . auto/feature |
573cd56f006b
test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents:
3820
diff
changeset
|
738 fi |
573cd56f006b
test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents:
3820
diff
changeset
|
739 |
573cd56f006b
test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents:
3820
diff
changeset
|
740 |
455 | 741 ngx_feature="localtime_r()" |
469 | 742 ngx_feature_name="NGX_HAVE_LOCALTIME_R" |
455 | 743 ngx_feature_run=no |
744 ngx_feature_incs="#include <time.h>" | |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
665
diff
changeset
|
745 ngx_feature_path= |
455 | 746 ngx_feature_libs= |
747 ngx_feature_test="struct tm t; time_t c=0; localtime_r(&c, &t)" | |
748 . auto/feature | |
256
8e39cab6abd5
nginx-0.0.2-2004-02-10-19:23:38 import
Igor Sysoev <igor@sysoev.ru>
parents:
253
diff
changeset
|
749 |
8e39cab6abd5
nginx-0.0.2-2004-02-10-19:23:38 import
Igor Sysoev <igor@sysoev.ru>
parents:
253
diff
changeset
|
750 |
455 | 751 ngx_feature="posix_memalign()" |
469 | 752 ngx_feature_name="NGX_HAVE_POSIX_MEMALIGN" |
455 | 753 ngx_feature_run=no |
754 ngx_feature_incs="#include <stdlib.h>" | |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
665
diff
changeset
|
755 ngx_feature_path= |
455 | 756 ngx_feature_libs= |
4559
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4550
diff
changeset
|
757 ngx_feature_test="void *p; int n; n = posix_memalign(&p, 4096, 4096); |
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4550
diff
changeset
|
758 if (n != 0) return 1" |
455 | 759 . auto/feature |
346
55e496a8ece3
nginx-0.0.3-2004-06-06-23:49:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
760 |
55e496a8ece3
nginx-0.0.3-2004-06-06-23:49:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
761 |
455 | 762 ngx_feature="memalign()" |
469 | 763 ngx_feature_name="NGX_HAVE_MEMALIGN" |
455 | 764 ngx_feature_run=no |
4543
51744fa997c7
Fixed compilation warnings in configuration C tests.
Ruslan Ermilov <ru@nginx.com>
parents:
4475
diff
changeset
|
765 ngx_feature_incs="#include <stdlib.h> |
51744fa997c7
Fixed compilation warnings in configuration C tests.
Ruslan Ermilov <ru@nginx.com>
parents:
4475
diff
changeset
|
766 #include <malloc.h>" |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
665
diff
changeset
|
767 ngx_feature_path= |
455 | 768 ngx_feature_libs= |
4559
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4550
diff
changeset
|
769 ngx_feature_test="void *p; p = memalign(4096, 4096); |
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4550
diff
changeset
|
770 if (p == NULL) return 1" |
455 | 771 . auto/feature |
346
55e496a8ece3
nginx-0.0.3-2004-06-06-23:49:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
772 |
55e496a8ece3
nginx-0.0.3-2004-06-06-23:49:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
773 |
358
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
774 ngx_feature="mmap(MAP_ANON|MAP_SHARED)" |
469 | 775 ngx_feature_name="NGX_HAVE_MAP_ANON" |
455 | 776 ngx_feature_run=yes |
777 ngx_feature_incs="#include <sys/mman.h>" | |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
665
diff
changeset
|
778 ngx_feature_path= |
455 | 779 ngx_feature_libs= |
358
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
780 ngx_feature_test="void *p; |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
781 p = mmap(NULL, 4096, PROT_READ|PROT_WRITE, |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
782 MAP_ANON|MAP_SHARED, -1, 0); |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
783 if (p == MAP_FAILED) return 1;" |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
784 . auto/feature |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
785 |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
786 |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
787 ngx_feature='mmap("/dev/zero", MAP_SHARED)' |
469 | 788 ngx_feature_name="NGX_HAVE_MAP_DEVZERO" |
455 | 789 ngx_feature_run=yes |
790 ngx_feature_incs="#include <sys/mman.h> | |
2598 | 791 #include <sys/stat.h> |
792 #include <fcntl.h>" | |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
665
diff
changeset
|
793 ngx_feature_path= |
455 | 794 ngx_feature_libs= |
358
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
795 ngx_feature_test='void *p; int fd; |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
796 fd = open("/dev/zero", O_RDWR); |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
797 p = mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
798 if (p == MAP_FAILED) return 1;' |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
799 . auto/feature |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
800 |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
801 |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
802 ngx_feature="System V shared memory" |
469 | 803 ngx_feature_name="NGX_HAVE_SYSVSHM" |
455 | 804 ngx_feature_run=yes |
805 ngx_feature_incs="#include <sys/ipc.h> | |
2598 | 806 #include <sys/shm.h>" |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
665
diff
changeset
|
807 ngx_feature_path= |
455 | 808 ngx_feature_libs= |
358
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
809 ngx_feature_test="int id; |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
810 id = shmget(IPC_PRIVATE, 4096, (SHM_R|SHM_W|IPC_CREAT)); |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
811 if (id == -1) return 1; |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
812 shmctl(id, IPC_RMID, NULL);" |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
813 . auto/feature |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
814 |
355
0fb6c53fb135
nginx-0.0.7-2004-06-15-21:47:16 import
Igor Sysoev <igor@sysoev.ru>
parents:
346
diff
changeset
|
815 |
3909
0daede16d68b
use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents:
3908
diff
changeset
|
816 ngx_feature="POSIX semaphores" |
0daede16d68b
use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents:
3908
diff
changeset
|
817 ngx_feature_name="NGX_HAVE_POSIX_SEM" |
0daede16d68b
use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents:
3908
diff
changeset
|
818 ngx_feature_run=yes |
0daede16d68b
use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents:
3908
diff
changeset
|
819 ngx_feature_incs="#include <semaphore.h>" |
0daede16d68b
use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents:
3908
diff
changeset
|
820 ngx_feature_path= |
0daede16d68b
use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents:
3908
diff
changeset
|
821 ngx_feature_libs= |
0daede16d68b
use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents:
3908
diff
changeset
|
822 ngx_feature_test="sem_t sem; |
0daede16d68b
use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents:
3908
diff
changeset
|
823 if (sem_init(&sem, 1, 0) == -1) return 1; |
0daede16d68b
use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents:
3908
diff
changeset
|
824 sem_destroy(&sem);" |
0daede16d68b
use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents:
3908
diff
changeset
|
825 . auto/feature |
0daede16d68b
use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents:
3908
diff
changeset
|
826 |
0daede16d68b
use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents:
3908
diff
changeset
|
827 |
3931
c8884c8f7c74
Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents:
3909
diff
changeset
|
828 if [ $ngx_found = no ]; then |
c8884c8f7c74
Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents:
3909
diff
changeset
|
829 |
c8884c8f7c74
Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents:
3909
diff
changeset
|
830 # Linux has POSIX semaphores in libpthread |
c8884c8f7c74
Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents:
3909
diff
changeset
|
831 ngx_feature="POSIX semaphores in libpthread" |
c8884c8f7c74
Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents:
3909
diff
changeset
|
832 ngx_feature_libs=-lpthread |
c8884c8f7c74
Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents:
3909
diff
changeset
|
833 . auto/feature |
c8884c8f7c74
Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents:
3909
diff
changeset
|
834 |
c8884c8f7c74
Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents:
3909
diff
changeset
|
835 if [ $ngx_found = yes ]; then |
c8884c8f7c74
Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents:
3909
diff
changeset
|
836 CORE_LIBS="$CORE_LIBS -lpthread" |
c8884c8f7c74
Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents:
3909
diff
changeset
|
837 fi |
c8884c8f7c74
Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents:
3909
diff
changeset
|
838 fi |
c8884c8f7c74
Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents:
3909
diff
changeset
|
839 |
c8884c8f7c74
Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents:
3909
diff
changeset
|
840 |
4003
8cca96abbc3e
Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents:
3933
diff
changeset
|
841 if [ $ngx_found = no ]; then |
8cca96abbc3e
Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents:
3933
diff
changeset
|
842 |
8cca96abbc3e
Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents:
3933
diff
changeset
|
843 # Solaris has POSIX semaphores in librt |
8cca96abbc3e
Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents:
3933
diff
changeset
|
844 ngx_feature="POSIX semaphores in librt" |
8cca96abbc3e
Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents:
3933
diff
changeset
|
845 ngx_feature_libs=-lrt |
8cca96abbc3e
Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents:
3933
diff
changeset
|
846 . auto/feature |
8cca96abbc3e
Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents:
3933
diff
changeset
|
847 |
8cca96abbc3e
Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents:
3933
diff
changeset
|
848 if [ $ngx_found = yes ]; then |
8cca96abbc3e
Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents:
3933
diff
changeset
|
849 CORE_LIBS="$CORE_LIBS -lrt" |
8cca96abbc3e
Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents:
3933
diff
changeset
|
850 fi |
8cca96abbc3e
Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents:
3933
diff
changeset
|
851 fi |
8cca96abbc3e
Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents:
3933
diff
changeset
|
852 |
8cca96abbc3e
Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents:
3933
diff
changeset
|
853 |
358
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
854 ngx_feature="struct msghdr.msg_control" |
469 | 855 ngx_feature_name="NGX_HAVE_MSGHDR_MSG_CONTROL" |
455 | 856 ngx_feature_run=no |
4559
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4550
diff
changeset
|
857 ngx_feature_incs="#include <sys/socket.h> |
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4550
diff
changeset
|
858 #include <stdio.h>" |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
665
diff
changeset
|
859 ngx_feature_path= |
455 | 860 ngx_feature_libs= |
4563
cc038cc834be
Configure: fixed msghdr.msg_control test on 64bit platforms.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4559
diff
changeset
|
861 ngx_feature_test="struct msghdr msg; |
cc038cc834be
Configure: fixed msghdr.msg_control test on 64bit platforms.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4559
diff
changeset
|
862 printf(\"%d\", (int) sizeof(msg.msg_control))" |
358
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
863 . auto/feature |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
864 |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
865 |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
866 ngx_feature="ioctl(FIONBIO)" |
469 | 867 ngx_feature_name="NGX_HAVE_FIONBIO" |
455 | 868 ngx_feature_run=no |
869 ngx_feature_incs="#include <sys/ioctl.h> | |
4559
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4550
diff
changeset
|
870 #include <stdio.h> |
2598 | 871 $NGX_INCLUDE_SYS_FILIO_H" |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
665
diff
changeset
|
872 ngx_feature_path= |
455 | 873 ngx_feature_libs= |
4559
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4550
diff
changeset
|
874 ngx_feature_test="int i = FIONBIO; printf(\"%d\", i)" |
358
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
875 . auto/feature |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
876 |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
877 |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
878 ngx_feature="struct tm.tm_gmtoff" |
469 | 879 ngx_feature_name="NGX_HAVE_GMTOFF" |
455 | 880 ngx_feature_run=no |
4559
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4550
diff
changeset
|
881 ngx_feature_incs="#include <time.h> |
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4550
diff
changeset
|
882 #include <stdio.h>" |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
665
diff
changeset
|
883 ngx_feature_path= |
455 | 884 ngx_feature_libs= |
4559
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4550
diff
changeset
|
885 ngx_feature_test="struct tm tm; tm.tm_gmtoff = 0; |
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4550
diff
changeset
|
886 printf(\"%d\", (int) tm.tm_gmtoff)" |
358
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
887 . auto/feature |
2234
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
888 |
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
889 |
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
890 ngx_feature="struct dirent.d_namlen" |
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
891 ngx_feature_name="NGX_HAVE_D_NAMLEN" |
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
892 ngx_feature_run=no |
4559
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4550
diff
changeset
|
893 ngx_feature_incs="#include <dirent.h> |
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4550
diff
changeset
|
894 #include <stdio.h>" |
2234
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
895 ngx_feature_path= |
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
896 ngx_feature_libs= |
4559
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4550
diff
changeset
|
897 ngx_feature_test="struct dirent dir; dir.d_namlen = 0; |
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4550
diff
changeset
|
898 printf(\"%d\", (int) dir.d_namlen)" |
2234
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
899 . auto/feature |
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
900 |
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
901 |
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
902 ngx_feature="struct dirent.d_type" |
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
903 ngx_feature_name="NGX_HAVE_D_TYPE" |
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
904 ngx_feature_run=no |
4559
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4550
diff
changeset
|
905 ngx_feature_incs="#include <dirent.h> |
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4550
diff
changeset
|
906 #include <stdio.h>" |
2234
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
907 ngx_feature_path= |
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
908 ngx_feature_libs= |
4559
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4550
diff
changeset
|
909 ngx_feature_test="struct dirent dir; dir.d_type = DT_REG; |
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4550
diff
changeset
|
910 printf(\"%d\", (int) dir.d_type)" |
2234
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
911 . auto/feature |
4459
ccb2f8e3d08d
Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents:
4412
diff
changeset
|
912 |
ccb2f8e3d08d
Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents:
4412
diff
changeset
|
913 |
ccb2f8e3d08d
Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents:
4412
diff
changeset
|
914 ngx_feature="sysconf(_SC_NPROCESSORS_ONLN)" |
ccb2f8e3d08d
Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents:
4412
diff
changeset
|
915 ngx_feature_name="NGX_HAVE_SC_NPROCESSORS_ONLN" |
ccb2f8e3d08d
Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents:
4412
diff
changeset
|
916 ngx_feature_run=no |
ccb2f8e3d08d
Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents:
4412
diff
changeset
|
917 ngx_feature_incs= |
ccb2f8e3d08d
Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents:
4412
diff
changeset
|
918 ngx_feature_path= |
ccb2f8e3d08d
Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents:
4412
diff
changeset
|
919 ngx_feature_libs= |
ccb2f8e3d08d
Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents:
4412
diff
changeset
|
920 ngx_feature_test="sysconf(_SC_NPROCESSORS_ONLN)" |
ccb2f8e3d08d
Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents:
4412
diff
changeset
|
921 . auto/feature |
4475 | 922 |
923 | |
924 ngx_feature="openat(), fstatat()" | |
925 ngx_feature_name="NGX_HAVE_OPENAT" | |
926 ngx_feature_run=no | |
927 ngx_feature_incs="#include <sys/types.h> | |
928 #include <sys/stat.h> | |
929 #include <fcntl.h>" | |
930 ngx_feature_path= | |
931 ngx_feature_libs= | |
932 ngx_feature_test="struct stat sb; | |
933 openat(AT_FDCWD, \".\", O_RDONLY|O_NOFOLLOW); | |
934 fstatat(AT_FDCWD, \".\", &sb, AT_SYMLINK_NOFOLLOW);" | |
935 . auto/feature | |
4971
eaf95350d75c
Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents:
4681
diff
changeset
|
936 |
eaf95350d75c
Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents:
4681
diff
changeset
|
937 |
eaf95350d75c
Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents:
4681
diff
changeset
|
938 ngx_feature="getaddrinfo()" |
eaf95350d75c
Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents:
4681
diff
changeset
|
939 ngx_feature_name="NGX_HAVE_GETADDRINFO" |
eaf95350d75c
Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents:
4681
diff
changeset
|
940 ngx_feature_run=no |
eaf95350d75c
Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents:
4681
diff
changeset
|
941 ngx_feature_incs="#include <sys/types.h> |
eaf95350d75c
Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents:
4681
diff
changeset
|
942 #include <sys/socket.h> |
eaf95350d75c
Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents:
4681
diff
changeset
|
943 #include <netdb.h>" |
eaf95350d75c
Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents:
4681
diff
changeset
|
944 ngx_feature_path= |
eaf95350d75c
Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents:
4681
diff
changeset
|
945 ngx_feature_libs= |
5314
0300d97c6084
Core: guard use of AI_ADDRCONFIG.
Ruslan Ermilov <ru@nginx.com>
parents:
5312
diff
changeset
|
946 ngx_feature_test='struct addrinfo *res; |
0300d97c6084
Core: guard use of AI_ADDRCONFIG.
Ruslan Ermilov <ru@nginx.com>
parents:
5312
diff
changeset
|
947 if (getaddrinfo("localhost", NULL, NULL, &res) != 0) return 1; |
4971
eaf95350d75c
Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents:
4681
diff
changeset
|
948 freeaddrinfo(res)' |
eaf95350d75c
Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents:
4681
diff
changeset
|
949 . auto/feature |