annotate auto/unix @ 7003:7943298d4ac0

Contrib: proper syntax parsing in vim syntax highlighting. Instead of highlighting directives in arbitrary positions, proper parsing of nginx.conf syntax was implemented, matching what nginx does internally. This allows vim to correctly highlight various complex cases, including: return 301 http://example.com/path#fragment"; and also avoids highlighting of parameters as directives, as in server_name missing.semicolon.example.com index index.php; where "index" is not a directive but a parameter of the "server_name" directive due to missing semicolon. Most important downside of this approach seems to be that there is no easy way to introduce directive-specific parameters. As such, only "listen" directive parameters were preserved.
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 22 May 2017 16:34:47 +0300
parents dbb0c854e308
children c1524829af3d
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
6980
dbb0c854e308 Set UDP datagram source address (ticket #1239).
Roman Arutyunyan <arut@nginx.com>
parents: 6724
diff changeset
397 # BSD way to set IPv4 datagram source address
dbb0c854e308 Set UDP datagram source address (ticket #1239).
Roman Arutyunyan <arut@nginx.com>
parents: 6724
diff changeset
398
dbb0c854e308 Set UDP datagram source address (ticket #1239).
Roman Arutyunyan <arut@nginx.com>
parents: 6724
diff changeset
399 ngx_feature="IP_SENDSRCADDR"
dbb0c854e308 Set UDP datagram source address (ticket #1239).
Roman Arutyunyan <arut@nginx.com>
parents: 6724
diff changeset
400 ngx_feature_name="NGX_HAVE_IP_SENDSRCADDR"
dbb0c854e308 Set UDP datagram source address (ticket #1239).
Roman Arutyunyan <arut@nginx.com>
parents: 6724
diff changeset
401 ngx_feature_run=no
dbb0c854e308 Set UDP datagram source address (ticket #1239).
Roman Arutyunyan <arut@nginx.com>
parents: 6724
diff changeset
402 ngx_feature_incs="#include <sys/socket.h>
dbb0c854e308 Set UDP datagram source address (ticket #1239).
Roman Arutyunyan <arut@nginx.com>
parents: 6724
diff changeset
403 #include <netinet/in.h>"
dbb0c854e308 Set UDP datagram source address (ticket #1239).
Roman Arutyunyan <arut@nginx.com>
parents: 6724
diff changeset
404 ngx_feature_path=
dbb0c854e308 Set UDP datagram source address (ticket #1239).
Roman Arutyunyan <arut@nginx.com>
parents: 6724
diff changeset
405 ngx_feature_libs=
dbb0c854e308 Set UDP datagram source address (ticket #1239).
Roman Arutyunyan <arut@nginx.com>
parents: 6724
diff changeset
406 ngx_feature_test="setsockopt(0, IPPROTO_IP, IP_SENDSRCADDR, NULL, 0)"
dbb0c854e308 Set UDP datagram source address (ticket #1239).
Roman Arutyunyan <arut@nginx.com>
parents: 6724
diff changeset
407 . auto/feature
dbb0c854e308 Set UDP datagram source address (ticket #1239).
Roman Arutyunyan <arut@nginx.com>
parents: 6724
diff changeset
408
dbb0c854e308 Set UDP datagram source address (ticket #1239).
Roman Arutyunyan <arut@nginx.com>
parents: 6724
diff changeset
409
6436
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
410 # Linux way to get IPv4 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="IP_PKTINFO"
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
413 ngx_feature_name="NGX_HAVE_IP_PKTINFO"
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_IP, IP_PKTINFO, 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
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
423 # RFC 3542 way to get IPv6 datagram destination address
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
424
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
425 ngx_feature="IPV6_RECVPKTINFO"
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
426 ngx_feature_name="NGX_HAVE_IPV6_RECVPKTINFO"
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
427 ngx_feature_run=no
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
428 ngx_feature_incs="#include <sys/socket.h>
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
429 #include <netinet/in.h>"
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
430 ngx_feature_path=
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
431 ngx_feature_libs=
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
432 ngx_feature_test="setsockopt(0, IPPROTO_IPV6, IPV6_RECVPKTINFO, NULL, 0)"
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
433 . auto/feature
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
434
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
435
4016
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
436 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
437 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
438 ngx_feature_run=no
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
439 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
440 #include <netinet/in.h>
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
441 #include <netinet/tcp.h>"
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
442 ngx_feature_path=
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
443 ngx_feature_libs=
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
444 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
445 . auto/feature
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
446
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
447
5367
a15abc456bb5 Configure: TCP_KEEPIDLE test name simplified.
Maxim Dounin <mdounin@mdounin.ru>
parents: 5314
diff changeset
448 ngx_feature="TCP_KEEPIDLE"
4323
c4513d4dd024 Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents: 4302
diff changeset
449 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
450 ngx_feature_run=no
c4513d4dd024 Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents: 4302
diff changeset
451 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
452 #include <netinet/in.h>
c4513d4dd024 Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents: 4302
diff changeset
453 #include <netinet/tcp.h>"
c4513d4dd024 Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents: 4302
diff changeset
454 ngx_feature_path=
c4513d4dd024 Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents: 4302
diff changeset
455 ngx_feature_libs=
c4513d4dd024 Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents: 4302
diff changeset
456 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
457 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
458 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
459 . auto/feature
c4513d4dd024 Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents: 4302
diff changeset
460
c4513d4dd024 Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents: 4302
diff changeset
461
5456
692afcea9d0d Added support for TCP_FASTOPEN supported in Linux >= 3.7.1.
Mathew Rodley <mathew@rodley.com.au>
parents: 5367
diff changeset
462 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
463 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
464 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
465 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
466 #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
467 #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
468 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
469 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
470 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
471 . auto/feature
692afcea9d0d Added support for TCP_FASTOPEN supported in Linux >= 3.7.1.
Mathew Rodley <mathew@rodley.com.au>
parents: 5367
diff changeset
472
692afcea9d0d Added support for TCP_FASTOPEN supported in Linux >= 3.7.1.
Mathew Rodley <mathew@rodley.com.au>
parents: 5367
diff changeset
473
4545
ba39af7274ed Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents: 4543
diff changeset
474 ngx_feature="TCP_INFO"
ba39af7274ed Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents: 4543
diff changeset
475 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
476 ngx_feature_run=no
ba39af7274ed Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents: 4543
diff changeset
477 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
478 #include <netinet/in.h>
ba39af7274ed Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents: 4543
diff changeset
479 #include <netinet/tcp.h>"
ba39af7274ed Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents: 4543
diff changeset
480 ngx_feature_path=
ba39af7274ed Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents: 4543
diff changeset
481 ngx_feature_libs=
ba39af7274ed Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents: 4543
diff changeset
482 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
483 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
484 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
485 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
486 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
487 ti.tcpi_rcv_space = 0;
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
488 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
489 . auto/feature
ba39af7274ed Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents: 4543
diff changeset
490
ba39af7274ed Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents: 4543
diff changeset
491
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
492 ngx_feature="accept4()"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
493 ngx_feature_name="NGX_HAVE_ACCEPT4"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
494 ngx_feature_run=no
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
495 ngx_feature_incs="#include <sys/socket.h>"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
496 ngx_feature_path=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
497 ngx_feature_libs=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
498 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
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_FILE_AIO = YES ]; then
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
502
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
503 ngx_feature="kqueue AIO support"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
504 ngx_feature_name="NGX_HAVE_FILE_AIO"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
505 ngx_feature_run=no
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
506 ngx_feature_incs="#include <aio.h>"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
507 ngx_feature_path=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
508 ngx_feature_libs=
6622
e393c0bf53d3 Configure: fix build with -Werror=unused-but-set-variable.
Piotr Sikora <piotrsikora@google.com>
parents: 6620
diff changeset
509 ngx_feature_test="struct aiocb iocb;
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
510 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
511 (void) aio_read(&iocb)"
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
512 . auto/feature
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
513
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
514 if [ $ngx_found = yes ]; then
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
515 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
516 fi
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
517
5707
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
518 if [ $ngx_found = no ]; then
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
519
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
520 ngx_feature="Linux AIO support"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
521 ngx_feature_name="NGX_HAVE_FILE_AIO"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
522 ngx_feature_run=no
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
523 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
524 #include <sys/eventfd.h>"
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
525 ngx_feature_path=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
526 ngx_feature_libs=
5707
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
527 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
528 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
529 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
530 iocb.aio_resfd = -1;
6622
e393c0bf53d3 Configure: fix build with -Werror=unused-but-set-variable.
Piotr Sikora <piotrsikora@google.com>
parents: 6620
diff changeset
531 (void) iocb;
5707
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
532 (void) eventfd(0, 0)"
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
533 . auto/feature
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
534
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
535 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
536 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
537 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
538 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
539 fi
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
540 fi
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
541
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
542 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
543
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
544 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
545 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
546 #include <sys/syscall.h>"
6622
e393c0bf53d3 Configure: fix build with -Werror=unused-but-set-variable.
Piotr Sikora <piotrsikora@google.com>
parents: 6620
diff changeset
547 ngx_feature_test="struct iocb iocb;
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
548 iocb.aio_lio_opcode = IOCB_CMD_PREAD;
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
549 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
550 iocb.aio_resfd = -1;
e393c0bf53d3 Configure: fix build with -Werror=unused-but-set-variable.
Piotr Sikora <piotrsikora@google.com>
parents: 6620
diff changeset
551 (void) iocb;
e393c0bf53d3 Configure: fix build with -Werror=unused-but-set-variable.
Piotr Sikora <piotrsikora@google.com>
parents: 6620
diff changeset
552 (void) SYS_eventfd"
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
553 . auto/feature
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
554
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
555 if [ $ngx_found = yes ]; then
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
556 have=NGX_HAVE_EVENTFD . auto/have
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
557 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
558 fi
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
559 fi
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
560
5707
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
561 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
562 cat << END
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
563
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
564 $0: no supported file AIO was found
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
565 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
566
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
567 END
5707
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
568 exit 1
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
569 fi
6019
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
570
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
571 else
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 ngx_feature="eventfd()"
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
574 ngx_feature_name="NGX_HAVE_EVENTFD"
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
575 ngx_feature_run=no
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
576 ngx_feature_incs="#include <sys/eventfd.h>"
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
577 ngx_feature_path=
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
578 ngx_feature_libs=
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
579 ngx_feature_test="(void) eventfd(0, 0)"
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
580 . auto/feature
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
581
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
582 if [ $ngx_found = yes ]; then
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
583 have=NGX_HAVE_SYS_EVENTFD_H . auto/have
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
584 fi
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
585
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
586 if [ $ngx_found = no ]; then
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
587
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
588 ngx_feature="eventfd() (SYS_eventfd)"
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
589 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
590 ngx_feature_test="(void) SYS_eventfd"
6019
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
591 . auto/feature
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
592 fi
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
593 fi
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
594
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
595
479
c52408583801 nginx-0.1.14-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 477
diff changeset
596 have=NGX_HAVE_UNIX_DOMAIN . auto/have
c52408583801 nginx-0.1.14-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 477
diff changeset
597
583
4e296b7d25bf nginx-0.3.13-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 515
diff changeset
598 ngx_feature_libs=
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
599
493
975f62e77f02 nginx-0.1.21-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 485
diff changeset
600
196
11fbd0fc041d nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
601 # C types
11fbd0fc041d nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
602
267
83205e0b5522 nginx-0.0.2-2004-02-24-20:31:46 import
Igor Sysoev <igor@sysoev.ru>
parents: 256
diff changeset
603 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
604
267
83205e0b5522 nginx-0.0.2-2004-02-24-20:31:46 import
Igor Sysoev <igor@sysoev.ru>
parents: 256
diff changeset
605 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
606
267
83205e0b5522 nginx-0.0.2-2004-02-24-20:31:46 import
Igor Sysoev <igor@sysoev.ru>
parents: 256
diff changeset
607 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
608
370
54f76b0b8dca nginx-0.0.7-2004-06-27-22:01:57 import
Igor Sysoev <igor@sysoev.ru>
parents: 361
diff changeset
609 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
610 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
611
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
612
253
b6793bc5034b nginx-0.0.2-2004-02-09-10:46:43 import
Igor Sysoev <igor@sysoev.ru>
parents: 252
diff changeset
613 # POSIX types
196
11fbd0fc041d nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
614
6194
acba1656c474 Configure: fix tests with multi-level relative build directory.
Ruslan Ermilov <ru@nginx.com>
parents: 6153
diff changeset
615 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
616
6500
8426275a13fd Compatibility with FreeBSD 2.2.9.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6436
diff changeset
617 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
618 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
619
370
54f76b0b8dca nginx-0.0.7-2004-06-27-22:01:57 import
Igor Sysoev <igor@sysoev.ru>
parents: 361
diff changeset
620 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
621 . auto/types/sizeof
477
ad1e9ebf93bb nginx-0.1.13-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 473
diff changeset
622 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
623
515
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 509
diff changeset
624 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
625
6500
8426275a13fd Compatibility with FreeBSD 2.2.9.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6436
diff changeset
626 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
627
417
0526206251f6 nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents: 370
diff changeset
628 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
629
370
54f76b0b8dca nginx-0.0.7-2004-06-27-22:01:57 import
Igor Sysoev <igor@sysoev.ru>
parents: 361
diff changeset
630 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
631
11fbd0fc041d nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
632 . 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
633
4681
bb37a9cc08fb Fixed spelling of "endianness", and called it "byte ordering" in the
Ruslan Ermilov <ru@nginx.com>
parents: 4563
diff changeset
634 . auto/endianness
370
54f76b0b8dca nginx-0.0.7-2004-06-27-22:01:57 import
Igor Sysoev <igor@sysoev.ru>
parents: 361
diff changeset
635
473
8e8f3af115b5 nginx-0.1.11-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 469
diff changeset
636 ngx_type="size_t"; . auto/types/sizeof
477
ad1e9ebf93bb nginx-0.1.13-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 473
diff changeset
637 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
638 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
639
473
8e8f3af115b5 nginx-0.1.11-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 469
diff changeset
640 ngx_type="off_t"; . auto/types/sizeof
477
ad1e9ebf93bb nginx-0.1.13-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 473
diff changeset
641 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
642 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
643
8e8f3af115b5 nginx-0.1.11-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 469
diff changeset
644 ngx_type="time_t"; . auto/types/sizeof
477
ad1e9ebf93bb nginx-0.1.13-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 473
diff changeset
645 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
646 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
647 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
648
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
649
358
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
650 # 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
651
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
652
6724
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
653 ngx_feature="AF_INET6"
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
654 ngx_feature_name="NGX_HAVE_INET6"
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
655 ngx_feature_run=no
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
656 ngx_feature_incs="#include <sys/socket.h>
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
657 #include <netinet/in.h>
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
658 #include <arpa/inet.h>"
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
659 ngx_feature_path=
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
660 ngx_feature_libs=
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
661 ngx_feature_test="struct sockaddr_in6 sin6;
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
662 sin6.sin6_family = AF_INET6;
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
663 (void) sin6"
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
664 . auto/feature
2512
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2234
diff changeset
665
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2234
diff changeset
666
467
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
667 ngx_feature="setproctitle()"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
668 ngx_feature_name="NGX_HAVE_SETPROCTITLE"
467
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
669 ngx_feature_run=no
4543
51744fa997c7 Fixed compilation warnings in configuration C tests.
Ruslan Ermilov <ru@nginx.com>
parents: 4475
diff changeset
670 ngx_feature_incs="#include <stdlib.h>"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
671 ngx_feature_path=
509
9b8c906f6e63 nginx-0.1.29-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 493
diff changeset
672 ngx_feature_libs=$NGX_SETPROCTITLE_LIB
467
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
673 ngx_feature_test="setproctitle(\"test\");"
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
674 . auto/feature
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
675
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
676
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
677 ngx_feature="pread()"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
678 ngx_feature_name="NGX_HAVE_PREAD"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
679 ngx_feature_run=no
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
680 ngx_feature_incs=
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
681 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
682 ngx_feature_libs=
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
683 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
684 if (n == -1) return 1"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
685 . auto/feature
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
686
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
687
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
688 ngx_feature="pwrite()"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
689 ngx_feature_name="NGX_HAVE_PWRITE"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
690 ngx_feature_run=no
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
691 ngx_feature_incs=
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
692 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
693 ngx_feature_libs=
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
694 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
695 if (n == -1) return 1"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
696 . auto/feature
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
697
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
698
6301
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
699 # 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
700
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
701 ngx_feature="pwritev()"
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
702 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
703 ngx_feature_run=no
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
704 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
705 ngx_feature_path=
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
706 ngx_feature_libs=
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
707 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
708 vec[0].iov_base = buf;
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
709 vec[0].iov_len = 1;
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
710 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
711 if (n == -1) return 1"
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
712 . auto/feature
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
713
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
714
3787
e294f37401c0 use copied strerror() messages and autoconfigured sys_nerr value
Igor Sysoev <igor@sysoev.ru>
parents: 3472
diff changeset
715 ngx_feature="sys_nerr"
e294f37401c0 use copied strerror() messages and autoconfigured sys_nerr value
Igor Sysoev <igor@sysoev.ru>
parents: 3472
diff changeset
716 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
717 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
718 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
719 #include <stdio.h>'
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
720 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
721 ngx_feature_libs=
3787
e294f37401c0 use copied strerror() messages and autoconfigured sys_nerr value
Igor Sysoev <igor@sysoev.ru>
parents: 3472
diff changeset
722 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
723 . auto/feature
65481698535c use sys_errlist[] in signal handler instead
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
724
65481698535c use sys_errlist[] in signal handler instead
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
725
3819
5e1e406f10ff test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents: 3811
diff changeset
726 if [ $ngx_found = no ]; then
3820
af202ffad952 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 3819
diff changeset
727
3819
5e1e406f10ff test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents: 3811
diff changeset
728 # 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
729 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
730 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
731 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
732 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
733 #include <stdio.h>'
5e1e406f10ff test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents: 3811
diff changeset
734 ngx_feature_path=
5e1e406f10ff test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents: 3811
diff changeset
735 ngx_feature_libs=
5e1e406f10ff test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents: 3811
diff changeset
736 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
737 . auto/feature
5e1e406f10ff test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents: 3811
diff changeset
738 fi
3811
4af1c7f53711 fix building by Cygwin: Cygwin defines _sys_nerr instead of sys_nerr,
Igor Sysoev <igor@sysoev.ru>
parents: 3787
diff changeset
739
4af1c7f53711 fix building by Cygwin: Cygwin defines _sys_nerr instead of sys_nerr,
Igor Sysoev <igor@sysoev.ru>
parents: 3787
diff changeset
740
3821
573cd56f006b test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents: 3820
diff changeset
741 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
742
573cd56f006b test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents: 3820
diff changeset
743 # 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
744 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
745 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
746 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
747 ngx_feature_incs='#include <errno.h>
3908
8258eb4c9d25 fix r3902
Igor Sysoev <igor@sysoev.ru>
parents: 3901
diff changeset
748 #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
749 #include <stdio.h>'
573cd56f006b test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents: 3820
diff changeset
750 ngx_feature_path=
573cd56f006b test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents: 3820
diff changeset
751 ngx_feature_libs=
573cd56f006b test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents: 3820
diff changeset
752 ngx_feature_test='int n;
3901
c8b9f58c392b fix r3822
Igor Sysoev <igor@sysoev.ru>
parents: 3821
diff changeset
753 char *p;
3821
573cd56f006b test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents: 3820
diff changeset
754 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
755 errno = 0;
3901
c8b9f58c392b fix r3822
Igor Sysoev <igor@sysoev.ru>
parents: 3821
diff changeset
756 p = strerror(n);
c8b9f58c392b fix r3822
Igor Sysoev <igor@sysoev.ru>
parents: 3821
diff changeset
757 if (errno == EINVAL
c8b9f58c392b fix r3822
Igor Sysoev <igor@sysoev.ru>
parents: 3821
diff changeset
758 || p == NULL
c8b9f58c392b fix r3822
Igor Sysoev <igor@sysoev.ru>
parents: 3821
diff changeset
759 || strncmp(p, "Unknown error", 13) == 0)
c8b9f58c392b fix r3822
Igor Sysoev <igor@sysoev.ru>
parents: 3821
diff changeset
760 {
4302
52c881519427 o AIX 7 defines sys_nerr in errno.h, therefore <errno.h> included
Maxim Konovalov <maxim@nginx.com>
parents: 4016
diff changeset
761 break;
3821
573cd56f006b test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents: 3820
diff changeset
762 }
4302
52c881519427 o AIX 7 defines sys_nerr in errno.h, therefore <errno.h> included
Maxim Konovalov <maxim@nginx.com>
parents: 4016
diff changeset
763 }
52c881519427 o AIX 7 defines sys_nerr in errno.h, therefore <errno.h> included
Maxim Konovalov <maxim@nginx.com>
parents: 4016
diff changeset
764 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
765 . auto/feature
573cd56f006b test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents: 3820
diff changeset
766 fi
573cd56f006b test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents: 3820
diff changeset
767
573cd56f006b test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents: 3820
diff changeset
768
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
769 ngx_feature="localtime_r()"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
770 ngx_feature_name="NGX_HAVE_LOCALTIME_R"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
771 ngx_feature_run=no
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
772 ngx_feature_incs="#include <time.h>"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
773 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
774 ngx_feature_libs=
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
775 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
776 . auto/feature
256
8e39cab6abd5 nginx-0.0.2-2004-02-10-19:23:38 import
Igor Sysoev <igor@sysoev.ru>
parents: 253
diff changeset
777
8e39cab6abd5 nginx-0.0.2-2004-02-10-19:23:38 import
Igor Sysoev <igor@sysoev.ru>
parents: 253
diff changeset
778
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
779 ngx_feature="posix_memalign()"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
780 ngx_feature_name="NGX_HAVE_POSIX_MEMALIGN"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
781 ngx_feature_run=no
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
782 ngx_feature_incs="#include <stdlib.h>"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
783 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
784 ngx_feature_libs=
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
785 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
786 if (n != 0) return 1"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
787 . auto/feature
346
55e496a8ece3 nginx-0.0.3-2004-06-06-23:49:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 279
diff changeset
788
55e496a8ece3 nginx-0.0.3-2004-06-06-23:49:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 279
diff changeset
789
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
790 ngx_feature="memalign()"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
791 ngx_feature_name="NGX_HAVE_MEMALIGN"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
792 ngx_feature_run=no
4543
51744fa997c7 Fixed compilation warnings in configuration C tests.
Ruslan Ermilov <ru@nginx.com>
parents: 4475
diff changeset
793 ngx_feature_incs="#include <stdlib.h>
51744fa997c7 Fixed compilation warnings in configuration C tests.
Ruslan Ermilov <ru@nginx.com>
parents: 4475
diff changeset
794 #include <malloc.h>"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
795 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
796 ngx_feature_libs=
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
797 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
798 if (p == NULL) return 1"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
799 . auto/feature
346
55e496a8ece3 nginx-0.0.3-2004-06-06-23:49:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 279
diff changeset
800
55e496a8ece3 nginx-0.0.3-2004-06-06-23:49:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 279
diff changeset
801
358
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(MAP_ANON|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_ANON"
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>"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
806 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
807 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
808 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
809 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
810 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
811 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
812 . auto/feature
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
813
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
814
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
815 ngx_feature='mmap("/dev/zero", MAP_SHARED)'
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
816 ngx_feature_name="NGX_HAVE_MAP_DEVZERO"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
817 ngx_feature_run=yes
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
818 ngx_feature_incs="#include <sys/mman.h>
2598
87e739049e93 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 2512
diff changeset
819 #include <sys/stat.h>
87e739049e93 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 2512
diff changeset
820 #include <fcntl.h>"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
821 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
822 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
823 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
824 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
825 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
826 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
827 . auto/feature
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
828
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
829
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
830 ngx_feature="System V shared memory"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
831 ngx_feature_name="NGX_HAVE_SYSVSHM"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
832 ngx_feature_run=yes
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
833 ngx_feature_incs="#include <sys/ipc.h>
2598
87e739049e93 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 2512
diff changeset
834 #include <sys/shm.h>"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
835 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
836 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
837 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
838 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
839 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
840 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
841 . auto/feature
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
842
355
0fb6c53fb135 nginx-0.0.7-2004-06-15-21:47:16 import
Igor Sysoev <igor@sysoev.ru>
parents: 346
diff changeset
843
3909
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3908
diff changeset
844 ngx_feature="POSIX semaphores"
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3908
diff changeset
845 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
846 ngx_feature_run=yes
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3908
diff changeset
847 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
848 ngx_feature_path=
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3908
diff changeset
849 ngx_feature_libs=
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3908
diff changeset
850 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
851 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
852 sem_destroy(&sem);"
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3908
diff changeset
853 . auto/feature
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3908
diff changeset
854
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3908
diff changeset
855
3931
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
856 if [ $ngx_found = no ]; then
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
857
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
858 # Linux has POSIX semaphores in libpthread
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
859 ngx_feature="POSIX semaphores in libpthread"
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
860 ngx_feature_libs=-lpthread
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
861 . auto/feature
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
862
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
863 if [ $ngx_found = yes ]; then
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
864 CORE_LIBS="$CORE_LIBS -lpthread"
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
865 fi
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
866 fi
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
867
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
868
4003
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
869 if [ $ngx_found = no ]; then
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
870
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
871 # 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
872 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
873 ngx_feature_libs=-lrt
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
874 . auto/feature
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
875
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
876 if [ $ngx_found = yes ]; then
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
877 CORE_LIBS="$CORE_LIBS -lrt"
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
878 fi
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
879 fi
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
880
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
881
358
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
882 ngx_feature="struct msghdr.msg_control"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
883 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
884 ngx_feature_run=no
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
885 ngx_feature_incs="#include <sys/socket.h>
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
886 #include <stdio.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=
4563
cc038cc834be Configure: fixed msghdr.msg_control test on 64bit platforms.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4559
diff changeset
889 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
890 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
891 . auto/feature
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
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
894 ngx_feature="ioctl(FIONBIO)"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
895 ngx_feature_name="NGX_HAVE_FIONBIO"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
896 ngx_feature_run=no
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
897 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
898 #include <stdio.h>
2598
87e739049e93 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 2512
diff changeset
899 $NGX_INCLUDE_SYS_FILIO_H"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
900 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
901 ngx_feature_libs=
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
902 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
903 . auto/feature
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
904
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
905
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
906 ngx_feature="struct tm.tm_gmtoff"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
907 ngx_feature_name="NGX_HAVE_GMTOFF"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
908 ngx_feature_run=no
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
909 ngx_feature_incs="#include <time.h>
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
910 #include <stdio.h>"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
911 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
912 ngx_feature_libs=
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
913 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
914 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
915 . auto/feature
2234
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
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
918 ngx_feature="struct dirent.d_namlen"
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
919 ngx_feature_name="NGX_HAVE_D_NAMLEN"
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
920 ngx_feature_run=no
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
921 ngx_feature_incs="#include <dirent.h>
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
922 #include <stdio.h>"
2234
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
923 ngx_feature_path=
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
924 ngx_feature_libs=
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
925 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
926 printf(\"%d\", (int) dir.d_namlen)"
2234
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
927 . auto/feature
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
928
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
929
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
930 ngx_feature="struct dirent.d_type"
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
931 ngx_feature_name="NGX_HAVE_D_TYPE"
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
932 ngx_feature_run=no
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
933 ngx_feature_incs="#include <dirent.h>
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
934 #include <stdio.h>"
2234
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
935 ngx_feature_path=
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
936 ngx_feature_libs=
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
937 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
938 printf(\"%d\", (int) dir.d_type)"
2234
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
939 . auto/feature
4459
ccb2f8e3d08d Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
940
ccb2f8e3d08d Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
941
ccb2f8e3d08d Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
942 ngx_feature="sysconf(_SC_NPROCESSORS_ONLN)"
ccb2f8e3d08d Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
943 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
944 ngx_feature_run=no
ccb2f8e3d08d Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
945 ngx_feature_incs=
ccb2f8e3d08d Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
946 ngx_feature_path=
ccb2f8e3d08d Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
947 ngx_feature_libs=
ccb2f8e3d08d Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
948 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
949 . auto/feature
4475
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
950
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
951
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
952 ngx_feature="openat(), fstatat()"
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
953 ngx_feature_name="NGX_HAVE_OPENAT"
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
954 ngx_feature_run=no
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
955 ngx_feature_incs="#include <sys/types.h>
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
956 #include <sys/stat.h>
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
957 #include <fcntl.h>"
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
958 ngx_feature_path=
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
959 ngx_feature_libs=
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
960 ngx_feature_test="struct stat sb;
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
961 openat(AT_FDCWD, \".\", O_RDONLY|O_NOFOLLOW);
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
962 fstatat(AT_FDCWD, \".\", &sb, AT_SYMLINK_NOFOLLOW);"
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
963 . auto/feature
4971
eaf95350d75c Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents: 4681
diff changeset
964
eaf95350d75c Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents: 4681
diff changeset
965
eaf95350d75c Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents: 4681
diff changeset
966 ngx_feature="getaddrinfo()"
eaf95350d75c Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents: 4681
diff changeset
967 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
968 ngx_feature_run=no
eaf95350d75c Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents: 4681
diff changeset
969 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
970 #include <sys/socket.h>
eaf95350d75c Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents: 4681
diff changeset
971 #include <netdb.h>"
eaf95350d75c Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents: 4681
diff changeset
972 ngx_feature_path=
eaf95350d75c Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents: 4681
diff changeset
973 ngx_feature_libs=
5314
0300d97c6084 Core: guard use of AI_ADDRCONFIG.
Ruslan Ermilov <ru@nginx.com>
parents: 5312
diff changeset
974 ngx_feature_test='struct addrinfo *res;
0300d97c6084 Core: guard use of AI_ADDRCONFIG.
Ruslan Ermilov <ru@nginx.com>
parents: 5312
diff changeset
975 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
976 freeaddrinfo(res)'
eaf95350d75c Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents: 4681
diff changeset
977 . auto/feature