Mercurial > hg > nginx
annotate auto/unix @ 4471:b19a651471d9
Core: protection from subrequest loops.
Without the protection, subrequest loop results in r->count overflow and
SIGSEGV. Protection was broken in 0.7.25.
Note that this also limits number of parallel subrequests. This
wasn't exactly the case before 0.7.25 as local subrequests were
completed directly.
See here for details:
http://nginx.org/pipermail/nginx-ru/2010-February/032184.html
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Mon, 13 Feb 2012 15:33:08 +0000 |
parents | ccb2f8e3d08d |
children | 0b05acc045eb |
rev | line source |
---|---|
444
42d11f017717
nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents:
417
diff
changeset
|
1 |
42d11f017717
nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents:
417
diff
changeset
|
2 # Copyright (C) Igor Sysoev |
4412 | 3 # Copyright (C) Nginx, Inc. |
444
42d11f017717
nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents:
417
diff
changeset
|
4 |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
5 |
3933
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
6 NGX_USER=${NGX_USER:-nobody} |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
7 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
8 if [ -z "$NGX_GROUP" ]; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
9 if [ $NGX_USER = nobody ]; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
10 if grep nobody /etc/group 2>&1 >/dev/null; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
11 echo "checking for nobody group ... found" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
12 NGX_GROUP=nobody |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
13 else |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
14 echo "checking for nobody group ... not found" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
15 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
16 if grep nogroup /etc/group 2>&1 >/dev/null; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
17 echo "checking for nogroup group ... found" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
18 NGX_GROUP=nogroup |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
19 else |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
20 echo "checking for nogroup group ... not found" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
21 NGX_GROUP=nobody |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
22 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
23 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
24 else |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
25 NGX_GROUP=$NGX_USER |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
26 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
27 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
28 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
29 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
30 ngx_feature="poll()" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
31 ngx_feature_name= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
32 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
33 ngx_feature_incs="#include <poll.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
34 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
35 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
36 ngx_feature_test="int n, dp; struct pollfd pl; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
37 dp = 0; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
38 pl.fd = 0; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
39 pl.events = 0; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
40 pl.revents = 0; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
41 n = poll(&pl, 1, 0)" |
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; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
60 n = ioctl(dp, DP_POLL, &dvp)" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
61 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
62 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
63 if [ $ngx_found = yes ]; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
64 CORE_SRCS="$CORE_SRCS $DEVPOLL_SRCS" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
65 EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
66 EVENT_FOUND=YES |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
67 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
68 |
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 if test -z "$NGX_KQUEUE_CHECKED"; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
71 ngx_feature="kqueue" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
72 ngx_feature_name="NGX_HAVE_KQUEUE" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
73 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
74 ngx_feature_incs="#include <sys/event.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
75 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
76 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
77 ngx_feature_test="int kq; kq = kqueue()" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
78 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
79 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
80 if [ $ngx_found = yes ]; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
81 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
82 have=NGX_HAVE_CLEAR_EVENT . auto/have |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
83 EVENT_MODULES="$EVENT_MODULES $KQUEUE_MODULE" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
84 CORE_SRCS="$CORE_SRCS $KQUEUE_SRCS" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
85 EVENT_FOUND=YES |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
86 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
87 ngx_feature="kqueue's NOTE_LOWAT" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
88 ngx_feature_name="NGX_HAVE_LOWAT_EVENT" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
89 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
90 ngx_feature_incs="#include <sys/event.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
91 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
92 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
93 ngx_feature_test="struct kevent kev; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
94 kev.fflags = NOTE_LOWAT;" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
95 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
96 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
97 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
98 ngx_feature="kqueue's EVFILT_TIMER" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
99 ngx_feature_name="NGX_HAVE_TIMER_EVENT" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
100 ngx_feature_run=yes |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
101 ngx_feature_incs="#include <sys/event.h> |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
102 #include <sys/time.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
103 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
104 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
105 ngx_feature_test="int kq; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
106 struct kevent kev; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
107 struct timespec ts; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
108 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
109 if ((kq = kqueue()) == -1) return 1; |
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 kev.ident = 0; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
112 kev.filter = EVFILT_TIMER; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
113 kev.flags = EV_ADD|EV_ENABLE; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
114 kev.fflags = 0; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
115 kev.data = 1000; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
116 kev.udata = 0; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
117 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
118 ts.tv_sec = 0; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
119 ts.tv_nsec = 0; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
120 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
121 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
|
122 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
123 if (kev.flags & EV_ERROR) 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 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
126 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
127 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
128 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
129 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
130 if [ "$NGX_SYSTEM" = "NetBSD" ]; then |
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 # 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
|
133 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
134 cat << END >> $NGX_AUTO_CONFIG_H |
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 #define NGX_KQUEUE_UDATA_T |
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 END |
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 else |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
141 cat << END >> $NGX_AUTO_CONFIG_H |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
142 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
143 #define NGX_KQUEUE_UDATA_T (void *) |
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 END |
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 fi |
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 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
150 ngx_feature="crypt()" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
151 ngx_feature_name= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
152 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
153 ngx_feature_incs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
154 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
155 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
156 ngx_feature_test="crypt(\"test\", \"salt\");" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
157 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
158 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
159 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
160 if [ $ngx_found = no ]; then |
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 ngx_feature="crypt() in libcrypt" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
163 ngx_feature_name= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
164 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
165 ngx_feature_incs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
166 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
167 ngx_feature_libs=-lcrypt |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
168 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
169 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
170 if [ $ngx_found = yes ]; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
171 CRYPT_LIB="-lcrypt" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
172 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
173 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
174 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
175 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
176 ngx_feature="F_READAHEAD" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
177 ngx_feature_name="NGX_HAVE_F_READAHEAD" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
178 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
179 ngx_feature_incs="#include <fcntl.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
180 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
181 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
182 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
|
183 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
184 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
185 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
186 ngx_feature="posix_fadvise()" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
187 ngx_feature_name="NGX_HAVE_POSIX_FADVISE" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
188 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
189 ngx_feature_incs="#include <fcntl.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
190 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
191 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
192 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
|
193 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
194 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
195 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
196 ngx_feature="O_DIRECT" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
197 ngx_feature_name="NGX_HAVE_O_DIRECT" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
198 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
199 ngx_feature_incs="#include <fcntl.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
200 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
201 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
202 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
|
203 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
204 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
205 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
206 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
|
207 have=NGX_HAVE_ALIGNED_DIRECTIO . auto/have |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
208 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
209 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
210 ngx_feature="F_NOCACHE" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
211 ngx_feature_name="NGX_HAVE_F_NOCACHE" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
212 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
213 ngx_feature_incs="#include <fcntl.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
214 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
215 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
216 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
|
217 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
218 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
219 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
220 ngx_feature="directio()" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
221 ngx_feature_name="NGX_HAVE_DIRECTIO" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
222 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
223 ngx_feature_incs="#include <sys/types.h> |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
224 #include <sys/fcntl.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
225 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
226 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
227 ngx_feature_test="directio(0, DIRECTIO_ON);" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
228 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
229 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
230 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
231 ngx_feature="statfs()" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
232 ngx_feature_name="NGX_HAVE_STATFS" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
233 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
234 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
|
235 $NGX_INCLUDE_SYS_MOUNT_H |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
236 $NGX_INCLUDE_SYS_VFS_H" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
237 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
238 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
239 ngx_feature_test="struct statfs fs; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
240 statfs(NULL, &fs);" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
241 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
242 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
243 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
244 ngx_feature="statvfs()" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
245 ngx_feature_name="NGX_HAVE_STATVFS" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
246 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
247 ngx_feature_incs="#include <sys/types.h> |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
248 #include <sys/statvfs.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
249 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
250 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
251 ngx_feature_test="struct statvfs fs; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
252 statvfs(NULL, &fs);" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
253 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
254 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
255 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
256 ngx_feature="dlopen()" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
257 ngx_feature_name= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
258 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
259 ngx_feature_incs="#include <dlfcn.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
260 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
261 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
262 ngx_feature_test="dlopen(NULL, 0)" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
263 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
264 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
265 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
266 if [ $ngx_found != yes ]; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
267 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
268 ngx_feature="dlopen() in libdl" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
269 ngx_feature_libs="-ldl" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
270 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
271 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
272 if [ $ngx_found = yes ]; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
273 NGX_LIBDL="-ldl" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
274 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
275 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
276 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
277 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
278 ngx_feature="sched_yield()" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
279 ngx_feature_name="NGX_HAVE_SCHED_YIELD" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
280 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
281 ngx_feature_incs="#include <sched.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
282 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
283 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
284 ngx_feature_test="sched_yield()" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
285 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
286 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
287 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
288 if [ $ngx_found != yes ]; then |
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 ngx_feature="sched_yield() in librt" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
291 ngx_feature_libs="-lrt" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
292 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
293 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
294 if [ $ngx_found = yes ]; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
295 CORE_LIBS="$CORE_LIBS -lrt" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
296 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
297 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
298 |
4016
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
299 |
3933
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
300 ngx_feature="SO_SETFIB" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
301 ngx_feature_name="NGX_HAVE_SETFIB" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
302 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
303 ngx_feature_incs="#include <sys/socket.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
304 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
305 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
306 ngx_feature_test="setsockopt(0, SOL_SOCKET, SO_SETFIB, NULL, 4)" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
307 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
308 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
309 |
4016
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
310 ngx_feature="SO_ACCEPTFILTER" |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
311 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
|
312 ngx_feature_run=no |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
313 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
|
314 ngx_feature_path= |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
315 ngx_feature_libs= |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
316 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
|
317 . auto/feature |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
318 |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
319 |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
320 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
|
321 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
|
322 ngx_feature_run=no |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
323 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
|
324 #include <netinet/in.h> |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
325 #include <netinet/tcp.h>" |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
326 ngx_feature_path= |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
327 ngx_feature_libs= |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
328 ngx_feature_test="setsockopt(0, 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
|
329 . auto/feature |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
330 |
b044d6553d52
Move SO_ACCEPTFILTER and TCP_DEFER_ACCEPT checks into configure.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4003
diff
changeset
|
331 |
4323
c4513d4dd024
Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents:
4302
diff
changeset
|
332 ngx_feature="TCP_KEEPIDLE, TCP_KEEPINTVL, TCP_KEEPCNT" |
c4513d4dd024
Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents:
4302
diff
changeset
|
333 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
|
334 ngx_feature_run=no |
c4513d4dd024
Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents:
4302
diff
changeset
|
335 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
|
336 #include <netinet/in.h> |
c4513d4dd024
Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents:
4302
diff
changeset
|
337 #include <netinet/tcp.h>" |
c4513d4dd024
Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents:
4302
diff
changeset
|
338 ngx_feature_path= |
c4513d4dd024
Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents:
4302
diff
changeset
|
339 ngx_feature_libs= |
c4513d4dd024
Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents:
4302
diff
changeset
|
340 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
|
341 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
|
342 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
|
343 . auto/feature |
c4513d4dd024
Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents:
4302
diff
changeset
|
344 |
c4513d4dd024
Added the "so_keepalive=" parameter to the "listen" directive.
Valentin Bartenev <vbart@nginx.com>
parents:
4302
diff
changeset
|
345 |
3933
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
346 ngx_feature="accept4()" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
347 ngx_feature_name="NGX_HAVE_ACCEPT4" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
348 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
349 ngx_feature_incs="#include <sys/socket.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
350 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
351 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
352 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
|
353 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
354 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
355 if [ $NGX_FILE_AIO = YES ]; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
356 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
357 ngx_feature="kqueue AIO support" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
358 ngx_feature_name="NGX_HAVE_FILE_AIO" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
359 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
360 ngx_feature_incs="#include <aio.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
361 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
362 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
363 ngx_feature_test="int n; struct aiocb iocb; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
364 iocb.aio_sigevent.sigev_notify = SIGEV_KEVENT; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
365 n = aio_read(&iocb)" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
366 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
367 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
368 if [ $ngx_found = yes ]; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
369 CORE_SRCS="$CORE_SRCS $FILE_AIO_SRCS" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
370 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
371 elif [ $ngx_found = no ]; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
372 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
373 ngx_feature="Linux AIO support" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
374 ngx_feature_name="NGX_HAVE_FILE_AIO" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
375 ngx_feature_run=no |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
376 ngx_feature_incs="#include <linux/aio_abi.h> |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
377 #include <sys/syscall.h>" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
378 ngx_feature_path= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
379 ngx_feature_libs= |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
380 ngx_feature_test="int n = SYS_eventfd; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
381 struct iocb iocb; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
382 iocb.aio_lio_opcode = IOCB_CMD_PREAD; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
383 iocb.aio_flags = IOCB_FLAG_RESFD; |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
384 iocb.aio_resfd = -1;" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
385 . auto/feature |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
386 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
387 if [ $ngx_found = yes ]; then |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
388 have=NGX_HAVE_EVENTFD . auto/have |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
389 CORE_SRCS="$CORE_SRCS $LINUX_AIO_SRCS" |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
390 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
391 else |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
392 cat << END |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
393 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
394 $0: no supported file AIO was found |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
395 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
|
396 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
397 END |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
398 exit 1 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
399 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
400 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
401 fi |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
402 |
b5c169873c6b
concatenate auto/os/features and auto/unix
Igor Sysoev <igor@sysoev.ru>
parents:
3931
diff
changeset
|
403 |
479 | 404 have=NGX_HAVE_UNIX_DOMAIN . auto/have |
405 | |
583 | 406 ngx_feature_libs= |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
407 |
493 | 408 |
196
11fbd0fc041d
nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
195
diff
changeset
|
409 # C types |
11fbd0fc041d
nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
195
diff
changeset
|
410 |
267
83205e0b5522
nginx-0.0.2-2004-02-24-20:31:46 import
Igor Sysoev <igor@sysoev.ru>
parents:
256
diff
changeset
|
411 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
|
412 |
267
83205e0b5522
nginx-0.0.2-2004-02-24-20:31:46 import
Igor Sysoev <igor@sysoev.ru>
parents:
256
diff
changeset
|
413 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
|
414 |
267
83205e0b5522
nginx-0.0.2-2004-02-24-20:31:46 import
Igor Sysoev <igor@sysoev.ru>
parents:
256
diff
changeset
|
415 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
|
416 |
370
54f76b0b8dca
nginx-0.0.7-2004-06-27-22:01:57 import
Igor Sysoev <igor@sysoev.ru>
parents:
361
diff
changeset
|
417 ngx_type="void *"; . auto/types/sizeof; ngx_ptr_size=$ngx_size |
493 | 418 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
|
419 |
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
420 |
253
b6793bc5034b
nginx-0.0.2-2004-02-09-10:46:43 import
Igor Sysoev <igor@sysoev.ru>
parents:
252
diff
changeset
|
421 # POSIX types |
196
11fbd0fc041d
nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
195
diff
changeset
|
422 |
665 | 423 case "$NGX_AUTO_CONFIG_H" in |
424 /*) | |
425 NGX_INCLUDE_AUTO_CONFIG_H="#include \"$NGX_AUTO_CONFIG_H\"" | |
426 ;; | |
427 *) | |
428 NGX_INCLUDE_AUTO_CONFIG_H="#include \"../$NGX_AUTO_CONFIG_H\"" | |
429 ;; | |
430 esac | |
196
11fbd0fc041d
nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
195
diff
changeset
|
431 |
370
54f76b0b8dca
nginx-0.0.7-2004-06-27-22:01:57 import
Igor Sysoev <igor@sysoev.ru>
parents:
361
diff
changeset
|
432 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
|
433 |
370
54f76b0b8dca
nginx-0.0.7-2004-06-27-22:01:57 import
Igor Sysoev <igor@sysoev.ru>
parents:
361
diff
changeset
|
434 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
|
435 . auto/types/sizeof |
477 | 436 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
|
437 |
515 | 438 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
|
439 |
370
54f76b0b8dca
nginx-0.0.7-2004-06-27-22:01:57 import
Igor Sysoev <igor@sysoev.ru>
parents:
361
diff
changeset
|
440 ngx_type="in_addr_t"; ngx_types="uint32_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
|
441 |
417
0526206251f6
nginx-0.0.10-2004-09-07-19:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
370
diff
changeset
|
442 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
|
443 |
370
54f76b0b8dca
nginx-0.0.7-2004-06-27-22:01:57 import
Igor Sysoev <igor@sysoev.ru>
parents:
361
diff
changeset
|
444 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
|
445 |
11fbd0fc041d
nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
195
diff
changeset
|
446 . 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
|
447 |
370
54f76b0b8dca
nginx-0.0.7-2004-06-27-22:01:57 import
Igor Sysoev <igor@sysoev.ru>
parents:
361
diff
changeset
|
448 . auto/endianess |
54f76b0b8dca
nginx-0.0.7-2004-06-27-22:01:57 import
Igor Sysoev <igor@sysoev.ru>
parents:
361
diff
changeset
|
449 |
473 | 450 ngx_type="size_t"; . auto/types/sizeof |
477 | 451 ngx_param=NGX_MAX_SIZE_T_VALUE; ngx_value=$ngx_max_value; . auto/types/value |
452 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
|
453 |
473 | 454 ngx_type="off_t"; . auto/types/sizeof |
477 | 455 ngx_param=NGX_MAX_OFF_T_VALUE; ngx_value=$ngx_max_value; . auto/types/value |
456 ngx_param=NGX_OFF_T_LEN; ngx_value=$ngx_max_len; . auto/types/value | |
473 | 457 |
458 ngx_type="time_t"; . auto/types/sizeof | |
477 | 459 ngx_param=NGX_TIME_T_SIZE; ngx_value=$ngx_size; . auto/types/value |
460 ngx_param=NGX_TIME_T_LEN; ngx_value=$ngx_max_len; . auto/types/value | |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
461 |
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
462 |
358
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
463 # 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
|
464 |
455 | 465 |
2512
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2234
diff
changeset
|
466 if [ $NGX_IPV6 = YES ]; then |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2234
diff
changeset
|
467 ngx_feature="AF_INET6" |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2234
diff
changeset
|
468 ngx_feature_name="NGX_HAVE_INET6" |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2234
diff
changeset
|
469 ngx_feature_run=no |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2234
diff
changeset
|
470 ngx_feature_incs="#include <sys/socket.h> |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2234
diff
changeset
|
471 #include <netinet/in.h> |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2234
diff
changeset
|
472 #include <arpa/inet.h>" |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2234
diff
changeset
|
473 ngx_feature_path= |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2234
diff
changeset
|
474 ngx_feature_libs= |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2234
diff
changeset
|
475 ngx_feature_test="struct sockaddr_in6 sin6; |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2234
diff
changeset
|
476 sin6.sin6_family = AF_INET6;" |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2234
diff
changeset
|
477 . auto/feature |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2234
diff
changeset
|
478 fi |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2234
diff
changeset
|
479 |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2234
diff
changeset
|
480 |
467 | 481 ngx_feature="setproctitle()" |
469 | 482 ngx_feature_name="NGX_HAVE_SETPROCTITLE" |
467 | 483 ngx_feature_run=no |
484 ngx_feature_incs= | |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
665
diff
changeset
|
485 ngx_feature_path= |
509 | 486 ngx_feature_libs=$NGX_SETPROCTITLE_LIB |
467 | 487 ngx_feature_test="setproctitle(\"test\");" |
488 . auto/feature | |
489 | |
490 | |
455 | 491 ngx_feature="pread()" |
469 | 492 ngx_feature_name="NGX_HAVE_PREAD" |
455 | 493 ngx_feature_run=no |
494 ngx_feature_incs= | |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
665
diff
changeset
|
495 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
|
496 ngx_feature_libs= |
455 | 497 ngx_feature_test="char buf[1]; ssize_t n; n = pread(0, buf, 1, 0)" |
498 . auto/feature | |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
499 |
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
500 |
455 | 501 ngx_feature="pwrite()" |
469 | 502 ngx_feature_name="NGX_HAVE_PWRITE" |
455 | 503 ngx_feature_run=no |
504 ngx_feature_incs= | |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
665
diff
changeset
|
505 ngx_feature_path= |
455 | 506 ngx_feature_libs= |
507 ngx_feature_test="char buf[1]; ssize_t n; n = pwrite(1, buf, 1, 0)" | |
508 . auto/feature | |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
509 |
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
510 |
3787
e294f37401c0
use copied strerror() messages and autoconfigured sys_nerr value
Igor Sysoev <igor@sysoev.ru>
parents:
3472
diff
changeset
|
511 ngx_feature="sys_nerr" |
e294f37401c0
use copied strerror() messages and autoconfigured sys_nerr value
Igor Sysoev <igor@sysoev.ru>
parents:
3472
diff
changeset
|
512 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
|
513 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
|
514 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
|
515 #include <stdio.h>' |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
665
diff
changeset
|
516 ngx_feature_path= |
455 | 517 ngx_feature_libs= |
3787
e294f37401c0
use copied strerror() messages and autoconfigured sys_nerr value
Igor Sysoev <igor@sysoev.ru>
parents:
3472
diff
changeset
|
518 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
|
519 . auto/feature |
65481698535c
use sys_errlist[] in signal handler instead
Igor Sysoev <igor@sysoev.ru>
parents:
2916
diff
changeset
|
520 |
65481698535c
use sys_errlist[] in signal handler instead
Igor Sysoev <igor@sysoev.ru>
parents:
2916
diff
changeset
|
521 |
3819
5e1e406f10ff
test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents:
3811
diff
changeset
|
522 if [ $ngx_found = no ]; then |
3820 | 523 |
3819
5e1e406f10ff
test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents:
3811
diff
changeset
|
524 # 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
|
525 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
|
526 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
|
527 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
|
528 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
|
529 #include <stdio.h>' |
5e1e406f10ff
test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents:
3811
diff
changeset
|
530 ngx_feature_path= |
5e1e406f10ff
test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents:
3811
diff
changeset
|
531 ngx_feature_libs= |
5e1e406f10ff
test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents:
3811
diff
changeset
|
532 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
|
533 . auto/feature |
5e1e406f10ff
test for _sys_nerr only if sys_nerr was not found
Igor Sysoev <igor@sysoev.ru>
parents:
3811
diff
changeset
|
534 fi |
3811
4af1c7f53711
fix building by Cygwin: Cygwin defines _sys_nerr instead of sys_nerr,
Igor Sysoev <igor@sysoev.ru>
parents:
3787
diff
changeset
|
535 |
4af1c7f53711
fix building by Cygwin: Cygwin defines _sys_nerr instead of sys_nerr,
Igor Sysoev <igor@sysoev.ru>
parents:
3787
diff
changeset
|
536 |
3821
573cd56f006b
test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents:
3820
diff
changeset
|
537 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
|
538 |
573cd56f006b
test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents:
3820
diff
changeset
|
539 # 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
|
540 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
|
541 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
|
542 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
|
543 ngx_feature_incs='#include <errno.h> |
3908 | 544 #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
|
545 #include <stdio.h>' |
573cd56f006b
test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents:
3820
diff
changeset
|
546 ngx_feature_path= |
573cd56f006b
test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents:
3820
diff
changeset
|
547 ngx_feature_libs= |
573cd56f006b
test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents:
3820
diff
changeset
|
548 ngx_feature_test='int n; |
3901 | 549 char *p; |
3821
573cd56f006b
test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents:
3820
diff
changeset
|
550 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
|
551 errno = 0; |
3901 | 552 p = strerror(n); |
553 if (errno == EINVAL | |
554 || p == NULL | |
555 || strncmp(p, "Unknown error", 13) == 0) | |
556 { | |
4302
52c881519427
o AIX 7 defines sys_nerr in errno.h, therefore <errno.h> included
Maxim Konovalov <maxim@nginx.com>
parents:
4016
diff
changeset
|
557 break; |
3821
573cd56f006b
test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents:
3820
diff
changeset
|
558 } |
4302
52c881519427
o AIX 7 defines sys_nerr in errno.h, therefore <errno.h> included
Maxim Konovalov <maxim@nginx.com>
parents:
4016
diff
changeset
|
559 } |
52c881519427
o AIX 7 defines sys_nerr in errno.h, therefore <errno.h> included
Maxim Konovalov <maxim@nginx.com>
parents:
4016
diff
changeset
|
560 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
|
561 . auto/feature |
573cd56f006b
test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents:
3820
diff
changeset
|
562 fi |
573cd56f006b
test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents:
3820
diff
changeset
|
563 |
573cd56f006b
test for maximum errno value, since Solaris has no sys_nerr
Igor Sysoev <igor@sysoev.ru>
parents:
3820
diff
changeset
|
564 |
455 | 565 ngx_feature="localtime_r()" |
469 | 566 ngx_feature_name="NGX_HAVE_LOCALTIME_R" |
455 | 567 ngx_feature_run=no |
568 ngx_feature_incs="#include <time.h>" | |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
665
diff
changeset
|
569 ngx_feature_path= |
455 | 570 ngx_feature_libs= |
571 ngx_feature_test="struct tm t; time_t c=0; localtime_r(&c, &t)" | |
572 . auto/feature | |
256
8e39cab6abd5
nginx-0.0.2-2004-02-10-19:23:38 import
Igor Sysoev <igor@sysoev.ru>
parents:
253
diff
changeset
|
573 |
8e39cab6abd5
nginx-0.0.2-2004-02-10-19:23:38 import
Igor Sysoev <igor@sysoev.ru>
parents:
253
diff
changeset
|
574 |
455 | 575 ngx_feature="posix_memalign()" |
469 | 576 ngx_feature_name="NGX_HAVE_POSIX_MEMALIGN" |
455 | 577 ngx_feature_run=no |
578 ngx_feature_incs="#include <stdlib.h>" | |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
665
diff
changeset
|
579 ngx_feature_path= |
455 | 580 ngx_feature_libs= |
581 ngx_feature_test="void *p; int n; n = posix_memalign(&p, 4096, 4096)" | |
582 . auto/feature | |
346
55e496a8ece3
nginx-0.0.3-2004-06-06-23:49:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
583 |
55e496a8ece3
nginx-0.0.3-2004-06-06-23:49:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
584 |
455 | 585 ngx_feature="memalign()" |
469 | 586 ngx_feature_name="NGX_HAVE_MEMALIGN" |
455 | 587 ngx_feature_run=no |
588 ngx_feature_incs="#include <stdlib.h>" | |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
665
diff
changeset
|
589 ngx_feature_path= |
455 | 590 ngx_feature_libs= |
591 ngx_feature_test="void *p; p = memalign(4096, 4096)" | |
592 . auto/feature | |
346
55e496a8ece3
nginx-0.0.3-2004-06-06-23:49:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
593 |
55e496a8ece3
nginx-0.0.3-2004-06-06-23:49:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
279
diff
changeset
|
594 |
358
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
595 ngx_feature="mmap(MAP_ANON|MAP_SHARED)" |
469 | 596 ngx_feature_name="NGX_HAVE_MAP_ANON" |
455 | 597 ngx_feature_run=yes |
598 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
|
599 ngx_feature_path= |
455 | 600 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
|
601 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
|
602 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
|
603 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
|
604 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
|
605 . auto/feature |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
606 |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
607 |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
608 ngx_feature='mmap("/dev/zero", MAP_SHARED)' |
469 | 609 ngx_feature_name="NGX_HAVE_MAP_DEVZERO" |
455 | 610 ngx_feature_run=yes |
611 ngx_feature_incs="#include <sys/mman.h> | |
2598 | 612 #include <sys/stat.h> |
613 #include <fcntl.h>" | |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
665
diff
changeset
|
614 ngx_feature_path= |
455 | 615 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
|
616 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
|
617 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
|
618 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
|
619 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
|
620 . auto/feature |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
621 |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
622 |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
623 ngx_feature="System V shared memory" |
469 | 624 ngx_feature_name="NGX_HAVE_SYSVSHM" |
455 | 625 ngx_feature_run=yes |
626 ngx_feature_incs="#include <sys/ipc.h> | |
2598 | 627 #include <sys/shm.h>" |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
665
diff
changeset
|
628 ngx_feature_path= |
455 | 629 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
|
630 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
|
631 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
|
632 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
|
633 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
|
634 . auto/feature |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
635 |
355
0fb6c53fb135
nginx-0.0.7-2004-06-15-21:47:16 import
Igor Sysoev <igor@sysoev.ru>
parents:
346
diff
changeset
|
636 |
3909
0daede16d68b
use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents:
3908
diff
changeset
|
637 ngx_feature="POSIX semaphores" |
0daede16d68b
use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents:
3908
diff
changeset
|
638 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
|
639 ngx_feature_run=yes |
0daede16d68b
use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents:
3908
diff
changeset
|
640 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
|
641 ngx_feature_path= |
0daede16d68b
use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents:
3908
diff
changeset
|
642 ngx_feature_libs= |
0daede16d68b
use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents:
3908
diff
changeset
|
643 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
|
644 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
|
645 sem_destroy(&sem);" |
0daede16d68b
use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents:
3908
diff
changeset
|
646 . auto/feature |
0daede16d68b
use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents:
3908
diff
changeset
|
647 |
0daede16d68b
use POSIX semaphores in shmtx instead of sched_yield()
Igor Sysoev <igor@sysoev.ru>
parents:
3908
diff
changeset
|
648 |
3931
c8884c8f7c74
Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents:
3909
diff
changeset
|
649 if [ $ngx_found = no ]; then |
c8884c8f7c74
Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents:
3909
diff
changeset
|
650 |
c8884c8f7c74
Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents:
3909
diff
changeset
|
651 # Linux has POSIX semaphores in libpthread |
c8884c8f7c74
Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents:
3909
diff
changeset
|
652 ngx_feature="POSIX semaphores in libpthread" |
c8884c8f7c74
Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents:
3909
diff
changeset
|
653 ngx_feature_libs=-lpthread |
c8884c8f7c74
Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents:
3909
diff
changeset
|
654 . auto/feature |
c8884c8f7c74
Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents:
3909
diff
changeset
|
655 |
c8884c8f7c74
Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents:
3909
diff
changeset
|
656 if [ $ngx_found = yes ]; then |
c8884c8f7c74
Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents:
3909
diff
changeset
|
657 CORE_LIBS="$CORE_LIBS -lpthread" |
c8884c8f7c74
Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents:
3909
diff
changeset
|
658 fi |
c8884c8f7c74
Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents:
3909
diff
changeset
|
659 fi |
c8884c8f7c74
Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents:
3909
diff
changeset
|
660 |
c8884c8f7c74
Support POSIX semaphores on Linux.
Igor Sysoev <igor@sysoev.ru>
parents:
3909
diff
changeset
|
661 |
4003
8cca96abbc3e
Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents:
3933
diff
changeset
|
662 if [ $ngx_found = no ]; then |
8cca96abbc3e
Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents:
3933
diff
changeset
|
663 |
8cca96abbc3e
Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents:
3933
diff
changeset
|
664 # 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
|
665 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
|
666 ngx_feature_libs=-lrt |
8cca96abbc3e
Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents:
3933
diff
changeset
|
667 . auto/feature |
8cca96abbc3e
Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents:
3933
diff
changeset
|
668 |
8cca96abbc3e
Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents:
3933
diff
changeset
|
669 if [ $ngx_found = yes ]; then |
8cca96abbc3e
Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents:
3933
diff
changeset
|
670 CORE_LIBS="$CORE_LIBS -lrt" |
8cca96abbc3e
Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents:
3933
diff
changeset
|
671 fi |
8cca96abbc3e
Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents:
3933
diff
changeset
|
672 fi |
8cca96abbc3e
Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents:
3933
diff
changeset
|
673 |
8cca96abbc3e
Detect POSIX semaphores in librt on Solaris (ticket #3).
Maxim Dounin <mdounin@mdounin.ru>
parents:
3933
diff
changeset
|
674 |
358
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
675 ngx_feature="struct msghdr.msg_control" |
469 | 676 ngx_feature_name="NGX_HAVE_MSGHDR_MSG_CONTROL" |
455 | 677 ngx_feature_run=no |
678 ngx_feature_incs="#include <sys/socket.h>" | |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
665
diff
changeset
|
679 ngx_feature_path= |
455 | 680 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
|
681 ngx_feature_test="struct msghdr msg; msg.msg_control = NULL" |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
682 . auto/feature |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
683 |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
684 |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
685 ngx_feature="ioctl(FIONBIO)" |
469 | 686 ngx_feature_name="NGX_HAVE_FIONBIO" |
455 | 687 ngx_feature_run=no |
688 ngx_feature_incs="#include <sys/ioctl.h> | |
2598 | 689 $NGX_INCLUDE_SYS_FILIO_H" |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
665
diff
changeset
|
690 ngx_feature_path= |
455 | 691 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
|
692 ngx_feature_test="int i; i = FIONBIO" |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
693 . auto/feature |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
694 |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
695 |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
696 ngx_feature="struct tm.tm_gmtoff" |
469 | 697 ngx_feature_name="NGX_HAVE_GMTOFF" |
455 | 698 ngx_feature_run=no |
699 ngx_feature_incs="#include <time.h>" | |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
665
diff
changeset
|
700 ngx_feature_path= |
455 | 701 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
|
702 ngx_feature_test="struct tm tm; tm.tm_gmtoff = 0" |
0a03c921c81d
nginx-0.0.7-2004-06-17-21:18:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
703 . auto/feature |
2234
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
704 |
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
705 |
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
706 ngx_feature="struct dirent.d_namlen" |
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
707 ngx_feature_name="NGX_HAVE_D_NAMLEN" |
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
708 ngx_feature_run=no |
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
709 ngx_feature_incs="#include <dirent.h>" |
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
710 ngx_feature_path= |
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
711 ngx_feature_libs= |
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
712 ngx_feature_test="struct dirent dir; dir.d_namlen = 0" |
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
713 . auto/feature |
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
714 |
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
715 |
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
716 ngx_feature="struct dirent.d_type" |
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
717 ngx_feature_name="NGX_HAVE_D_TYPE" |
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
718 ngx_feature_run=no |
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
719 ngx_feature_incs="#include <dirent.h>" |
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
720 ngx_feature_path= |
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
721 ngx_feature_libs= |
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
722 ngx_feature_test="struct dirent dir; dir.d_type = DT_REG" |
c7c319896bb4
*) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents:
875
diff
changeset
|
723 . auto/feature |
4459
ccb2f8e3d08d
Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents:
4412
diff
changeset
|
724 |
ccb2f8e3d08d
Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents:
4412
diff
changeset
|
725 |
ccb2f8e3d08d
Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents:
4412
diff
changeset
|
726 ngx_feature="sysconf(_SC_NPROCESSORS_ONLN)" |
ccb2f8e3d08d
Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents:
4412
diff
changeset
|
727 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
|
728 ngx_feature_run=no |
ccb2f8e3d08d
Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents:
4412
diff
changeset
|
729 ngx_feature_incs= |
ccb2f8e3d08d
Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents:
4412
diff
changeset
|
730 ngx_feature_path= |
ccb2f8e3d08d
Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents:
4412
diff
changeset
|
731 ngx_feature_libs= |
ccb2f8e3d08d
Added ngx_ncpu detection for most *nix platforms.
Valentin Bartenev <vbart@nginx.com>
parents:
4412
diff
changeset
|
732 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
|
733 . auto/feature |