annotate auto/unix @ 6806:75dbab4ea930

Events: improved error event handling for UDP sockets. Normally, the epoll module calls the read and write handlers depending on whether EPOLLIN and EPOLLOUT are reported by epoll_wait(). No error processing is done in the module, the handlers are expected to get an error when doing I/O. If an error event is reported without EPOLLIN and EPOLLOUT, the module set both EPOLLIN and EPOLLOUT to ensure the error event is handled at least in one active handler. This works well unless the error is delivered along with only one of EPOLLIN or EPOLLOUT, and the corresponding handler does not do any I/O. For example, it happened when getting EPOLLERR|EPOLLOUT from epoll_wait() upon receiving "ICMP port unreachable" while proxying UDP. As the write handler had nothing to send it was not able to detect and log an error, and did not switch to the next upstream. The fix is to unconditionally set EPOLLIN and EPOLLOUT in case of an error event. In the aforementioned case, this causes the read handler to be called which does recv() and detects an error. In addition to the epoll module, analogous changes were made in devpoll/eventport/poll.
author Dmitry Volyntsev <xeioex@nginx.com>
date Mon, 21 Nov 2016 16:03:42 +0300
parents a6d116645c51
children dbb0c854e308
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
d620f497c50f Copyright updated.
Maxim Konovalov <maxim@nginx.com>
parents: 4323
diff changeset
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=
6622
e393c0bf53d3 Configure: fix build with -Werror=unused-but-set-variable.
Piotr Sikora <piotrsikora@google.com>
parents: 6620
diff changeset
78 ngx_feature_test="(void) kqueue()"
3933
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;
6622
e393c0bf53d3 Configure: fix build with -Werror=unused-but-set-variable.
Piotr Sikora <piotrsikora@google.com>
parents: 6620
diff changeset
95 kev.fflags = NOTE_LOWAT;
e393c0bf53d3 Configure: fix build with -Werror=unused-but-set-variable.
Piotr Sikora <piotrsikora@google.com>
parents: 6620
diff changeset
96 (void) kev"
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
97 . auto/feature
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
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
100 ngx_feature="kqueue's EVFILT_TIMER"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
101 ngx_feature_name="NGX_HAVE_TIMER_EVENT"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
102 ngx_feature_run=yes
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
103 ngx_feature_incs="#include <sys/event.h>
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
104 #include <sys/time.h>"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
105 ngx_feature_path=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
106 ngx_feature_libs=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
107 ngx_feature_test="int kq;
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
108 struct kevent kev;
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
109 struct timespec ts;
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
110
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
111 if ((kq = kqueue()) == -1) return 1;
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
112
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
113 kev.ident = 0;
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
114 kev.filter = EVFILT_TIMER;
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
115 kev.flags = EV_ADD|EV_ENABLE;
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
116 kev.fflags = 0;
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
117 kev.data = 1000;
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
118 kev.udata = 0;
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
119
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
120 ts.tv_sec = 0;
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
121 ts.tv_nsec = 0;
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
122
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
123 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
124
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
125 if (kev.flags & EV_ERROR) return 1;"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
126
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
127 . auto/feature
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 fi
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
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
132 if [ "$NGX_SYSTEM" = "NetBSD" ]; then
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
133
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
134 # 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
135
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
136 cat << END >> $NGX_AUTO_CONFIG_H
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
137
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
138 #define NGX_KQUEUE_UDATA_T
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
139
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
140 END
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
141
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
142 else
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
143 cat << END >> $NGX_AUTO_CONFIG_H
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
144
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
145 #define NGX_KQUEUE_UDATA_T (void *)
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
146
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
147 END
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
148
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
149 fi
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
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
152 ngx_feature="crypt()"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
153 ngx_feature_name=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
154 ngx_feature_run=no
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
155 ngx_feature_incs=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
156 ngx_feature_path=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
157 ngx_feature_libs=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
158 ngx_feature_test="crypt(\"test\", \"salt\");"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
159 . auto/feature
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
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
162 if [ $ngx_found = no ]; then
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
163
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
164 ngx_feature="crypt() in libcrypt"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
165 ngx_feature_name=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
166 ngx_feature_run=no
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
167 ngx_feature_incs=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
168 ngx_feature_path=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
169 ngx_feature_libs=-lcrypt
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
170 . auto/feature
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
171
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
172 if [ $ngx_found = yes ]; then
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
173 CRYPT_LIB="-lcrypt"
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 fi
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
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
178 ngx_feature="F_READAHEAD"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
179 ngx_feature_name="NGX_HAVE_F_READAHEAD"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
180 ngx_feature_run=no
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
181 ngx_feature_incs="#include <fcntl.h>"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
182 ngx_feature_path=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
183 ngx_feature_libs=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
184 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
185 . auto/feature
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
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
188 ngx_feature="posix_fadvise()"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
189 ngx_feature_name="NGX_HAVE_POSIX_FADVISE"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
190 ngx_feature_run=no
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
191 ngx_feature_incs="#include <fcntl.h>"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
192 ngx_feature_path=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
193 ngx_feature_libs=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
194 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
195 . auto/feature
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
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
198 ngx_feature="O_DIRECT"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
199 ngx_feature_name="NGX_HAVE_O_DIRECT"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
200 ngx_feature_run=no
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
201 ngx_feature_incs="#include <fcntl.h>"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
202 ngx_feature_path=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
203 ngx_feature_libs=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
204 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
205 . auto/feature
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
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
208 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
209 have=NGX_HAVE_ALIGNED_DIRECTIO . auto/have
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
210 fi
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
211
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
212 ngx_feature="F_NOCACHE"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
213 ngx_feature_name="NGX_HAVE_F_NOCACHE"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
214 ngx_feature_run=no
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
215 ngx_feature_incs="#include <fcntl.h>"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
216 ngx_feature_path=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
217 ngx_feature_libs=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
218 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
219 . auto/feature
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
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
222 ngx_feature="directio()"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
223 ngx_feature_name="NGX_HAVE_DIRECTIO"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
224 ngx_feature_run=no
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
225 ngx_feature_incs="#include <sys/types.h>
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
226 #include <sys/fcntl.h>"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
227 ngx_feature_path=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
228 ngx_feature_libs=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
229 ngx_feature_test="directio(0, DIRECTIO_ON);"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
230 . auto/feature
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
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
233 ngx_feature="statfs()"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
234 ngx_feature_name="NGX_HAVE_STATFS"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
235 ngx_feature_run=no
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
236 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
237 $NGX_INCLUDE_SYS_MOUNT_H
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
238 $NGX_INCLUDE_SYS_VFS_H"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
239 ngx_feature_path=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
240 ngx_feature_libs=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
241 ngx_feature_test="struct statfs fs;
4543
51744fa997c7 Fixed compilation warnings in configuration C tests.
Ruslan Ermilov <ru@nginx.com>
parents: 4475
diff changeset
242 statfs(\".\", &fs);"
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
243 . auto/feature
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
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
246 ngx_feature="statvfs()"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
247 ngx_feature_name="NGX_HAVE_STATVFS"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
248 ngx_feature_run=no
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
249 ngx_feature_incs="#include <sys/types.h>
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
250 #include <sys/statvfs.h>"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
251 ngx_feature_path=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
252 ngx_feature_libs=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
253 ngx_feature_test="struct statvfs fs;
4543
51744fa997c7 Fixed compilation warnings in configuration C tests.
Ruslan Ermilov <ru@nginx.com>
parents: 4475
diff changeset
254 statvfs(\".\", &fs);"
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
255 . auto/feature
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
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
258 ngx_feature="dlopen()"
6380
7142b04337d6 Dynamic modules: dlopen() support.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6301
diff changeset
259 ngx_feature_name="NGX_HAVE_DLOPEN"
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
260 ngx_feature_run=no
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
261 ngx_feature_incs="#include <dlfcn.h>"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
262 ngx_feature_path=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
263 ngx_feature_libs=
6623
0bf08d9c82c1 Configure: fix build with -Werror=nonnull.
Piotr Sikora <piotrsikora@google.com>
parents: 6622
diff changeset
264 ngx_feature_test="dlopen(NULL, RTLD_NOW | RTLD_GLOBAL); dlsym(NULL, \"\")"
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
265 . auto/feature
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
6620
b2ae25f274ad Configure: style.
Piotr Sikora <piotrsikora@google.com>
parents: 6592
diff changeset
268 if [ $ngx_found = no ]; then
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
269
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
270 ngx_feature="dlopen() in libdl"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
271 ngx_feature_libs="-ldl"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
272 . auto/feature
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
273
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
274 if [ $ngx_found = yes ]; then
6380
7142b04337d6 Dynamic modules: dlopen() support.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6301
diff changeset
275 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
276 NGX_LIBDL="-ldl"
3933
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 fi
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
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
281 ngx_feature="sched_yield()"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
282 ngx_feature_name="NGX_HAVE_SCHED_YIELD"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
283 ngx_feature_run=no
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
284 ngx_feature_incs="#include <sched.h>"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
285 ngx_feature_path=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
286 ngx_feature_libs=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
287 ngx_feature_test="sched_yield()"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
288 . auto/feature
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
6620
b2ae25f274ad Configure: style.
Piotr Sikora <piotrsikora@google.com>
parents: 6592
diff changeset
291 if [ $ngx_found = no ]; then
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
292
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
293 ngx_feature="sched_yield() in librt"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
294 ngx_feature_libs="-lrt"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
295 . auto/feature
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
296
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
297 if [ $ngx_found = yes ]; then
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
298 CORE_LIBS="$CORE_LIBS -lrt"
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 fi
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
301
4016
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
302
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
303 ngx_feature="SO_SETFIB"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
304 ngx_feature_name="NGX_HAVE_SETFIB"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
305 ngx_feature_run=no
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
306 ngx_feature_incs="#include <sys/socket.h>"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
307 ngx_feature_path=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
308 ngx_feature_libs=
6150
0371ef1c24a9 Configure: style.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6019
diff changeset
309 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
310 . auto/feature
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
311
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
312
6153
4f6efabcb09b The "reuseport" option of the "listen" directive.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6150
diff changeset
313 ngx_feature="SO_REUSEPORT"
4f6efabcb09b The "reuseport" option of the "listen" directive.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6150
diff changeset
314 ngx_feature_name="NGX_HAVE_REUSEPORT"
4f6efabcb09b The "reuseport" option of the "listen" directive.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6150
diff changeset
315 ngx_feature_run=no
4f6efabcb09b The "reuseport" option of the "listen" directive.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6150
diff changeset
316 ngx_feature_incs="#include <sys/socket.h>"
4f6efabcb09b The "reuseport" option of the "listen" directive.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6150
diff changeset
317 ngx_feature_path=
4f6efabcb09b The "reuseport" option of the "listen" directive.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6150
diff changeset
318 ngx_feature_libs=
4f6efabcb09b The "reuseport" option of the "listen" directive.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6150
diff changeset
319 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
320 . auto/feature
4f6efabcb09b The "reuseport" option of the "listen" directive.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6150
diff changeset
321
4f6efabcb09b The "reuseport" option of the "listen" directive.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6150
diff changeset
322
4016
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
323 ngx_feature="SO_ACCEPTFILTER"
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
324 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
325 ngx_feature_run=no
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
326 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
327 ngx_feature_path=
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
328 ngx_feature_libs=
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
329 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
330 . auto/feature
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
331
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
332
6530
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
333 # 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
334
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
335 ngx_feature="SO_BINDANY"
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
336 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
337 ngx_feature_run=no
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
338 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
339 ngx_feature_path=
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
340 ngx_feature_libs=
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
341 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
342 . auto/feature
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
6592
2c7b488a61fb Set IP_BIND_ADDRESS_NO_PORT socket option for upstream sockets.
Andrei Belov <defan@nginx.com>
parents: 6530
diff changeset
345 # Linux IP_BIND_ADDRESS_NO_PORT
2c7b488a61fb Set IP_BIND_ADDRESS_NO_PORT socket option for upstream sockets.
Andrei Belov <defan@nginx.com>
parents: 6530
diff changeset
346
2c7b488a61fb Set IP_BIND_ADDRESS_NO_PORT socket option for upstream sockets.
Andrei Belov <defan@nginx.com>
parents: 6530
diff changeset
347 ngx_feature="IP_BIND_ADDRESS_NO_PORT"
2c7b488a61fb Set IP_BIND_ADDRESS_NO_PORT socket option for upstream sockets.
Andrei Belov <defan@nginx.com>
parents: 6530
diff changeset
348 ngx_feature_name="NGX_HAVE_IP_BIND_ADDRESS_NO_PORT"
2c7b488a61fb Set IP_BIND_ADDRESS_NO_PORT socket option for upstream sockets.
Andrei Belov <defan@nginx.com>
parents: 6530
diff changeset
349 ngx_feature_run=no
2c7b488a61fb Set IP_BIND_ADDRESS_NO_PORT socket option for upstream sockets.
Andrei Belov <defan@nginx.com>
parents: 6530
diff changeset
350 ngx_feature_incs="#include <sys/socket.h>
2c7b488a61fb Set IP_BIND_ADDRESS_NO_PORT socket option for upstream sockets.
Andrei Belov <defan@nginx.com>
parents: 6530
diff changeset
351 #include <netinet/in.h>"
2c7b488a61fb Set IP_BIND_ADDRESS_NO_PORT socket option for upstream sockets.
Andrei Belov <defan@nginx.com>
parents: 6530
diff changeset
352 ngx_feature_path=
2c7b488a61fb Set IP_BIND_ADDRESS_NO_PORT socket option for upstream sockets.
Andrei Belov <defan@nginx.com>
parents: 6530
diff changeset
353 ngx_feature_libs=
2c7b488a61fb Set IP_BIND_ADDRESS_NO_PORT socket option for upstream sockets.
Andrei Belov <defan@nginx.com>
parents: 6530
diff changeset
354 ngx_feature_test="setsockopt(0, IPPROTO_IP, IP_BIND_ADDRESS_NO_PORT, NULL, 0)"
2c7b488a61fb Set IP_BIND_ADDRESS_NO_PORT socket option for upstream sockets.
Andrei Belov <defan@nginx.com>
parents: 6530
diff changeset
355 . auto/feature
2c7b488a61fb Set IP_BIND_ADDRESS_NO_PORT socket option for upstream sockets.
Andrei Belov <defan@nginx.com>
parents: 6530
diff changeset
356
2c7b488a61fb Set IP_BIND_ADDRESS_NO_PORT socket option for upstream sockets.
Andrei Belov <defan@nginx.com>
parents: 6530
diff changeset
357
6530
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
358 # Linux transparent proxying
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
359
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
360 ngx_feature="IP_TRANSPARENT"
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
361 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
362 ngx_feature_run=no
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
363 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
364 #include <netinet/in.h>"
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
365 ngx_feature_path=
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
366 ngx_feature_libs=
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
367 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
368 . auto/feature
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
369
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
370
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
371 # 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
372
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
373 ngx_feature="IP_BINDANY"
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
374 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
375 ngx_feature_run=no
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
376 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
377 #include <netinet/in.h>"
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
378 ngx_feature_path=
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
379 ngx_feature_libs=
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
380 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
381 . auto/feature
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
382
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
383
6436
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
384 # BSD way to get IPv4 datagram destination address
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
385
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
386 ngx_feature="IP_RECVDSTADDR"
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
387 ngx_feature_name="NGX_HAVE_IP_RECVDSTADDR"
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
388 ngx_feature_run=no
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
389 ngx_feature_incs="#include <sys/socket.h>
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
390 #include <netinet/in.h>"
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
391 ngx_feature_path=
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
392 ngx_feature_libs=
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
393 ngx_feature_test="setsockopt(0, IPPROTO_IP, IP_RECVDSTADDR, NULL, 0)"
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
394 . auto/feature
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
395
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
396
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
397 # Linux way to get IPv4 datagram destination address
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
398
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
399 ngx_feature="IP_PKTINFO"
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
400 ngx_feature_name="NGX_HAVE_IP_PKTINFO"
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
401 ngx_feature_run=no
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
402 ngx_feature_incs="#include <sys/socket.h>
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
403 #include <netinet/in.h>"
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
404 ngx_feature_path=
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
405 ngx_feature_libs=
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
406 ngx_feature_test="setsockopt(0, IPPROTO_IP, IP_PKTINFO, NULL, 0)"
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
407 . auto/feature
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
408
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
409
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
410 # RFC 3542 way to get IPv6 datagram destination address
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
411
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
412 ngx_feature="IPV6_RECVPKTINFO"
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
413 ngx_feature_name="NGX_HAVE_IPV6_RECVPKTINFO"
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
414 ngx_feature_run=no
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
415 ngx_feature_incs="#include <sys/socket.h>
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
416 #include <netinet/in.h>"
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
417 ngx_feature_path=
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
418 ngx_feature_libs=
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
419 ngx_feature_test="setsockopt(0, IPPROTO_IPV6, IPV6_RECVPKTINFO, NULL, 0)"
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
420 . auto/feature
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
421
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
422
4016
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
423 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
424 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
425 ngx_feature_run=no
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
426 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
427 #include <netinet/in.h>
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
428 #include <netinet/tcp.h>"
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
429 ngx_feature_path=
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
430 ngx_feature_libs=
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
431 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
432 . auto/feature
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
433
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
434
5367
a15abc456bb5 Configure: TCP_KEEPIDLE test name simplified.
Maxim Dounin <mdounin@mdounin.ru>
parents: 5314
diff changeset
435 ngx_feature="TCP_KEEPIDLE"
4323
c4513d4dd024 Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents: 4302
diff changeset
436 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
437 ngx_feature_run=no
c4513d4dd024 Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents: 4302
diff changeset
438 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
439 #include <netinet/in.h>
c4513d4dd024 Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents: 4302
diff changeset
440 #include <netinet/tcp.h>"
c4513d4dd024 Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents: 4302
diff changeset
441 ngx_feature_path=
c4513d4dd024 Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents: 4302
diff changeset
442 ngx_feature_libs=
c4513d4dd024 Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents: 4302
diff changeset
443 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
444 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
445 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
446 . auto/feature
c4513d4dd024 Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents: 4302
diff changeset
447
c4513d4dd024 Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents: 4302
diff changeset
448
5456
692afcea9d0d Added support for TCP_FASTOPEN supported in Linux >= 3.7.1.
Mathew Rodley <mathew@rodley.com.au>
parents: 5367
diff changeset
449 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
450 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
451 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
452 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
453 #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
454 #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
455 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
456 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
457 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
458 . auto/feature
692afcea9d0d Added support for TCP_FASTOPEN supported in Linux >= 3.7.1.
Mathew Rodley <mathew@rodley.com.au>
parents: 5367
diff changeset
459
692afcea9d0d Added support for TCP_FASTOPEN supported in Linux >= 3.7.1.
Mathew Rodley <mathew@rodley.com.au>
parents: 5367
diff changeset
460
4545
ba39af7274ed Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents: 4543
diff changeset
461 ngx_feature="TCP_INFO"
ba39af7274ed Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents: 4543
diff changeset
462 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
463 ngx_feature_run=no
ba39af7274ed Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents: 4543
diff changeset
464 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
465 #include <netinet/in.h>
ba39af7274ed Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents: 4543
diff changeset
466 #include <netinet/tcp.h>"
ba39af7274ed Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents: 4543
diff changeset
467 ngx_feature_path=
ba39af7274ed Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents: 4543
diff changeset
468 ngx_feature_libs=
ba39af7274ed Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents: 4543
diff changeset
469 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
470 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
471 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
472 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
473 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
474 ti.tcpi_rcv_space = 0;
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
475 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
476 . auto/feature
ba39af7274ed Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents: 4543
diff changeset
477
ba39af7274ed Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents: 4543
diff changeset
478
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
479 ngx_feature="accept4()"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
480 ngx_feature_name="NGX_HAVE_ACCEPT4"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
481 ngx_feature_run=no
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
482 ngx_feature_incs="#include <sys/socket.h>"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
483 ngx_feature_path=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
484 ngx_feature_libs=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
485 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
486 . auto/feature
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
487
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
488 if [ $NGX_FILE_AIO = YES ]; then
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
489
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
490 ngx_feature="kqueue AIO support"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
491 ngx_feature_name="NGX_HAVE_FILE_AIO"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
492 ngx_feature_run=no
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
493 ngx_feature_incs="#include <aio.h>"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
494 ngx_feature_path=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
495 ngx_feature_libs=
6622
e393c0bf53d3 Configure: fix build with -Werror=unused-but-set-variable.
Piotr Sikora <piotrsikora@google.com>
parents: 6620
diff changeset
496 ngx_feature_test="struct aiocb iocb;
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
497 iocb.aio_sigevent.sigev_notify = SIGEV_KEVENT;
6622
e393c0bf53d3 Configure: fix build with -Werror=unused-but-set-variable.
Piotr Sikora <piotrsikora@google.com>
parents: 6620
diff changeset
498 (void) aio_read(&iocb)"
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
499 . auto/feature
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
500
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
501 if [ $ngx_found = yes ]; then
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
502 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
503 fi
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
504
5707
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
505 if [ $ngx_found = no ]; then
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
506
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
507 ngx_feature="Linux AIO support"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
508 ngx_feature_name="NGX_HAVE_FILE_AIO"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
509 ngx_feature_run=no
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
510 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
511 #include <sys/eventfd.h>"
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
512 ngx_feature_path=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
513 ngx_feature_libs=
5707
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
514 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
515 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
516 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
517 iocb.aio_resfd = -1;
6622
e393c0bf53d3 Configure: fix build with -Werror=unused-but-set-variable.
Piotr Sikora <piotrsikora@google.com>
parents: 6620
diff changeset
518 (void) iocb;
5707
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
519 (void) eventfd(0, 0)"
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
520 . auto/feature
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
521
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
522 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
523 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
524 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
525 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
526 fi
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
527 fi
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
528
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
529 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
530
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
531 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
532 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
533 #include <sys/syscall.h>"
6622
e393c0bf53d3 Configure: fix build with -Werror=unused-but-set-variable.
Piotr Sikora <piotrsikora@google.com>
parents: 6620
diff changeset
534 ngx_feature_test="struct iocb iocb;
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
535 iocb.aio_lio_opcode = IOCB_CMD_PREAD;
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
536 iocb.aio_flags = IOCB_FLAG_RESFD;
6622
e393c0bf53d3 Configure: fix build with -Werror=unused-but-set-variable.
Piotr Sikora <piotrsikora@google.com>
parents: 6620
diff changeset
537 iocb.aio_resfd = -1;
e393c0bf53d3 Configure: fix build with -Werror=unused-but-set-variable.
Piotr Sikora <piotrsikora@google.com>
parents: 6620
diff changeset
538 (void) iocb;
e393c0bf53d3 Configure: fix build with -Werror=unused-but-set-variable.
Piotr Sikora <piotrsikora@google.com>
parents: 6620
diff changeset
539 (void) SYS_eventfd"
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
540 . auto/feature
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
541
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
542 if [ $ngx_found = yes ]; then
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
543 have=NGX_HAVE_EVENTFD . auto/have
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
544 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
545 fi
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
546 fi
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
547
5707
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
548 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
549 cat << END
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
550
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
551 $0: no supported file AIO was found
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
552 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
553
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
554 END
5707
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
555 exit 1
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
556 fi
6019
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
557
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
558 else
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
559
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
560 ngx_feature="eventfd()"
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
561 ngx_feature_name="NGX_HAVE_EVENTFD"
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
562 ngx_feature_run=no
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
563 ngx_feature_incs="#include <sys/eventfd.h>"
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
564 ngx_feature_path=
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
565 ngx_feature_libs=
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
566 ngx_feature_test="(void) eventfd(0, 0)"
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
567 . auto/feature
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
568
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
569 if [ $ngx_found = yes ]; then
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
570 have=NGX_HAVE_SYS_EVENTFD_H . auto/have
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
571 fi
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
572
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
573 if [ $ngx_found = no ]; then
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
574
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
575 ngx_feature="eventfd() (SYS_eventfd)"
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
576 ngx_feature_incs="#include <sys/syscall.h>"
6622
e393c0bf53d3 Configure: fix build with -Werror=unused-but-set-variable.
Piotr Sikora <piotrsikora@google.com>
parents: 6620
diff changeset
577 ngx_feature_test="(void) SYS_eventfd"
6019
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
578 . auto/feature
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
579 fi
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
580 fi
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
581
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
582
479
c52408583801 nginx-0.1.14-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 477
diff changeset
583 have=NGX_HAVE_UNIX_DOMAIN . auto/have
c52408583801 nginx-0.1.14-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 477
diff changeset
584
583
4e296b7d25bf nginx-0.3.13-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 515
diff changeset
585 ngx_feature_libs=
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
586
493
975f62e77f02 nginx-0.1.21-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 485
diff changeset
587
196
11fbd0fc041d nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
588 # C types
11fbd0fc041d nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
589
267
83205e0b5522 nginx-0.0.2-2004-02-24-20:31:46 import
Igor Sysoev <igor@sysoev.ru>
parents: 256
diff changeset
590 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
591
267
83205e0b5522 nginx-0.0.2-2004-02-24-20:31:46 import
Igor Sysoev <igor@sysoev.ru>
parents: 256
diff changeset
592 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
593
267
83205e0b5522 nginx-0.0.2-2004-02-24-20:31:46 import
Igor Sysoev <igor@sysoev.ru>
parents: 256
diff changeset
594 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
595
370
54f76b0b8dca nginx-0.0.7-2004-06-27-22:01:57 import
Igor Sysoev <igor@sysoev.ru>
parents: 361
diff changeset
596 ngx_type="void *"; . auto/types/sizeof; ngx_ptr_size=$ngx_size
493
975f62e77f02 nginx-0.1.21-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 485
diff changeset
597 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
598
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
599
253
b6793bc5034b nginx-0.0.2-2004-02-09-10:46:43 import
Igor Sysoev <igor@sysoev.ru>
parents: 252
diff changeset
600 # POSIX types
196
11fbd0fc041d nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
601
6194
acba1656c474 Configure: fix tests with multi-level relative build directory.
Ruslan Ermilov <ru@nginx.com>
parents: 6153
diff changeset
602 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
603
6500
8426275a13fd Compatibility with FreeBSD 2.2.9.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6436
diff changeset
604 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
605 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
606
370
54f76b0b8dca nginx-0.0.7-2004-06-27-22:01:57 import
Igor Sysoev <igor@sysoev.ru>
parents: 361
diff changeset
607 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
608 . auto/types/sizeof
477
ad1e9ebf93bb nginx-0.1.13-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 473
diff changeset
609 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
610
515
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 509
diff changeset
611 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
612
6500
8426275a13fd Compatibility with FreeBSD 2.2.9.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6436
diff changeset
613 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
614
417
0526206251f6 nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents: 370
diff changeset
615 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
616
370
54f76b0b8dca nginx-0.0.7-2004-06-27-22:01:57 import
Igor Sysoev <igor@sysoev.ru>
parents: 361
diff changeset
617 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
618
11fbd0fc041d nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
619 . 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
620
4681
bb37a9cc08fb Fixed spelling of "endianness", and called it "byte ordering" in the
Ruslan Ermilov <ru@nginx.com>
parents: 4563
diff changeset
621 . auto/endianness
370
54f76b0b8dca nginx-0.0.7-2004-06-27-22:01:57 import
Igor Sysoev <igor@sysoev.ru>
parents: 361
diff changeset
622
473
8e8f3af115b5 nginx-0.1.11-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 469
diff changeset
623 ngx_type="size_t"; . auto/types/sizeof
477
ad1e9ebf93bb nginx-0.1.13-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 473
diff changeset
624 ngx_param=NGX_MAX_SIZE_T_VALUE; ngx_value=$ngx_max_value; . auto/types/value
ad1e9ebf93bb nginx-0.1.13-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 473
diff changeset
625 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
626
473
8e8f3af115b5 nginx-0.1.11-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 469
diff changeset
627 ngx_type="off_t"; . auto/types/sizeof
477
ad1e9ebf93bb nginx-0.1.13-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 473
diff changeset
628 ngx_param=NGX_MAX_OFF_T_VALUE; ngx_value=$ngx_max_value; . auto/types/value
ad1e9ebf93bb nginx-0.1.13-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 473
diff changeset
629 ngx_param=NGX_OFF_T_LEN; ngx_value=$ngx_max_len; . auto/types/value
473
8e8f3af115b5 nginx-0.1.11-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 469
diff changeset
630
8e8f3af115b5 nginx-0.1.11-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 469
diff changeset
631 ngx_type="time_t"; . auto/types/sizeof
477
ad1e9ebf93bb nginx-0.1.13-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 473
diff changeset
632 ngx_param=NGX_TIME_T_SIZE; ngx_value=$ngx_size; . auto/types/value
ad1e9ebf93bb nginx-0.1.13-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 473
diff changeset
633 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
634 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
635
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
636
358
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
637 # 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
638
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
639
6724
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
640 ngx_feature="AF_INET6"
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
641 ngx_feature_name="NGX_HAVE_INET6"
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
642 ngx_feature_run=no
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
643 ngx_feature_incs="#include <sys/socket.h>
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
644 #include <netinet/in.h>
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
645 #include <arpa/inet.h>"
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
646 ngx_feature_path=
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
647 ngx_feature_libs=
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
648 ngx_feature_test="struct sockaddr_in6 sin6;
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
649 sin6.sin6_family = AF_INET6;
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
650 (void) sin6"
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
651 . auto/feature
2512
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2234
diff changeset
652
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2234
diff changeset
653
467
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
654 ngx_feature="setproctitle()"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
655 ngx_feature_name="NGX_HAVE_SETPROCTITLE"
467
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
656 ngx_feature_run=no
4543
51744fa997c7 Fixed compilation warnings in configuration C tests.
Ruslan Ermilov <ru@nginx.com>
parents: 4475
diff changeset
657 ngx_feature_incs="#include <stdlib.h>"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
658 ngx_feature_path=
509
9b8c906f6e63 nginx-0.1.29-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 493
diff changeset
659 ngx_feature_libs=$NGX_SETPROCTITLE_LIB
467
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
660 ngx_feature_test="setproctitle(\"test\");"
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
661 . auto/feature
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
662
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
663
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
664 ngx_feature="pread()"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
665 ngx_feature_name="NGX_HAVE_PREAD"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
666 ngx_feature_run=no
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
667 ngx_feature_incs=
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
668 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
669 ngx_feature_libs=
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
670 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
671 if (n == -1) return 1"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
672 . auto/feature
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
673
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
674
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
675 ngx_feature="pwrite()"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
676 ngx_feature_name="NGX_HAVE_PWRITE"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
677 ngx_feature_run=no
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
678 ngx_feature_incs=
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
679 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
680 ngx_feature_libs=
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
681 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
682 if (n == -1) return 1"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
683 . auto/feature
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
684
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
685
6301
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
686 # 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
687
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
688 ngx_feature="pwritev()"
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
689 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
690 ngx_feature_run=no
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
691 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
692 ngx_feature_path=
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
693 ngx_feature_libs=
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
694 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
695 vec[0].iov_base = buf;
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
696 vec[0].iov_len = 1;
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
697 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
698 if (n == -1) return 1"
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
699 . auto/feature
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
700
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
701
3787
e294f37401c0 use copied strerror() messages and autoconfigured sys_nerr value
Igor Sysoev <igor@sysoev.ru>
parents: 3472
diff changeset
702 ngx_feature="sys_nerr"
e294f37401c0 use copied strerror() messages and autoconfigured sys_nerr value
Igor Sysoev <igor@sysoev.ru>
parents: 3472
diff changeset
703 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
704 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
705 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
706 #include <stdio.h>'
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
707 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
708 ngx_feature_libs=
3787
e294f37401c0 use copied strerror() messages and autoconfigured sys_nerr value
Igor Sysoev <igor@sysoev.ru>
parents: 3472
diff changeset
709 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
710 . auto/feature
65481698535c use sys_errlist[] in signal handler instead
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
711
65481698535c use sys_errlist[] in signal handler instead
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
712
3819
5e1e406f10ff test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents: 3811
diff changeset
713 if [ $ngx_found = no ]; then
3820
af202ffad952 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 3819
diff changeset
714
3819
5e1e406f10ff test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents: 3811
diff changeset
715 # 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
716 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
717 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
718 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
719 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
720 #include <stdio.h>'
5e1e406f10ff test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents: 3811
diff changeset
721 ngx_feature_path=
5e1e406f10ff test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents: 3811
diff changeset
722 ngx_feature_libs=
5e1e406f10ff test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents: 3811
diff changeset
723 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
724 . auto/feature
5e1e406f10ff test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents: 3811
diff changeset
725 fi
3811
4af1c7f53711 fix building by Cygwin: Cygwin defines _sys_nerr instead of sys_nerr,
Igor Sysoev <igor@sysoev.ru>
parents: 3787
diff changeset
726
4af1c7f53711 fix building by Cygwin: Cygwin defines _sys_nerr instead of sys_nerr,
Igor Sysoev <igor@sysoev.ru>
parents: 3787
diff changeset
727
3821
573cd56f006b test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents: 3820
diff changeset
728 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
729
573cd56f006b test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents: 3820
diff changeset
730 # 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
731 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
732 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
733 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
734 ngx_feature_incs='#include <errno.h>
3908
8258eb4c9d25 fix r3902
Igor Sysoev <igor@sysoev.ru>
parents: 3901
diff changeset
735 #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
736 #include <stdio.h>'
573cd56f006b test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents: 3820
diff changeset
737 ngx_feature_path=
573cd56f006b test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents: 3820
diff changeset
738 ngx_feature_libs=
573cd56f006b test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents: 3820
diff changeset
739 ngx_feature_test='int n;
3901
c8b9f58c392b fix r3822
Igor Sysoev <igor@sysoev.ru>
parents: 3821
diff changeset
740 char *p;
3821
573cd56f006b test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents: 3820
diff changeset
741 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
742 errno = 0;
3901
c8b9f58c392b fix r3822
Igor Sysoev <igor@sysoev.ru>
parents: 3821
diff changeset
743 p = strerror(n);
c8b9f58c392b fix r3822
Igor Sysoev <igor@sysoev.ru>
parents: 3821
diff changeset
744 if (errno == EINVAL
c8b9f58c392b fix r3822
Igor Sysoev <igor@sysoev.ru>
parents: 3821
diff changeset
745 || p == NULL
c8b9f58c392b fix r3822
Igor Sysoev <igor@sysoev.ru>
parents: 3821
diff changeset
746 || strncmp(p, "Unknown error", 13) == 0)
c8b9f58c392b fix r3822
Igor Sysoev <igor@sysoev.ru>
parents: 3821
diff changeset
747 {
4302
52c881519427 o AIX 7 defines sys_nerr in errno.h, therefore <errno.h> included
Maxim Konovalov <maxim@nginx.com>
parents: 4016
diff changeset
748 break;
3821
573cd56f006b test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents: 3820
diff changeset
749 }
4302
52c881519427 o AIX 7 defines sys_nerr in errno.h, therefore <errno.h> included
Maxim Konovalov <maxim@nginx.com>
parents: 4016
diff changeset
750 }
52c881519427 o AIX 7 defines sys_nerr in errno.h, therefore <errno.h> included
Maxim Konovalov <maxim@nginx.com>
parents: 4016
diff changeset
751 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
752 . auto/feature
573cd56f006b test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents: 3820
diff changeset
753 fi
573cd56f006b test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents: 3820
diff changeset
754
573cd56f006b test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents: 3820
diff changeset
755
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
756 ngx_feature="localtime_r()"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
757 ngx_feature_name="NGX_HAVE_LOCALTIME_R"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
758 ngx_feature_run=no
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
759 ngx_feature_incs="#include <time.h>"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
760 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
761 ngx_feature_libs=
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
762 ngx_feature_test="struct tm t; time_t c=0; localtime_r(&c, &t)"
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
763 . auto/feature
256
8e39cab6abd5 nginx-0.0.2-2004-02-10-19:23:38 import
Igor Sysoev <igor@sysoev.ru>
parents: 253
diff changeset
764
8e39cab6abd5 nginx-0.0.2-2004-02-10-19:23:38 import
Igor Sysoev <igor@sysoev.ru>
parents: 253
diff changeset
765
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
766 ngx_feature="posix_memalign()"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
767 ngx_feature_name="NGX_HAVE_POSIX_MEMALIGN"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
768 ngx_feature_run=no
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
769 ngx_feature_incs="#include <stdlib.h>"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
770 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
771 ngx_feature_libs=
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
772 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
773 if (n != 0) return 1"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
774 . auto/feature
346
55e496a8ece3 nginx-0.0.3-2004-06-06-23:49:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 279
diff changeset
775
55e496a8ece3 nginx-0.0.3-2004-06-06-23:49:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 279
diff changeset
776
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
777 ngx_feature="memalign()"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
778 ngx_feature_name="NGX_HAVE_MEMALIGN"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
779 ngx_feature_run=no
4543
51744fa997c7 Fixed compilation warnings in configuration C tests.
Ruslan Ermilov <ru@nginx.com>
parents: 4475
diff changeset
780 ngx_feature_incs="#include <stdlib.h>
51744fa997c7 Fixed compilation warnings in configuration C tests.
Ruslan Ermilov <ru@nginx.com>
parents: 4475
diff changeset
781 #include <malloc.h>"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
782 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
783 ngx_feature_libs=
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
784 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
785 if (p == NULL) return 1"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
786 . auto/feature
346
55e496a8ece3 nginx-0.0.3-2004-06-06-23:49:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 279
diff changeset
787
55e496a8ece3 nginx-0.0.3-2004-06-06-23:49:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 279
diff changeset
788
358
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
789 ngx_feature="mmap(MAP_ANON|MAP_SHARED)"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
790 ngx_feature_name="NGX_HAVE_MAP_ANON"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
791 ngx_feature_run=yes
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
792 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
793 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
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;
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
796 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
797 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
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='mmap("/dev/zero", MAP_SHARED)'
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
803 ngx_feature_name="NGX_HAVE_MAP_DEVZERO"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
804 ngx_feature_run=yes
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
805 ngx_feature_incs="#include <sys/mman.h>
2598
87e739049e93 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 2512
diff changeset
806 #include <sys/stat.h>
87e739049e93 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 2512
diff changeset
807 #include <fcntl.h>"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
808 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
809 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
810 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
811 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
812 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
813 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
814 . auto/feature
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
815
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
816
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
817 ngx_feature="System V shared memory"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
818 ngx_feature_name="NGX_HAVE_SYSVSHM"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
819 ngx_feature_run=yes
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
820 ngx_feature_incs="#include <sys/ipc.h>
2598
87e739049e93 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 2512
diff changeset
821 #include <sys/shm.h>"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
822 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
823 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
824 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
825 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
826 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
827 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
828 . auto/feature
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
829
355
0fb6c53fb135 nginx-0.0.7-2004-06-15-21:47:16 import
Igor Sysoev <igor@sysoev.ru>
parents: 346
diff changeset
830
3909
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3908
diff changeset
831 ngx_feature="POSIX semaphores"
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3908
diff changeset
832 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
833 ngx_feature_run=yes
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3908
diff changeset
834 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
835 ngx_feature_path=
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3908
diff changeset
836 ngx_feature_libs=
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3908
diff changeset
837 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
838 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
839 sem_destroy(&sem);"
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3908
diff changeset
840 . auto/feature
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3908
diff changeset
841
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3908
diff changeset
842
3931
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
843 if [ $ngx_found = no ]; then
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
844
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
845 # Linux has POSIX semaphores in libpthread
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
846 ngx_feature="POSIX semaphores in libpthread"
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
847 ngx_feature_libs=-lpthread
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
848 . auto/feature
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
849
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
850 if [ $ngx_found = yes ]; then
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
851 CORE_LIBS="$CORE_LIBS -lpthread"
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
852 fi
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
853 fi
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
854
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
855
4003
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
856 if [ $ngx_found = no ]; then
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
857
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
858 # 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
859 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
860 ngx_feature_libs=-lrt
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
861 . auto/feature
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
862
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
863 if [ $ngx_found = yes ]; then
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
864 CORE_LIBS="$CORE_LIBS -lrt"
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
865 fi
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
866 fi
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
867
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
868
358
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
869 ngx_feature="struct msghdr.msg_control"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
870 ngx_feature_name="NGX_HAVE_MSGHDR_MSG_CONTROL"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
871 ngx_feature_run=no
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
872 ngx_feature_incs="#include <sys/socket.h>
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
873 #include <stdio.h>"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
874 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
875 ngx_feature_libs=
4563
cc038cc834be Configure: fixed msghdr.msg_control test on 64bit platforms.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4559
diff changeset
876 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
877 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
878 . auto/feature
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
879
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
880
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
881 ngx_feature="ioctl(FIONBIO)"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
882 ngx_feature_name="NGX_HAVE_FIONBIO"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
883 ngx_feature_run=no
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
884 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
885 #include <stdio.h>
2598
87e739049e93 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 2512
diff changeset
886 $NGX_INCLUDE_SYS_FILIO_H"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
887 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
888 ngx_feature_libs=
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
889 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
890 . auto/feature
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
891
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
892
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
893 ngx_feature="struct tm.tm_gmtoff"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
894 ngx_feature_name="NGX_HAVE_GMTOFF"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
895 ngx_feature_run=no
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
896 ngx_feature_incs="#include <time.h>
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
897 #include <stdio.h>"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
898 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
899 ngx_feature_libs=
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
900 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
901 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
902 . auto/feature
2234
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
903
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
904
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
905 ngx_feature="struct dirent.d_namlen"
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
906 ngx_feature_name="NGX_HAVE_D_NAMLEN"
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
907 ngx_feature_run=no
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
908 ngx_feature_incs="#include <dirent.h>
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
909 #include <stdio.h>"
2234
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
910 ngx_feature_path=
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
911 ngx_feature_libs=
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
912 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
913 printf(\"%d\", (int) dir.d_namlen)"
2234
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
914 . auto/feature
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
915
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
916
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
917 ngx_feature="struct dirent.d_type"
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
918 ngx_feature_name="NGX_HAVE_D_TYPE"
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
919 ngx_feature_run=no
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
920 ngx_feature_incs="#include <dirent.h>
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
921 #include <stdio.h>"
2234
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
922 ngx_feature_path=
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
923 ngx_feature_libs=
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
924 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
925 printf(\"%d\", (int) dir.d_type)"
2234
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
926 . auto/feature
4459
ccb2f8e3d08d Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
927
ccb2f8e3d08d Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
928
ccb2f8e3d08d Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
929 ngx_feature="sysconf(_SC_NPROCESSORS_ONLN)"
ccb2f8e3d08d Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
930 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
931 ngx_feature_run=no
ccb2f8e3d08d Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
932 ngx_feature_incs=
ccb2f8e3d08d Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
933 ngx_feature_path=
ccb2f8e3d08d Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
934 ngx_feature_libs=
ccb2f8e3d08d Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
935 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
936 . auto/feature
4475
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
937
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
938
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
939 ngx_feature="openat(), fstatat()"
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
940 ngx_feature_name="NGX_HAVE_OPENAT"
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
941 ngx_feature_run=no
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
942 ngx_feature_incs="#include <sys/types.h>
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
943 #include <sys/stat.h>
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
944 #include <fcntl.h>"
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
945 ngx_feature_path=
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
946 ngx_feature_libs=
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
947 ngx_feature_test="struct stat sb;
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
948 openat(AT_FDCWD, \".\", O_RDONLY|O_NOFOLLOW);
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
949 fstatat(AT_FDCWD, \".\", &sb, AT_SYMLINK_NOFOLLOW);"
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
950 . auto/feature
4971
eaf95350d75c Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents: 4681
diff changeset
951
eaf95350d75c Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents: 4681
diff changeset
952
eaf95350d75c Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents: 4681
diff changeset
953 ngx_feature="getaddrinfo()"
eaf95350d75c Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents: 4681
diff changeset
954 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
955 ngx_feature_run=no
eaf95350d75c Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents: 4681
diff changeset
956 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
957 #include <sys/socket.h>
eaf95350d75c Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents: 4681
diff changeset
958 #include <netdb.h>"
eaf95350d75c Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents: 4681
diff changeset
959 ngx_feature_path=
eaf95350d75c Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents: 4681
diff changeset
960 ngx_feature_libs=
5314
0300d97c6084 Core: guard use of AI_ADDRCONFIG.
Ruslan Ermilov <ru@nginx.com>
parents: 5312
diff changeset
961 ngx_feature_test='struct addrinfo *res;
0300d97c6084 Core: guard use of AI_ADDRCONFIG.
Ruslan Ermilov <ru@nginx.com>
parents: 5312
diff changeset
962 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
963 freeaddrinfo(res)'
eaf95350d75c Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents: 4681
diff changeset
964 . auto/feature