annotate auto/unix @ 7690:8253424d1aff

Added size check to ngx_http_alloc_large_header_buffer(). This ensures that copying won't write more than the buffer size even if the buffer comes from hc->free and it is smaller than the large client header buffer size in the virtual host configuration. This might happen if size of large client header buffers is different in name-based virtual hosts, similarly to the problem with number of buffers fixed in 6926:e662cbf1b932.
author Maxim Dounin <mdounin@mdounin.ru>
date Thu, 06 Aug 2020 05:02:22 +0300
parents efd71d49bde0
children 8cc5b0365ee5
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
7010
c1524829af3d Configure: sched_setaffinity() test moved to auto/unix.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6980
diff changeset
303 ngx_feature="sched_setaffinity()"
c1524829af3d Configure: sched_setaffinity() test moved to auto/unix.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6980
diff changeset
304 ngx_feature_name="NGX_HAVE_SCHED_SETAFFINITY"
c1524829af3d Configure: sched_setaffinity() test moved to auto/unix.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6980
diff changeset
305 ngx_feature_run=no
c1524829af3d Configure: sched_setaffinity() test moved to auto/unix.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6980
diff changeset
306 ngx_feature_incs="#include <sched.h>"
c1524829af3d Configure: sched_setaffinity() test moved to auto/unix.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6980
diff changeset
307 ngx_feature_path=
c1524829af3d Configure: sched_setaffinity() test moved to auto/unix.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6980
diff changeset
308 ngx_feature_libs=
c1524829af3d Configure: sched_setaffinity() test moved to auto/unix.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6980
diff changeset
309 ngx_feature_test="cpu_set_t mask;
c1524829af3d Configure: sched_setaffinity() test moved to auto/unix.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6980
diff changeset
310 CPU_ZERO(&mask);
c1524829af3d Configure: sched_setaffinity() test moved to auto/unix.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6980
diff changeset
311 sched_setaffinity(0, sizeof(cpu_set_t), &mask)"
c1524829af3d Configure: sched_setaffinity() test moved to auto/unix.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6980
diff changeset
312 . auto/feature
c1524829af3d Configure: sched_setaffinity() test moved to auto/unix.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6980
diff changeset
313
c1524829af3d Configure: sched_setaffinity() test moved to auto/unix.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6980
diff changeset
314
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
315 ngx_feature="SO_SETFIB"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
316 ngx_feature_name="NGX_HAVE_SETFIB"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
317 ngx_feature_run=no
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
318 ngx_feature_incs="#include <sys/socket.h>"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
319 ngx_feature_path=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
320 ngx_feature_libs=
6150
0371ef1c24a9 Configure: style.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6019
diff changeset
321 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
322 . auto/feature
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
323
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
324
6153
4f6efabcb09b The "reuseport" option of the "listen" directive.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6150
diff changeset
325 ngx_feature="SO_REUSEPORT"
4f6efabcb09b The "reuseport" option of the "listen" directive.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6150
diff changeset
326 ngx_feature_name="NGX_HAVE_REUSEPORT"
4f6efabcb09b The "reuseport" option of the "listen" directive.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6150
diff changeset
327 ngx_feature_run=no
4f6efabcb09b The "reuseport" option of the "listen" directive.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6150
diff changeset
328 ngx_feature_incs="#include <sys/socket.h>"
4f6efabcb09b The "reuseport" option of the "listen" directive.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6150
diff changeset
329 ngx_feature_path=
4f6efabcb09b The "reuseport" option of the "listen" directive.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6150
diff changeset
330 ngx_feature_libs=
4f6efabcb09b The "reuseport" option of the "listen" directive.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6150
diff changeset
331 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
332 . auto/feature
4f6efabcb09b The "reuseport" option of the "listen" directive.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6150
diff changeset
333
4f6efabcb09b The "reuseport" option of the "listen" directive.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6150
diff changeset
334
4016
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
335 ngx_feature="SO_ACCEPTFILTER"
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
336 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
337 ngx_feature_run=no
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
338 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
339 ngx_feature_path=
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
340 ngx_feature_libs=
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
341 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
342 . auto/feature
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
343
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
344
7171
d3235149d17f Configure: fixed SO_BINDANY comment.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7170
diff changeset
345 # OpenBSD bind to any address for transparent proxying
6530
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
346
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
347 ngx_feature="SO_BINDANY"
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
348 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
349 ngx_feature_run=no
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
350 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
351 ngx_feature_path=
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
352 ngx_feature_libs=
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
353 ngx_feature_test="setsockopt(0, 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
354 . auto/feature
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
355
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
356
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
357 # Linux transparent proxying
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
358
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
359 ngx_feature="IP_TRANSPARENT"
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
360 ngx_feature_name="NGX_HAVE_TRANSPARENT_PROXY"
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
361 ngx_feature_run=no
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
362 ngx_feature_incs="#include <sys/socket.h>
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
363 #include <netinet/in.h>"
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
364 ngx_feature_path=
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
365 ngx_feature_libs=
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
366 ngx_feature_test="setsockopt(0, IPPROTO_IP, IP_TRANSPARENT, NULL, 0)"
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
367 . auto/feature
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
368
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
369
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
370 # 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
371
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
372 ngx_feature="IP_BINDANY"
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
373 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
374 ngx_feature_run=no
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
375 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
376 #include <netinet/in.h>"
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
377 ngx_feature_path=
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
378 ngx_feature_libs=
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
379 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
380 . auto/feature
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
381
1d0e03db9f8e Upstream: the "transparent" parameter of proxy_bind and friends.
Roman Arutyunyan <arut@nginx.com>
parents: 6500
diff changeset
382
7170
d747065c6a98 Configure: moved IP_BIND_ADDRESS_NO_PORT test.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7020
diff changeset
383 # Linux IP_BIND_ADDRESS_NO_PORT
d747065c6a98 Configure: moved IP_BIND_ADDRESS_NO_PORT test.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7020
diff changeset
384
d747065c6a98 Configure: moved IP_BIND_ADDRESS_NO_PORT test.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7020
diff changeset
385 ngx_feature="IP_BIND_ADDRESS_NO_PORT"
d747065c6a98 Configure: moved IP_BIND_ADDRESS_NO_PORT test.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7020
diff changeset
386 ngx_feature_name="NGX_HAVE_IP_BIND_ADDRESS_NO_PORT"
d747065c6a98 Configure: moved IP_BIND_ADDRESS_NO_PORT test.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7020
diff changeset
387 ngx_feature_run=no
d747065c6a98 Configure: moved IP_BIND_ADDRESS_NO_PORT test.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7020
diff changeset
388 ngx_feature_incs="#include <sys/socket.h>
d747065c6a98 Configure: moved IP_BIND_ADDRESS_NO_PORT test.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7020
diff changeset
389 #include <netinet/in.h>"
d747065c6a98 Configure: moved IP_BIND_ADDRESS_NO_PORT test.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7020
diff changeset
390 ngx_feature_path=
d747065c6a98 Configure: moved IP_BIND_ADDRESS_NO_PORT test.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7020
diff changeset
391 ngx_feature_libs=
d747065c6a98 Configure: moved IP_BIND_ADDRESS_NO_PORT test.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7020
diff changeset
392 ngx_feature_test="setsockopt(0, IPPROTO_IP, IP_BIND_ADDRESS_NO_PORT, NULL, 0)"
d747065c6a98 Configure: moved IP_BIND_ADDRESS_NO_PORT test.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7020
diff changeset
393 . auto/feature
d747065c6a98 Configure: moved IP_BIND_ADDRESS_NO_PORT test.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7020
diff changeset
394
d747065c6a98 Configure: moved IP_BIND_ADDRESS_NO_PORT test.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7020
diff changeset
395
6436
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
396 # BSD way to get IPv4 datagram destination address
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
397
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
398 ngx_feature="IP_RECVDSTADDR"
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
399 ngx_feature_name="NGX_HAVE_IP_RECVDSTADDR"
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
400 ngx_feature_run=no
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
401 ngx_feature_incs="#include <sys/socket.h>
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
402 #include <netinet/in.h>"
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
403 ngx_feature_path=
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
404 ngx_feature_libs=
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
405 ngx_feature_test="setsockopt(0, IPPROTO_IP, IP_RECVDSTADDR, NULL, 0)"
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
406 . auto/feature
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
407
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
408
6980
dbb0c854e308 Set UDP datagram source address (ticket #1239).
Roman Arutyunyan <arut@nginx.com>
parents: 6724
diff changeset
409 # 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
410
dbb0c854e308 Set UDP datagram source address (ticket #1239).
Roman Arutyunyan <arut@nginx.com>
parents: 6724
diff changeset
411 ngx_feature="IP_SENDSRCADDR"
dbb0c854e308 Set UDP datagram source address (ticket #1239).
Roman Arutyunyan <arut@nginx.com>
parents: 6724
diff changeset
412 ngx_feature_name="NGX_HAVE_IP_SENDSRCADDR"
dbb0c854e308 Set UDP datagram source address (ticket #1239).
Roman Arutyunyan <arut@nginx.com>
parents: 6724
diff changeset
413 ngx_feature_run=no
dbb0c854e308 Set UDP datagram source address (ticket #1239).
Roman Arutyunyan <arut@nginx.com>
parents: 6724
diff changeset
414 ngx_feature_incs="#include <sys/socket.h>
dbb0c854e308 Set UDP datagram source address (ticket #1239).
Roman Arutyunyan <arut@nginx.com>
parents: 6724
diff changeset
415 #include <netinet/in.h>"
dbb0c854e308 Set UDP datagram source address (ticket #1239).
Roman Arutyunyan <arut@nginx.com>
parents: 6724
diff changeset
416 ngx_feature_path=
dbb0c854e308 Set UDP datagram source address (ticket #1239).
Roman Arutyunyan <arut@nginx.com>
parents: 6724
diff changeset
417 ngx_feature_libs=
dbb0c854e308 Set UDP datagram source address (ticket #1239).
Roman Arutyunyan <arut@nginx.com>
parents: 6724
diff changeset
418 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
419 . auto/feature
dbb0c854e308 Set UDP datagram source address (ticket #1239).
Roman Arutyunyan <arut@nginx.com>
parents: 6724
diff changeset
420
dbb0c854e308 Set UDP datagram source address (ticket #1239).
Roman Arutyunyan <arut@nginx.com>
parents: 6724
diff changeset
421
6436
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
422 # Linux way to get IPv4 datagram destination address
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
423
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
424 ngx_feature="IP_PKTINFO"
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
425 ngx_feature_name="NGX_HAVE_IP_PKTINFO"
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
426 ngx_feature_run=no
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
427 ngx_feature_incs="#include <sys/socket.h>
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
428 #include <netinet/in.h>"
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
429 ngx_feature_path=
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
430 ngx_feature_libs=
7020
716852cce913 Configure: disabled IP_PKTINFO feature on certain platforms.
Roman Arutyunyan <arut@nginx.com>
parents: 7010
diff changeset
431 ngx_feature_test="struct in_pktinfo pkt;
716852cce913 Configure: disabled IP_PKTINFO feature on certain platforms.
Roman Arutyunyan <arut@nginx.com>
parents: 7010
diff changeset
432 pkt.ipi_spec_dst.s_addr = INADDR_ANY;
716852cce913 Configure: disabled IP_PKTINFO feature on certain platforms.
Roman Arutyunyan <arut@nginx.com>
parents: 7010
diff changeset
433 (void) pkt;
716852cce913 Configure: disabled IP_PKTINFO feature on certain platforms.
Roman Arutyunyan <arut@nginx.com>
parents: 7010
diff changeset
434 setsockopt(0, IPPROTO_IP, IP_PKTINFO, NULL, 0)"
6436
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
435 . auto/feature
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
436
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
437
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
438 # RFC 3542 way to get IPv6 datagram destination address
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
439
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
440 ngx_feature="IPV6_RECVPKTINFO"
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
441 ngx_feature_name="NGX_HAVE_IPV6_RECVPKTINFO"
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
442 ngx_feature_run=no
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
443 ngx_feature_incs="#include <sys/socket.h>
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
444 #include <netinet/in.h>"
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
445 ngx_feature_path=
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
446 ngx_feature_libs=
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
447 ngx_feature_test="setsockopt(0, IPPROTO_IPV6, IPV6_RECVPKTINFO, NULL, 0)"
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
448 . auto/feature
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
449
8f038068f4bc Stream: UDP proxy.
Roman Arutyunyan <arut@nginx.com>
parents: 6403
diff changeset
450
4016
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
451 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
452 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
453 ngx_feature_run=no
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
454 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
455 #include <netinet/in.h>
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
456 #include <netinet/tcp.h>"
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
457 ngx_feature_path=
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
458 ngx_feature_libs=
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
459 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
460 . auto/feature
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
461
b044d6553d52 Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4003
diff changeset
462
5367
a15abc456bb5 Configure: TCP_KEEPIDLE test name simplified.
Maxim Dounin <mdounin@mdounin.ru>
parents: 5314
diff changeset
463 ngx_feature="TCP_KEEPIDLE"
4323
c4513d4dd024 Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents: 4302
diff changeset
464 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
465 ngx_feature_run=no
c4513d4dd024 Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents: 4302
diff changeset
466 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
467 #include <netinet/in.h>
c4513d4dd024 Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents: 4302
diff changeset
468 #include <netinet/tcp.h>"
c4513d4dd024 Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents: 4302
diff changeset
469 ngx_feature_path=
c4513d4dd024 Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents: 4302
diff changeset
470 ngx_feature_libs=
c4513d4dd024 Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents: 4302
diff changeset
471 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
472 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
473 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
474 . auto/feature
c4513d4dd024 Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents: 4302
diff changeset
475
c4513d4dd024 Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents: 4302
diff changeset
476
5456
692afcea9d0d Added support for TCP_FASTOPEN supported in Linux >= 3.7.1.
Mathew Rodley <mathew@rodley.com.au>
parents: 5367
diff changeset
477 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
478 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
479 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
480 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
481 #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
482 #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
483 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
484 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
485 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
486 . auto/feature
692afcea9d0d Added support for TCP_FASTOPEN supported in Linux >= 3.7.1.
Mathew Rodley <mathew@rodley.com.au>
parents: 5367
diff changeset
487
692afcea9d0d Added support for TCP_FASTOPEN supported in Linux >= 3.7.1.
Mathew Rodley <mathew@rodley.com.au>
parents: 5367
diff changeset
488
4545
ba39af7274ed Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents: 4543
diff changeset
489 ngx_feature="TCP_INFO"
ba39af7274ed Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents: 4543
diff changeset
490 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
491 ngx_feature_run=no
ba39af7274ed Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents: 4543
diff changeset
492 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
493 #include <netinet/in.h>
ba39af7274ed Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents: 4543
diff changeset
494 #include <netinet/tcp.h>"
ba39af7274ed Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents: 4543
diff changeset
495 ngx_feature_path=
ba39af7274ed Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents: 4543
diff changeset
496 ngx_feature_libs=
ba39af7274ed Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents: 4543
diff changeset
497 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
498 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
499 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
500 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
501 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
502 ti.tcpi_rcv_space = 0;
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
503 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
504 . auto/feature
ba39af7274ed Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents: 4543
diff changeset
505
ba39af7274ed Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, and
Ruslan Ermilov <ru@nginx.com>
parents: 4543
diff changeset
506
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
507 ngx_feature="accept4()"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
508 ngx_feature_name="NGX_HAVE_ACCEPT4"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
509 ngx_feature_run=no
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
510 ngx_feature_incs="#include <sys/socket.h>"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
511 ngx_feature_path=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
512 ngx_feature_libs=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
513 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
514 . auto/feature
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
515
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
516 if [ $NGX_FILE_AIO = YES ]; then
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
517
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
518 ngx_feature="kqueue AIO support"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
519 ngx_feature_name="NGX_HAVE_FILE_AIO"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
520 ngx_feature_run=no
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
521 ngx_feature_incs="#include <aio.h>"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
522 ngx_feature_path=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
523 ngx_feature_libs=
6622
e393c0bf53d3 Configure: fix build with -Werror=unused-but-set-variable.
Piotr Sikora <piotrsikora@google.com>
parents: 6620
diff changeset
524 ngx_feature_test="struct aiocb iocb;
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
525 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
526 (void) aio_read(&iocb)"
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
527 . auto/feature
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
528
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
529 if [ $ngx_found = yes ]; then
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
530 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
531 fi
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
532
5707
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
533 if [ $ngx_found = no ]; then
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
534
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
535 ngx_feature="Linux AIO support"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
536 ngx_feature_name="NGX_HAVE_FILE_AIO"
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
537 ngx_feature_run=no
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
538 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
539 #include <sys/eventfd.h>"
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
540 ngx_feature_path=
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
541 ngx_feature_libs=
5707
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
542 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
543 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
544 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
545 iocb.aio_resfd = -1;
6622
e393c0bf53d3 Configure: fix build with -Werror=unused-but-set-variable.
Piotr Sikora <piotrsikora@google.com>
parents: 6620
diff changeset
546 (void) iocb;
5707
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
547 (void) eventfd(0, 0)"
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
548 . auto/feature
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
549
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
550 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
551 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
552 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
553 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
554 fi
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
555 fi
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
556
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
557 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
558
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
559 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
560 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
561 #include <sys/syscall.h>"
6622
e393c0bf53d3 Configure: fix build with -Werror=unused-but-set-variable.
Piotr Sikora <piotrsikora@google.com>
parents: 6620
diff changeset
562 ngx_feature_test="struct iocb iocb;
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
563 iocb.aio_lio_opcode = IOCB_CMD_PREAD;
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
564 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
565 iocb.aio_resfd = -1;
e393c0bf53d3 Configure: fix build with -Werror=unused-but-set-variable.
Piotr Sikora <piotrsikora@google.com>
parents: 6620
diff changeset
566 (void) iocb;
e393c0bf53d3 Configure: fix build with -Werror=unused-but-set-variable.
Piotr Sikora <piotrsikora@google.com>
parents: 6620
diff changeset
567 (void) SYS_eventfd"
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
568 . auto/feature
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
569
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
570 if [ $ngx_found = yes ]; then
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
571 have=NGX_HAVE_EVENTFD . auto/have
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
572 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
573 fi
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
574 fi
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
575
5707
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
576 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
577 cat << END
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
578
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
579 $0: no supported file AIO was found
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
580 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
581
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
582 END
5707
31dd63dcb9ea Events: use eventfd() instead of syscall(SYS_eventfd) if possible.
Ruslan Ermilov <ru@nginx.com>
parents: 5456
diff changeset
583 exit 1
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
584 fi
6019
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 else
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()"
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
589 ngx_feature_name="NGX_HAVE_EVENTFD"
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
590 ngx_feature_run=no
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
591 ngx_feature_incs="#include <sys/eventfd.h>"
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
592 ngx_feature_path=
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
593 ngx_feature_libs=
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
594 ngx_feature_test="(void) eventfd(0, 0)"
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
595 . auto/feature
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
596
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
597 if [ $ngx_found = yes ]; then
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
598 have=NGX_HAVE_SYS_EVENTFD_H . auto/have
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
599 fi
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
600
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
601 if [ $ngx_found = no ]; then
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
602
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
603 ngx_feature="eventfd() (SYS_eventfd)"
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
604 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
605 ngx_feature_test="(void) SYS_eventfd"
6019
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
606 . auto/feature
40e244e042a7 Events: implemented epoll notification mechanism.
Valentin Bartenev <vbart@nginx.com>
parents: 6008
diff changeset
607 fi
3933
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
608 fi
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
609
b5c169873c6b concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents: 3931
diff changeset
610
479
c52408583801 nginx-0.1.14-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 477
diff changeset
611 have=NGX_HAVE_UNIX_DOMAIN . auto/have
c52408583801 nginx-0.1.14-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 477
diff changeset
612
583
4e296b7d25bf nginx-0.3.13-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 515
diff changeset
613 ngx_feature_libs=
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
614
493
975f62e77f02 nginx-0.1.21-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 485
diff changeset
615
196
11fbd0fc041d nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
616 # C types
11fbd0fc041d nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
617
267
83205e0b5522 nginx-0.0.2-2004-02-24-20:31:46 import
Igor Sysoev <igor@sysoev.ru>
parents: 256
diff changeset
618 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
619
267
83205e0b5522 nginx-0.0.2-2004-02-24-20:31:46 import
Igor Sysoev <igor@sysoev.ru>
parents: 256
diff changeset
620 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
621
267
83205e0b5522 nginx-0.0.2-2004-02-24-20:31:46 import
Igor Sysoev <igor@sysoev.ru>
parents: 256
diff changeset
622 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
623
370
54f76b0b8dca nginx-0.0.7-2004-06-27-22:01:57 import
Igor Sysoev <igor@sysoev.ru>
parents: 361
diff changeset
624 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
625 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
626
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
627
253
b6793bc5034b nginx-0.0.2-2004-02-09-10:46:43 import
Igor Sysoev <igor@sysoev.ru>
parents: 252
diff changeset
628 # POSIX types
196
11fbd0fc041d nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
629
6194
acba1656c474 Configure: fix tests with multi-level relative build directory.
Ruslan Ermilov <ru@nginx.com>
parents: 6153
diff changeset
630 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
631
6500
8426275a13fd Compatibility with FreeBSD 2.2.9.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6436
diff changeset
632 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
633 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
634
370
54f76b0b8dca nginx-0.0.7-2004-06-27-22:01:57 import
Igor Sysoev <igor@sysoev.ru>
parents: 361
diff changeset
635 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
636 . auto/types/sizeof
477
ad1e9ebf93bb nginx-0.1.13-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 473
diff changeset
637 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
638
515
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 509
diff changeset
639 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
640
6500
8426275a13fd Compatibility with FreeBSD 2.2.9.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6436
diff changeset
641 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
642
417
0526206251f6 nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents: 370
diff changeset
643 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
644
370
54f76b0b8dca nginx-0.0.7-2004-06-27-22:01:57 import
Igor Sysoev <igor@sysoev.ru>
parents: 361
diff changeset
645 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
646
11fbd0fc041d nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
647 . 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
648
4681
bb37a9cc08fb Fixed spelling of "endianness", and called it "byte ordering" in the
Ruslan Ermilov <ru@nginx.com>
parents: 4563
diff changeset
649 . auto/endianness
370
54f76b0b8dca nginx-0.0.7-2004-06-27-22:01:57 import
Igor Sysoev <igor@sysoev.ru>
parents: 361
diff changeset
650
473
8e8f3af115b5 nginx-0.1.11-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 469
diff changeset
651 ngx_type="size_t"; . auto/types/sizeof
477
ad1e9ebf93bb nginx-0.1.13-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 473
diff changeset
652 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
653 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
654
473
8e8f3af115b5 nginx-0.1.11-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 469
diff changeset
655 ngx_type="off_t"; . auto/types/sizeof
477
ad1e9ebf93bb nginx-0.1.13-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 473
diff changeset
656 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
657 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
658
8e8f3af115b5 nginx-0.1.11-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 469
diff changeset
659 ngx_type="time_t"; . auto/types/sizeof
477
ad1e9ebf93bb nginx-0.1.13-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 473
diff changeset
660 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
661 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
662 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
663
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
664
358
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
665 # 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
666
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
667
6724
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
668 ngx_feature="AF_INET6"
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
669 ngx_feature_name="NGX_HAVE_INET6"
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
670 ngx_feature_run=no
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
671 ngx_feature_incs="#include <sys/socket.h>
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
672 #include <netinet/in.h>
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
673 #include <arpa/inet.h>"
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
674 ngx_feature_path=
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
675 ngx_feature_libs=
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
676 ngx_feature_test="struct sockaddr_in6 sin6;
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
677 sin6.sin6_family = AF_INET6;
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
678 (void) sin6"
a6d116645c51 Configure: removed the --with-ipv6 option.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6623
diff changeset
679 . auto/feature
2512
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2234
diff changeset
680
2e91aecb9e57 a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents: 2234
diff changeset
681
467
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
682 ngx_feature="setproctitle()"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
683 ngx_feature_name="NGX_HAVE_SETPROCTITLE"
467
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
684 ngx_feature_run=no
4543
51744fa997c7 Fixed compilation warnings in configuration C tests.
Ruslan Ermilov <ru@nginx.com>
parents: 4475
diff changeset
685 ngx_feature_incs="#include <stdlib.h>"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
686 ngx_feature_path=
509
9b8c906f6e63 nginx-0.1.29-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 493
diff changeset
687 ngx_feature_libs=$NGX_SETPROCTITLE_LIB
467
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
688 ngx_feature_test="setproctitle(\"test\");"
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
689 . auto/feature
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
690
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
691
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
692 ngx_feature="pread()"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
693 ngx_feature_name="NGX_HAVE_PREAD"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
694 ngx_feature_run=no
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
695 ngx_feature_incs=
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
696 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
697 ngx_feature_libs=
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
698 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
699 if (n == -1) return 1"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
700 . auto/feature
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
701
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
702
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
703 ngx_feature="pwrite()"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
704 ngx_feature_name="NGX_HAVE_PWRITE"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
705 ngx_feature_run=no
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
706 ngx_feature_incs=
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
707 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
708 ngx_feature_libs=
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
709 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
710 if (n == -1) return 1"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
711 . auto/feature
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
712
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
713
6301
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
714 # 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
715
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
716 ngx_feature="pwritev()"
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
717 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
718 ngx_feature_run=no
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
719 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
720 ngx_feature_path=
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
721 ngx_feature_libs=
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
722 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
723 vec[0].iov_base = buf;
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
724 vec[0].iov_len = 1;
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
725 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
726 if (n == -1) return 1"
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
727 . auto/feature
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
728
b5a87b51be24 Used the pwritev() syscall for writing files where possible.
Valentin Bartenev <vbart@nginx.com>
parents: 6194
diff changeset
729
3787
e294f37401c0 use copied strerror() messages and autoconfigured sys_nerr value
Igor Sysoev <igor@sysoev.ru>
parents: 3472
diff changeset
730 ngx_feature="sys_nerr"
e294f37401c0 use copied strerror() messages and autoconfigured sys_nerr value
Igor Sysoev <igor@sysoev.ru>
parents: 3472
diff changeset
731 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
732 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
733 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
734 #include <stdio.h>'
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
735 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
736 ngx_feature_libs=
3787
e294f37401c0 use copied strerror() messages and autoconfigured sys_nerr value
Igor Sysoev <igor@sysoev.ru>
parents: 3472
diff changeset
737 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
738 . auto/feature
65481698535c use sys_errlist[] in signal handler instead
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
739
65481698535c use sys_errlist[] in signal handler instead
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
740
3819
5e1e406f10ff test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents: 3811
diff changeset
741 if [ $ngx_found = no ]; then
3820
af202ffad952 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 3819
diff changeset
742
3819
5e1e406f10ff test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents: 3811
diff changeset
743 # 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
744 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
745 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
746 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
747 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
748 #include <stdio.h>'
5e1e406f10ff test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents: 3811
diff changeset
749 ngx_feature_path=
5e1e406f10ff test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents: 3811
diff changeset
750 ngx_feature_libs=
5e1e406f10ff test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents: 3811
diff changeset
751 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
752 . auto/feature
5e1e406f10ff test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents: 3811
diff changeset
753 fi
3811
4af1c7f53711 fix building by Cygwin: Cygwin defines _sys_nerr instead of sys_nerr,
Igor Sysoev <igor@sysoev.ru>
parents: 3787
diff changeset
754
4af1c7f53711 fix building by Cygwin: Cygwin defines _sys_nerr instead of sys_nerr,
Igor Sysoev <igor@sysoev.ru>
parents: 3787
diff changeset
755
3821
573cd56f006b test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents: 3820
diff changeset
756 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
757
573cd56f006b test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents: 3820
diff changeset
758 # 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
759 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
760 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
761 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
762 ngx_feature_incs='#include <errno.h>
3908
8258eb4c9d25 fix r3902
Igor Sysoev <igor@sysoev.ru>
parents: 3901
diff changeset
763 #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
764 #include <stdio.h>'
573cd56f006b test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents: 3820
diff changeset
765 ngx_feature_path=
573cd56f006b test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents: 3820
diff changeset
766 ngx_feature_libs=
573cd56f006b test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents: 3820
diff changeset
767 ngx_feature_test='int n;
3901
c8b9f58c392b fix r3822
Igor Sysoev <igor@sysoev.ru>
parents: 3821
diff changeset
768 char *p;
3821
573cd56f006b test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents: 3820
diff changeset
769 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
770 errno = 0;
3901
c8b9f58c392b fix r3822
Igor Sysoev <igor@sysoev.ru>
parents: 3821
diff changeset
771 p = strerror(n);
c8b9f58c392b fix r3822
Igor Sysoev <igor@sysoev.ru>
parents: 3821
diff changeset
772 if (errno == EINVAL
c8b9f58c392b fix r3822
Igor Sysoev <igor@sysoev.ru>
parents: 3821
diff changeset
773 || p == NULL
c8b9f58c392b fix r3822
Igor Sysoev <igor@sysoev.ru>
parents: 3821
diff changeset
774 || strncmp(p, "Unknown error", 13) == 0)
c8b9f58c392b fix r3822
Igor Sysoev <igor@sysoev.ru>
parents: 3821
diff changeset
775 {
4302
52c881519427 o AIX 7 defines sys_nerr in errno.h, therefore <errno.h> included
Maxim Konovalov <maxim@nginx.com>
parents: 4016
diff changeset
776 break;
3821
573cd56f006b test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents: 3820
diff changeset
777 }
4302
52c881519427 o AIX 7 defines sys_nerr in errno.h, therefore <errno.h> included
Maxim Konovalov <maxim@nginx.com>
parents: 4016
diff changeset
778 }
52c881519427 o AIX 7 defines sys_nerr in errno.h, therefore <errno.h> included
Maxim Konovalov <maxim@nginx.com>
parents: 4016
diff changeset
779 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
780 . auto/feature
573cd56f006b test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents: 3820
diff changeset
781 fi
573cd56f006b test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents: 3820
diff changeset
782
573cd56f006b test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents: 3820
diff changeset
783
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
784 ngx_feature="localtime_r()"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
785 ngx_feature_name="NGX_HAVE_LOCALTIME_R"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
786 ngx_feature_run=no
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
787 ngx_feature_incs="#include <time.h>"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
788 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
789 ngx_feature_libs=
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
790 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
791 . auto/feature
256
8e39cab6abd5 nginx-0.0.2-2004-02-10-19:23:38 import
Igor Sysoev <igor@sysoev.ru>
parents: 253
diff changeset
792
8e39cab6abd5 nginx-0.0.2-2004-02-10-19:23:38 import
Igor Sysoev <igor@sysoev.ru>
parents: 253
diff changeset
793
7222
81fae70d6cb8 Core: ngx_current_msec now uses monotonic time if available.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7173
diff changeset
794 ngx_feature="clock_gettime(CLOCK_MONOTONIC)"
81fae70d6cb8 Core: ngx_current_msec now uses monotonic time if available.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7173
diff changeset
795 ngx_feature_name="NGX_HAVE_CLOCK_MONOTONIC"
81fae70d6cb8 Core: ngx_current_msec now uses monotonic time if available.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7173
diff changeset
796 ngx_feature_run=no
81fae70d6cb8 Core: ngx_current_msec now uses monotonic time if available.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7173
diff changeset
797 ngx_feature_incs="#include <time.h>"
81fae70d6cb8 Core: ngx_current_msec now uses monotonic time if available.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7173
diff changeset
798 ngx_feature_path=
81fae70d6cb8 Core: ngx_current_msec now uses monotonic time if available.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7173
diff changeset
799 ngx_feature_libs=
81fae70d6cb8 Core: ngx_current_msec now uses monotonic time if available.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7173
diff changeset
800 ngx_feature_test="struct timespec ts; clock_gettime(CLOCK_MONOTONIC, &ts)"
81fae70d6cb8 Core: ngx_current_msec now uses monotonic time if available.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7173
diff changeset
801 . auto/feature
81fae70d6cb8 Core: ngx_current_msec now uses monotonic time if available.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7173
diff changeset
802
81fae70d6cb8 Core: ngx_current_msec now uses monotonic time if available.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7173
diff changeset
803
81fae70d6cb8 Core: ngx_current_msec now uses monotonic time if available.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7173
diff changeset
804 if [ $ngx_found = no ]; then
81fae70d6cb8 Core: ngx_current_msec now uses monotonic time if available.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7173
diff changeset
805
81fae70d6cb8 Core: ngx_current_msec now uses monotonic time if available.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7173
diff changeset
806 # Linux before glibc 2.17, notably CentOS 6
81fae70d6cb8 Core: ngx_current_msec now uses monotonic time if available.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7173
diff changeset
807
81fae70d6cb8 Core: ngx_current_msec now uses monotonic time if available.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7173
diff changeset
808 ngx_feature="clock_gettime(CLOCK_MONOTONIC) in librt"
81fae70d6cb8 Core: ngx_current_msec now uses monotonic time if available.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7173
diff changeset
809 ngx_feature_libs="-lrt"
81fae70d6cb8 Core: ngx_current_msec now uses monotonic time if available.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7173
diff changeset
810 . auto/feature
81fae70d6cb8 Core: ngx_current_msec now uses monotonic time if available.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7173
diff changeset
811
81fae70d6cb8 Core: ngx_current_msec now uses monotonic time if available.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7173
diff changeset
812 if [ $ngx_found = yes ]; then
81fae70d6cb8 Core: ngx_current_msec now uses monotonic time if available.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7173
diff changeset
813 CORE_LIBS="$CORE_LIBS -lrt"
81fae70d6cb8 Core: ngx_current_msec now uses monotonic time if available.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7173
diff changeset
814 fi
81fae70d6cb8 Core: ngx_current_msec now uses monotonic time if available.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7173
diff changeset
815 fi
81fae70d6cb8 Core: ngx_current_msec now uses monotonic time if available.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7173
diff changeset
816
81fae70d6cb8 Core: ngx_current_msec now uses monotonic time if available.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7173
diff changeset
817
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
818 ngx_feature="posix_memalign()"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
819 ngx_feature_name="NGX_HAVE_POSIX_MEMALIGN"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
820 ngx_feature_run=no
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
821 ngx_feature_incs="#include <stdlib.h>"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
822 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
823 ngx_feature_libs=
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
824 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
825 if (n != 0) return 1"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
826 . auto/feature
346
55e496a8ece3 nginx-0.0.3-2004-06-06-23:49:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 279
diff changeset
827
55e496a8ece3 nginx-0.0.3-2004-06-06-23:49:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 279
diff changeset
828
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
829 ngx_feature="memalign()"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
830 ngx_feature_name="NGX_HAVE_MEMALIGN"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
831 ngx_feature_run=no
4543
51744fa997c7 Fixed compilation warnings in configuration C tests.
Ruslan Ermilov <ru@nginx.com>
parents: 4475
diff changeset
832 ngx_feature_incs="#include <stdlib.h>
51744fa997c7 Fixed compilation warnings in configuration C tests.
Ruslan Ermilov <ru@nginx.com>
parents: 4475
diff changeset
833 #include <malloc.h>"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
834 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
835 ngx_feature_libs=
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
836 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
837 if (p == NULL) return 1"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
838 . auto/feature
346
55e496a8ece3 nginx-0.0.3-2004-06-06-23:49:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 279
diff changeset
839
55e496a8ece3 nginx-0.0.3-2004-06-06-23:49:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 279
diff changeset
840
358
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
841 ngx_feature="mmap(MAP_ANON|MAP_SHARED)"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
842 ngx_feature_name="NGX_HAVE_MAP_ANON"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
843 ngx_feature_run=yes
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
844 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
845 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
846 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
847 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
848 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
849 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
850 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
851 . auto/feature
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
852
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
853
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
854 ngx_feature='mmap("/dev/zero", MAP_SHARED)'
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
855 ngx_feature_name="NGX_HAVE_MAP_DEVZERO"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
856 ngx_feature_run=yes
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
857 ngx_feature_incs="#include <sys/mman.h>
2598
87e739049e93 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 2512
diff changeset
858 #include <sys/stat.h>
87e739049e93 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 2512
diff changeset
859 #include <fcntl.h>"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
860 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
861 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
862 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
863 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
864 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
865 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
866 . auto/feature
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
867
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
868
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
869 ngx_feature="System V shared memory"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
870 ngx_feature_name="NGX_HAVE_SYSVSHM"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
871 ngx_feature_run=yes
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
872 ngx_feature_incs="#include <sys/ipc.h>
2598
87e739049e93 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 2512
diff changeset
873 #include <sys/shm.h>"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
874 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
875 ngx_feature_libs=
358
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
876 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
877 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
878 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
879 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
880 . auto/feature
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
881
355
0fb6c53fb135 nginx-0.0.7-2004-06-15-21:47:16 import
Igor Sysoev <igor@sysoev.ru>
parents: 346
diff changeset
882
3909
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3908
diff changeset
883 ngx_feature="POSIX semaphores"
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3908
diff changeset
884 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
885 ngx_feature_run=yes
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3908
diff changeset
886 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
887 ngx_feature_path=
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3908
diff changeset
888 ngx_feature_libs=
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3908
diff changeset
889 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
890 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
891 sem_destroy(&sem);"
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3908
diff changeset
892 . auto/feature
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3908
diff changeset
893
0daede16d68b use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents: 3908
diff changeset
894
3931
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
895 if [ $ngx_found = no ]; then
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
896
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
897 # Linux has POSIX semaphores in libpthread
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
898 ngx_feature="POSIX semaphores in libpthread"
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
899 ngx_feature_libs=-lpthread
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
900 . auto/feature
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
901
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
902 if [ $ngx_found = yes ]; then
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
903 CORE_LIBS="$CORE_LIBS -lpthread"
7246
04ebf29eaf5b Configure: fixed static compilation with OpenSSL 1.1.1.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7222
diff changeset
904 NGX_LIBPTHREAD="-lpthread"
3931
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
905 fi
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
906 fi
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
907
c8884c8f7c74 Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents: 3909
diff changeset
908
4003
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
909 if [ $ngx_found = no ]; then
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
910
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
911 # 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
912 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
913 ngx_feature_libs=-lrt
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
914 . auto/feature
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
915
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
916 if [ $ngx_found = yes ]; then
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
917 CORE_LIBS="$CORE_LIBS -lrt"
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
918 fi
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
919 fi
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
920
8cca96abbc3e Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents: 3933
diff changeset
921
358
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
922 ngx_feature="struct msghdr.msg_control"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
923 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
924 ngx_feature_run=no
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
925 ngx_feature_incs="#include <sys/socket.h>
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
926 #include <stdio.h>"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
927 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
928 ngx_feature_libs=
4563
cc038cc834be Configure: fixed msghdr.msg_control test on 64bit platforms.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4559
diff changeset
929 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
930 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
931 . auto/feature
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
932
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
933
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
934 ngx_feature="ioctl(FIONBIO)"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
935 ngx_feature_name="NGX_HAVE_FIONBIO"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
936 ngx_feature_run=no
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
937 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
938 #include <stdio.h>
2598
87e739049e93 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 2512
diff changeset
939 $NGX_INCLUDE_SYS_FILIO_H"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
940 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
941 ngx_feature_libs=
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
942 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
943 . auto/feature
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
944
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
945
7583
efd71d49bde0 Events: available bytes calculation via ioctl(FIONREAD).
Maxim Dounin <mdounin@mdounin.ru>
parents: 7246
diff changeset
946 ngx_feature="ioctl(FIONREAD)"
efd71d49bde0 Events: available bytes calculation via ioctl(FIONREAD).
Maxim Dounin <mdounin@mdounin.ru>
parents: 7246
diff changeset
947 ngx_feature_name="NGX_HAVE_FIONREAD"
efd71d49bde0 Events: available bytes calculation via ioctl(FIONREAD).
Maxim Dounin <mdounin@mdounin.ru>
parents: 7246
diff changeset
948 ngx_feature_run=no
efd71d49bde0 Events: available bytes calculation via ioctl(FIONREAD).
Maxim Dounin <mdounin@mdounin.ru>
parents: 7246
diff changeset
949 ngx_feature_incs="#include <sys/ioctl.h>
efd71d49bde0 Events: available bytes calculation via ioctl(FIONREAD).
Maxim Dounin <mdounin@mdounin.ru>
parents: 7246
diff changeset
950 #include <stdio.h>
efd71d49bde0 Events: available bytes calculation via ioctl(FIONREAD).
Maxim Dounin <mdounin@mdounin.ru>
parents: 7246
diff changeset
951 $NGX_INCLUDE_SYS_FILIO_H"
efd71d49bde0 Events: available bytes calculation via ioctl(FIONREAD).
Maxim Dounin <mdounin@mdounin.ru>
parents: 7246
diff changeset
952 ngx_feature_path=
efd71d49bde0 Events: available bytes calculation via ioctl(FIONREAD).
Maxim Dounin <mdounin@mdounin.ru>
parents: 7246
diff changeset
953 ngx_feature_libs=
efd71d49bde0 Events: available bytes calculation via ioctl(FIONREAD).
Maxim Dounin <mdounin@mdounin.ru>
parents: 7246
diff changeset
954 ngx_feature_test="int i = FIONREAD; printf(\"%d\", i)"
efd71d49bde0 Events: available bytes calculation via ioctl(FIONREAD).
Maxim Dounin <mdounin@mdounin.ru>
parents: 7246
diff changeset
955 . auto/feature
efd71d49bde0 Events: available bytes calculation via ioctl(FIONREAD).
Maxim Dounin <mdounin@mdounin.ru>
parents: 7246
diff changeset
956
efd71d49bde0 Events: available bytes calculation via ioctl(FIONREAD).
Maxim Dounin <mdounin@mdounin.ru>
parents: 7246
diff changeset
957
358
0a03c921c81d nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents: 355
diff changeset
958 ngx_feature="struct tm.tm_gmtoff"
469
2ff194b74f1e nginx-0.1.9-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
959 ngx_feature_name="NGX_HAVE_GMTOFF"
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
960 ngx_feature_run=no
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
961 ngx_feature_incs="#include <time.h>
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
962 #include <stdio.h>"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 665
diff changeset
963 ngx_feature_path=
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
964 ngx_feature_libs=
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
965 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
966 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
967 . auto/feature
2234
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
968
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
969
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
970 ngx_feature="struct dirent.d_namlen"
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
971 ngx_feature_name="NGX_HAVE_D_NAMLEN"
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
972 ngx_feature_run=no
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
973 ngx_feature_incs="#include <dirent.h>
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
974 #include <stdio.h>"
2234
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
975 ngx_feature_path=
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
976 ngx_feature_libs=
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
977 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
978 printf(\"%d\", (int) dir.d_namlen)"
2234
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
979 . auto/feature
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
980
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
981
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
982 ngx_feature="struct dirent.d_type"
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
983 ngx_feature_name="NGX_HAVE_D_TYPE"
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
984 ngx_feature_run=no
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
985 ngx_feature_incs="#include <dirent.h>
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
986 #include <stdio.h>"
2234
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
987 ngx_feature_path=
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
988 ngx_feature_libs=
4559
62d8db8c7157 Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4550
diff changeset
989 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
990 printf(\"%d\", (int) dir.d_type)"
2234
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 875
diff changeset
991 . auto/feature
4459
ccb2f8e3d08d Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
992
ccb2f8e3d08d Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
993
ccb2f8e3d08d Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
994 ngx_feature="sysconf(_SC_NPROCESSORS_ONLN)"
ccb2f8e3d08d Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
995 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
996 ngx_feature_run=no
ccb2f8e3d08d Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
997 ngx_feature_incs=
ccb2f8e3d08d Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
998 ngx_feature_path=
ccb2f8e3d08d Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
999 ngx_feature_libs=
ccb2f8e3d08d Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents: 4412
diff changeset
1000 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
1001 . auto/feature
4475
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
1002
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
1003
7173
057adb2a9d23 Use sysconf to determine cacheline size at runtime.
Debayan Ghosh <debayang.qdt@qualcommdatacenter.com>
parents: 7171
diff changeset
1004 ngx_feature="sysconf(_SC_LEVEL1_DCACHE_LINESIZE)"
057adb2a9d23 Use sysconf to determine cacheline size at runtime.
Debayan Ghosh <debayang.qdt@qualcommdatacenter.com>
parents: 7171
diff changeset
1005 ngx_feature_name="NGX_HAVE_LEVEL1_DCACHE_LINESIZE"
057adb2a9d23 Use sysconf to determine cacheline size at runtime.
Debayan Ghosh <debayang.qdt@qualcommdatacenter.com>
parents: 7171
diff changeset
1006 ngx_feature_run=no
057adb2a9d23 Use sysconf to determine cacheline size at runtime.
Debayan Ghosh <debayang.qdt@qualcommdatacenter.com>
parents: 7171
diff changeset
1007 ngx_feature_incs=
057adb2a9d23 Use sysconf to determine cacheline size at runtime.
Debayan Ghosh <debayang.qdt@qualcommdatacenter.com>
parents: 7171
diff changeset
1008 ngx_feature_path=
057adb2a9d23 Use sysconf to determine cacheline size at runtime.
Debayan Ghosh <debayang.qdt@qualcommdatacenter.com>
parents: 7171
diff changeset
1009 ngx_feature_libs=
057adb2a9d23 Use sysconf to determine cacheline size at runtime.
Debayan Ghosh <debayang.qdt@qualcommdatacenter.com>
parents: 7171
diff changeset
1010 ngx_feature_test="sysconf(_SC_LEVEL1_DCACHE_LINESIZE)"
057adb2a9d23 Use sysconf to determine cacheline size at runtime.
Debayan Ghosh <debayang.qdt@qualcommdatacenter.com>
parents: 7171
diff changeset
1011 . auto/feature
057adb2a9d23 Use sysconf to determine cacheline size at runtime.
Debayan Ghosh <debayang.qdt@qualcommdatacenter.com>
parents: 7171
diff changeset
1012
057adb2a9d23 Use sysconf to determine cacheline size at runtime.
Debayan Ghosh <debayang.qdt@qualcommdatacenter.com>
parents: 7171
diff changeset
1013
4475
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
1014 ngx_feature="openat(), fstatat()"
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
1015 ngx_feature_name="NGX_HAVE_OPENAT"
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
1016 ngx_feature_run=no
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
1017 ngx_feature_incs="#include <sys/types.h>
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
1018 #include <sys/stat.h>
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
1019 #include <fcntl.h>"
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
1020 ngx_feature_path=
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
1021 ngx_feature_libs=
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
1022 ngx_feature_test="struct stat sb;
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
1023 openat(AT_FDCWD, \".\", O_RDONLY|O_NOFOLLOW);
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
1024 fstatat(AT_FDCWD, \".\", &sb, AT_SYMLINK_NOFOLLOW);"
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4459
diff changeset
1025 . auto/feature
4971
eaf95350d75c Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents: 4681
diff changeset
1026
eaf95350d75c Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents: 4681
diff changeset
1027
eaf95350d75c Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents: 4681
diff changeset
1028 ngx_feature="getaddrinfo()"
eaf95350d75c Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents: 4681
diff changeset
1029 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
1030 ngx_feature_run=no
eaf95350d75c Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents: 4681
diff changeset
1031 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
1032 #include <sys/socket.h>
eaf95350d75c Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents: 4681
diff changeset
1033 #include <netdb.h>"
eaf95350d75c Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents: 4681
diff changeset
1034 ngx_feature_path=
eaf95350d75c Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents: 4681
diff changeset
1035 ngx_feature_libs=
5314
0300d97c6084 Core: guard use of AI_ADDRCONFIG.
Ruslan Ermilov <ru@nginx.com>
parents: 5312
diff changeset
1036 ngx_feature_test='struct addrinfo *res;
0300d97c6084 Core: guard use of AI_ADDRCONFIG.
Ruslan Ermilov <ru@nginx.com>
parents: 5312
diff changeset
1037 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
1038 freeaddrinfo(res)'
eaf95350d75c Implemented IPv6 support for URLs specified using domain names.
Ruslan Ermilov <ru@nginx.com>
parents: 4681
diff changeset
1039 . auto/feature