annotate auto/os/features @ 3052:6060225e9261

FreeBSD and Linux AIO support
author Igor Sysoev <igor@sysoev.ru>
date Fri, 28 Aug 2009 08:12:35 +0000
parents 759ff3e380e3
children e1e290965ed1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
515
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
1
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
2 # Copyright (C) Igor Sysoev
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
3
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
4
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
5 NGX_USER=${NGX_USER:-nobody}
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
6
839
a0ce60f12e6b fix --group= vs --user=
Igor Sysoev <igor@sysoev.ru>
parents: 623
diff changeset
7 if [ -z "$NGX_GROUP" ]; then
a0ce60f12e6b fix --group= vs --user=
Igor Sysoev <igor@sysoev.ru>
parents: 623
diff changeset
8 if [ $NGX_USER = nobody ]; then
a0ce60f12e6b fix --group= vs --user=
Igor Sysoev <igor@sysoev.ru>
parents: 623
diff changeset
9 if grep nobody /etc/group 2>&1 >/dev/null; then
a0ce60f12e6b fix --group= vs --user=
Igor Sysoev <igor@sysoev.ru>
parents: 623
diff changeset
10 echo "checking for nobody group ... found"
a0ce60f12e6b fix --group= vs --user=
Igor Sysoev <igor@sysoev.ru>
parents: 623
diff changeset
11 NGX_GROUP=nobody
a0ce60f12e6b fix --group= vs --user=
Igor Sysoev <igor@sysoev.ru>
parents: 623
diff changeset
12 else
a0ce60f12e6b fix --group= vs --user=
Igor Sysoev <igor@sysoev.ru>
parents: 623
diff changeset
13 echo "checking for nobody group ... not found"
515
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
14
839
a0ce60f12e6b fix --group= vs --user=
Igor Sysoev <igor@sysoev.ru>
parents: 623
diff changeset
15 if grep nogroup /etc/group 2>&1 >/dev/null; then
a0ce60f12e6b fix --group= vs --user=
Igor Sysoev <igor@sysoev.ru>
parents: 623
diff changeset
16 echo "checking for nogroup group ... found"
a0ce60f12e6b fix --group= vs --user=
Igor Sysoev <igor@sysoev.ru>
parents: 623
diff changeset
17 NGX_GROUP=nogroup
a0ce60f12e6b fix --group= vs --user=
Igor Sysoev <igor@sysoev.ru>
parents: 623
diff changeset
18 else
a0ce60f12e6b fix --group= vs --user=
Igor Sysoev <igor@sysoev.ru>
parents: 623
diff changeset
19 echo "checking for nogroup group ... not found"
a0ce60f12e6b fix --group= vs --user=
Igor Sysoev <igor@sysoev.ru>
parents: 623
diff changeset
20 NGX_GROUP=nobody
a0ce60f12e6b fix --group= vs --user=
Igor Sysoev <igor@sysoev.ru>
parents: 623
diff changeset
21 fi
515
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
22 fi
839
a0ce60f12e6b fix --group= vs --user=
Igor Sysoev <igor@sysoev.ru>
parents: 623
diff changeset
23 else
a0ce60f12e6b fix --group= vs --user=
Igor Sysoev <igor@sysoev.ru>
parents: 623
diff changeset
24 NGX_GROUP=$NGX_USER
515
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
25 fi
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
26 fi
577
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 563
diff changeset
27
515
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
28
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
29 ngx_feature="poll()"
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
30 ngx_feature_name=
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
31 ngx_feature_run=no
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
32 ngx_feature_incs="#include <poll.h>"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 839
diff changeset
33 ngx_feature_path=
515
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
34 ngx_feature_libs=
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
35 ngx_feature_test="int n, dp; struct pollfd pl;
577
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 563
diff changeset
36 dp = 0;
515
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
37 pl.fd = 0;
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
38 pl.events = 0;
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
39 pl.revents = 0;
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
40 n = poll(&pl, 1, 0)"
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
41 . auto/feature
577
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 563
diff changeset
42
515
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
43 if [ $ngx_found = no ]; then
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
44 EVENT_POLL=NONE
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
45 fi
577
4d9ea73a627a nginx-0.3.10-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 563
diff changeset
46
515
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
47
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
48 ngx_feature="/dev/poll"
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
49 ngx_feature_name="NGX_HAVE_DEVPOLL"
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
50 ngx_feature_run=no
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
51 ngx_feature_incs="#include <sys/devpoll.h>"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 839
diff changeset
52 ngx_feature_path=
515
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
53 ngx_feature_libs=
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
54 ngx_feature_test="int n, dp; struct dvpoll dvp;
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
55 dp = 0;
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
56 dvp.dp_fds = NULL;
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
57 dvp.dp_nfds = 0;
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
58 dvp.dp_timeout = 0;
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
59 n = ioctl(dp, DP_POLL, &dvp)"
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
60 . auto/feature
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
61
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
62 if [ $ngx_found = yes ]; then
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
63 CORE_SRCS="$CORE_SRCS $DEVPOLL_SRCS"
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
64 EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE"
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
65 EVENT_FOUND=YES
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
66 fi
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
67
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
68
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
69 if test -z "$NGX_KQUEUE_CHECKED"; then
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
70 ngx_feature="kqueue"
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
71 ngx_feature_name="NGX_HAVE_KQUEUE"
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
72 ngx_feature_run=no
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
73 ngx_feature_incs="#include <sys/event.h>"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 839
diff changeset
74 ngx_feature_path=
515
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
75 ngx_feature_libs=
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
76 ngx_feature_test="int kq; kq = kqueue()"
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
77 . auto/feature
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
78
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
79 if [ $ngx_found = yes ]; then
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
80
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
81 have=NGX_HAVE_CLEAR_EVENT . auto/have
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
82 EVENT_MODULES="$EVENT_MODULES $KQUEUE_MODULE"
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
83 CORE_SRCS="$CORE_SRCS $KQUEUE_SRCS"
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
84 EVENT_FOUND=YES
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
85
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
86 ngx_feature="kqueue's NOTE_LOWAT"
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
87 ngx_feature_name="NGX_HAVE_LOWAT_EVENT"
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
88 ngx_feature_run=no
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
89 ngx_feature_incs="#include <sys/event.h>"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 839
diff changeset
90 ngx_feature_path=
515
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
91 ngx_feature_libs=
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
92 ngx_feature_test="struct kevent kev;
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
93 kev.fflags = NOTE_LOWAT;"
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
94 . auto/feature
619
7a16e281c01f nginx-0.3.31-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
95
7a16e281c01f nginx-0.3.31-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
96
7a16e281c01f nginx-0.3.31-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
97 ngx_feature="kqueue's EVFILT_TIMER"
7a16e281c01f nginx-0.3.31-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
98 ngx_feature_name="NGX_HAVE_TIMER_EVENT"
7a16e281c01f nginx-0.3.31-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
99 ngx_feature_run=yes
7a16e281c01f nginx-0.3.31-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
100 ngx_feature_incs="#include <sys/event.h>
2598
87e739049e93 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 2248
diff changeset
101 #include <sys/time.h>"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 839
diff changeset
102 ngx_feature_path=
619
7a16e281c01f nginx-0.3.31-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
103 ngx_feature_libs=
7a16e281c01f nginx-0.3.31-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
104 ngx_feature_test="int kq;
7a16e281c01f nginx-0.3.31-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
105 struct kevent kev;
7a16e281c01f nginx-0.3.31-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
106 struct timespec ts;
7a16e281c01f nginx-0.3.31-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
107
7a16e281c01f nginx-0.3.31-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
108 if ((kq = kqueue()) == -1) return 1;
7a16e281c01f nginx-0.3.31-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
109
7a16e281c01f nginx-0.3.31-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
110 kev.ident = 0;
7a16e281c01f nginx-0.3.31-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
111 kev.filter = EVFILT_TIMER;
7a16e281c01f nginx-0.3.31-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
112 kev.flags = EV_ADD|EV_ENABLE;
7a16e281c01f nginx-0.3.31-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
113 kev.fflags = 0;
7a16e281c01f nginx-0.3.31-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
114 kev.data = 1000;
7a16e281c01f nginx-0.3.31-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
115 kev.udata = 0;
7a16e281c01f nginx-0.3.31-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
116
7a16e281c01f nginx-0.3.31-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
117 ts.tv_sec = 0;
7a16e281c01f nginx-0.3.31-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
118 ts.tv_nsec = 0;
7a16e281c01f nginx-0.3.31-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
119
7a16e281c01f nginx-0.3.31-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
120 if (kevent(kq, &kev, 1, &kev, 1, &ts) == -1) return 1;
7a16e281c01f nginx-0.3.31-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
121
7a16e281c01f nginx-0.3.31-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
122 if (kev.flags & EV_ERROR) return 1;"
7a16e281c01f nginx-0.3.31-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
123
7a16e281c01f nginx-0.3.31-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
124 . auto/feature
515
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
125 fi
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
126 fi
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
127
619
7a16e281c01f nginx-0.3.31-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
128
7a16e281c01f nginx-0.3.31-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 577
diff changeset
129 if [ "$NGX_SYSTEM" = "NetBSD" ]; then
563
9c2f3ed7a247 nginx-0.3.3-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 515
diff changeset
130
515
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
131 # NetBSD 2.0 incompatibly defines kevent.udata as "intptr_t"
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
132
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
133 cat << END >> $NGX_AUTO_CONFIG_H
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
134
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
135 #define NGX_KQUEUE_UDATA_T
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
136
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
137 END
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
138
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
139 else
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
140 cat << END >> $NGX_AUTO_CONFIG_H
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
141
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
142 #define NGX_KQUEUE_UDATA_T (void *)
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
143
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
144 END
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
145
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
146 fi
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
147
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
148
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
149 ngx_feature="crypt()"
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
150 ngx_feature_name=
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
151 ngx_feature_run=no
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
152 ngx_feature_incs=
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 839
diff changeset
153 ngx_feature_path=
515
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
154 ngx_feature_libs=
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
155 ngx_feature_test="crypt(\"test\", \"salt\");"
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
156 . auto/feature
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
157
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
158
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
159 if [ $ngx_found = no ]; then
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
160
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
161 ngx_feature="crypt() in libcrypt"
875
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 839
diff changeset
162 ngx_feature_name=
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 839
diff changeset
163 ngx_feature_run=no
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 839
diff changeset
164 ngx_feature_incs=
7af8276b1c2f test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents: 839
diff changeset
165 ngx_feature_path=
515
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
166 ngx_feature_libs=-lcrypt
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
167 . auto/feature
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
168
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
169 if [ $ngx_found = yes ]; then
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
170 CRYPT_LIB="-lcrypt"
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
171 fi
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
172 fi
2129
25add486e7aa directio
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
173
25add486e7aa directio
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
174
25add486e7aa directio
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
175 ngx_feature="O_DIRECT"
25add486e7aa directio
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
176 ngx_feature_name="NGX_HAVE_O_DIRECT"
25add486e7aa directio
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
177 ngx_feature_run=no
25add486e7aa directio
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
178 ngx_feature_incs="#include <fcntl.h>"
25add486e7aa directio
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
179 ngx_feature_path=
25add486e7aa directio
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
180 ngx_feature_libs=
25add486e7aa directio
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
181 ngx_feature_test="fcntl(0, F_SETFL, O_DIRECT);"
25add486e7aa directio
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
182 . auto/feature
25add486e7aa directio
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
183
25add486e7aa directio
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
184
2248
1adec90a0e46 disable directio for unaligned reads in Linux
Igor Sysoev <igor@sysoev.ru>
parents: 2143
diff changeset
185 if [ $ngx_found = yes -a "$NGX_SYSTEM" = "Linux" ]; then
1adec90a0e46 disable directio for unaligned reads in Linux
Igor Sysoev <igor@sysoev.ru>
parents: 2143
diff changeset
186 have=NGX_HAVE_ALIGNED_DIRECTIO . auto/have
1adec90a0e46 disable directio for unaligned reads in Linux
Igor Sysoev <igor@sysoev.ru>
parents: 2143
diff changeset
187 fi
1adec90a0e46 disable directio for unaligned reads in Linux
Igor Sysoev <igor@sysoev.ru>
parents: 2143
diff changeset
188
2129
25add486e7aa directio
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
189 ngx_feature="F_NOCACHE"
25add486e7aa directio
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
190 ngx_feature_name="NGX_HAVE_F_NOCACHE"
25add486e7aa directio
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
191 ngx_feature_run=no
25add486e7aa directio
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
192 ngx_feature_incs="#include <fcntl.h>"
25add486e7aa directio
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
193 ngx_feature_path=
25add486e7aa directio
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
194 ngx_feature_libs=
25add486e7aa directio
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
195 ngx_feature_test="fcntl(0, F_NOCACHE, 1);"
25add486e7aa directio
Igor Sysoev <igor@sysoev.ru>
parents: 2128
diff changeset
196 . auto/feature
2143
56964e5b77db Solaris directio()
Igor Sysoev <igor@sysoev.ru>
parents: 2129
diff changeset
197
56964e5b77db Solaris directio()
Igor Sysoev <igor@sysoev.ru>
parents: 2129
diff changeset
198
56964e5b77db Solaris directio()
Igor Sysoev <igor@sysoev.ru>
parents: 2129
diff changeset
199 ngx_feature="directio()"
56964e5b77db Solaris directio()
Igor Sysoev <igor@sysoev.ru>
parents: 2129
diff changeset
200 ngx_feature_name="NGX_HAVE_DIRECTIO"
56964e5b77db Solaris directio()
Igor Sysoev <igor@sysoev.ru>
parents: 2129
diff changeset
201 ngx_feature_run=no
56964e5b77db Solaris directio()
Igor Sysoev <igor@sysoev.ru>
parents: 2129
diff changeset
202 ngx_feature_incs="#include <sys/types.h>
56964e5b77db Solaris directio()
Igor Sysoev <igor@sysoev.ru>
parents: 2129
diff changeset
203 #include <sys/fcntl.h>"
56964e5b77db Solaris directio()
Igor Sysoev <igor@sysoev.ru>
parents: 2129
diff changeset
204 ngx_feature_path=
56964e5b77db Solaris directio()
Igor Sysoev <igor@sysoev.ru>
parents: 2129
diff changeset
205 ngx_feature_libs=
56964e5b77db Solaris directio()
Igor Sysoev <igor@sysoev.ru>
parents: 2129
diff changeset
206 ngx_feature_test="directio(0, DIRECTIO_ON);"
56964e5b77db Solaris directio()
Igor Sysoev <igor@sysoev.ru>
parents: 2129
diff changeset
207 . auto/feature
2615
ceef364208c8 ngx_fs_bsize()
Igor Sysoev <igor@sysoev.ru>
parents: 2598
diff changeset
208
ceef364208c8 ngx_fs_bsize()
Igor Sysoev <igor@sysoev.ru>
parents: 2598
diff changeset
209
ceef364208c8 ngx_fs_bsize()
Igor Sysoev <igor@sysoev.ru>
parents: 2598
diff changeset
210 ngx_feature="statfs()"
ceef364208c8 ngx_fs_bsize()
Igor Sysoev <igor@sysoev.ru>
parents: 2598
diff changeset
211 ngx_feature_name="NGX_HAVE_STATFS"
ceef364208c8 ngx_fs_bsize()
Igor Sysoev <igor@sysoev.ru>
parents: 2598
diff changeset
212 ngx_feature_run=no
2624
418c9f97bd01 fix FreeBSD before 7 building, broken in r2616
Igor Sysoev <igor@sysoev.ru>
parents: 2615
diff changeset
213 ngx_feature_incs="$NGX_INCLUDE_SYS_PARAM_H
418c9f97bd01 fix FreeBSD before 7 building, broken in r2616
Igor Sysoev <igor@sysoev.ru>
parents: 2615
diff changeset
214 $NGX_INCLUDE_SYS_MOUNT_H
2615
ceef364208c8 ngx_fs_bsize()
Igor Sysoev <igor@sysoev.ru>
parents: 2598
diff changeset
215 $NGX_INCLUDE_SYS_VFS_H"
ceef364208c8 ngx_fs_bsize()
Igor Sysoev <igor@sysoev.ru>
parents: 2598
diff changeset
216 ngx_feature_path=
ceef364208c8 ngx_fs_bsize()
Igor Sysoev <igor@sysoev.ru>
parents: 2598
diff changeset
217 ngx_feature_libs=
ceef364208c8 ngx_fs_bsize()
Igor Sysoev <igor@sysoev.ru>
parents: 2598
diff changeset
218 ngx_feature_test="struct statfs fs;
ceef364208c8 ngx_fs_bsize()
Igor Sysoev <igor@sysoev.ru>
parents: 2598
diff changeset
219 statfs(NULL, &fs);"
ceef364208c8 ngx_fs_bsize()
Igor Sysoev <igor@sysoev.ru>
parents: 2598
diff changeset
220 . auto/feature
ceef364208c8 ngx_fs_bsize()
Igor Sysoev <igor@sysoev.ru>
parents: 2598
diff changeset
221
ceef364208c8 ngx_fs_bsize()
Igor Sysoev <igor@sysoev.ru>
parents: 2598
diff changeset
222
ceef364208c8 ngx_fs_bsize()
Igor Sysoev <igor@sysoev.ru>
parents: 2598
diff changeset
223 ngx_feature="statvfs()"
ceef364208c8 ngx_fs_bsize()
Igor Sysoev <igor@sysoev.ru>
parents: 2598
diff changeset
224 ngx_feature_name="NGX_HAVE_STATVFS"
ceef364208c8 ngx_fs_bsize()
Igor Sysoev <igor@sysoev.ru>
parents: 2598
diff changeset
225 ngx_feature_run=no
ceef364208c8 ngx_fs_bsize()
Igor Sysoev <igor@sysoev.ru>
parents: 2598
diff changeset
226 ngx_feature_incs="#include <sys/types.h>
ceef364208c8 ngx_fs_bsize()
Igor Sysoev <igor@sysoev.ru>
parents: 2598
diff changeset
227 #include <sys/statvfs.h>"
ceef364208c8 ngx_fs_bsize()
Igor Sysoev <igor@sysoev.ru>
parents: 2598
diff changeset
228 ngx_feature_path=
ceef364208c8 ngx_fs_bsize()
Igor Sysoev <igor@sysoev.ru>
parents: 2598
diff changeset
229 ngx_feature_libs=
ceef364208c8 ngx_fs_bsize()
Igor Sysoev <igor@sysoev.ru>
parents: 2598
diff changeset
230 ngx_feature_test="struct statvfs fs;
ceef364208c8 ngx_fs_bsize()
Igor Sysoev <igor@sysoev.ru>
parents: 2598
diff changeset
231 statvfs(NULL, &fs);"
ceef364208c8 ngx_fs_bsize()
Igor Sysoev <igor@sysoev.ru>
parents: 2598
diff changeset
232 . auto/feature
2880
ed741daa010a test libdl before OpenSSL configuration
Igor Sysoev <igor@sysoev.ru>
parents: 2624
diff changeset
233
ed741daa010a test libdl before OpenSSL configuration
Igor Sysoev <igor@sysoev.ru>
parents: 2624
diff changeset
234
ed741daa010a test libdl before OpenSSL configuration
Igor Sysoev <igor@sysoev.ru>
parents: 2624
diff changeset
235 ngx_feature="dlopen()"
ed741daa010a test libdl before OpenSSL configuration
Igor Sysoev <igor@sysoev.ru>
parents: 2624
diff changeset
236 ngx_feature_name=
ed741daa010a test libdl before OpenSSL configuration
Igor Sysoev <igor@sysoev.ru>
parents: 2624
diff changeset
237 ngx_feature_run=no
ed741daa010a test libdl before OpenSSL configuration
Igor Sysoev <igor@sysoev.ru>
parents: 2624
diff changeset
238 ngx_feature_incs="#include <dlfcn.h>"
ed741daa010a test libdl before OpenSSL configuration
Igor Sysoev <igor@sysoev.ru>
parents: 2624
diff changeset
239 ngx_feature_path=
ed741daa010a test libdl before OpenSSL configuration
Igor Sysoev <igor@sysoev.ru>
parents: 2624
diff changeset
240 ngx_feature_libs=
ed741daa010a test libdl before OpenSSL configuration
Igor Sysoev <igor@sysoev.ru>
parents: 2624
diff changeset
241 ngx_feature_test="dlopen(NULL, 0)"
ed741daa010a test libdl before OpenSSL configuration
Igor Sysoev <igor@sysoev.ru>
parents: 2624
diff changeset
242 . auto/feature
ed741daa010a test libdl before OpenSSL configuration
Igor Sysoev <igor@sysoev.ru>
parents: 2624
diff changeset
243
ed741daa010a test libdl before OpenSSL configuration
Igor Sysoev <igor@sysoev.ru>
parents: 2624
diff changeset
244
ed741daa010a test libdl before OpenSSL configuration
Igor Sysoev <igor@sysoev.ru>
parents: 2624
diff changeset
245 if [ $ngx_found != yes ]; then
ed741daa010a test libdl before OpenSSL configuration
Igor Sysoev <igor@sysoev.ru>
parents: 2624
diff changeset
246
ed741daa010a test libdl before OpenSSL configuration
Igor Sysoev <igor@sysoev.ru>
parents: 2624
diff changeset
247 ngx_feature="dlopen() in libdl"
ed741daa010a test libdl before OpenSSL configuration
Igor Sysoev <igor@sysoev.ru>
parents: 2624
diff changeset
248 ngx_feature_libs="-ldl"
ed741daa010a test libdl before OpenSSL configuration
Igor Sysoev <igor@sysoev.ru>
parents: 2624
diff changeset
249 . auto/feature
ed741daa010a test libdl before OpenSSL configuration
Igor Sysoev <igor@sysoev.ru>
parents: 2624
diff changeset
250
ed741daa010a test libdl before OpenSSL configuration
Igor Sysoev <igor@sysoev.ru>
parents: 2624
diff changeset
251 if [ $ngx_found = yes ]; then
ed741daa010a test libdl before OpenSSL configuration
Igor Sysoev <igor@sysoev.ru>
parents: 2624
diff changeset
252 NGX_LIBDL="-ldl"
ed741daa010a test libdl before OpenSSL configuration
Igor Sysoev <igor@sysoev.ru>
parents: 2624
diff changeset
253 fi
ed741daa010a test libdl before OpenSSL configuration
Igor Sysoev <igor@sysoev.ru>
parents: 2624
diff changeset
254 fi
2916
759ff3e380e3 librt must be tested before creating Makefile
Igor Sysoev <igor@sysoev.ru>
parents: 2880
diff changeset
255
759ff3e380e3 librt must be tested before creating Makefile
Igor Sysoev <igor@sysoev.ru>
parents: 2880
diff changeset
256
759ff3e380e3 librt must be tested before creating Makefile
Igor Sysoev <igor@sysoev.ru>
parents: 2880
diff changeset
257 ngx_feature="sched_yield()"
759ff3e380e3 librt must be tested before creating Makefile
Igor Sysoev <igor@sysoev.ru>
parents: 2880
diff changeset
258 ngx_feature_name="NGX_HAVE_SCHED_YIELD"
759ff3e380e3 librt must be tested before creating Makefile
Igor Sysoev <igor@sysoev.ru>
parents: 2880
diff changeset
259 ngx_feature_run=no
759ff3e380e3 librt must be tested before creating Makefile
Igor Sysoev <igor@sysoev.ru>
parents: 2880
diff changeset
260 ngx_feature_incs="#include <sched.h>"
759ff3e380e3 librt must be tested before creating Makefile
Igor Sysoev <igor@sysoev.ru>
parents: 2880
diff changeset
261 ngx_feature_path=
759ff3e380e3 librt must be tested before creating Makefile
Igor Sysoev <igor@sysoev.ru>
parents: 2880
diff changeset
262 ngx_feature_libs=
759ff3e380e3 librt must be tested before creating Makefile
Igor Sysoev <igor@sysoev.ru>
parents: 2880
diff changeset
263 ngx_feature_test="sched_yield()"
759ff3e380e3 librt must be tested before creating Makefile
Igor Sysoev <igor@sysoev.ru>
parents: 2880
diff changeset
264 . auto/feature
759ff3e380e3 librt must be tested before creating Makefile
Igor Sysoev <igor@sysoev.ru>
parents: 2880
diff changeset
265
759ff3e380e3 librt must be tested before creating Makefile
Igor Sysoev <igor@sysoev.ru>
parents: 2880
diff changeset
266
759ff3e380e3 librt must be tested before creating Makefile
Igor Sysoev <igor@sysoev.ru>
parents: 2880
diff changeset
267 if [ $ngx_found != yes ]; then
759ff3e380e3 librt must be tested before creating Makefile
Igor Sysoev <igor@sysoev.ru>
parents: 2880
diff changeset
268
759ff3e380e3 librt must be tested before creating Makefile
Igor Sysoev <igor@sysoev.ru>
parents: 2880
diff changeset
269 ngx_feature="sched_yield() in librt"
759ff3e380e3 librt must be tested before creating Makefile
Igor Sysoev <igor@sysoev.ru>
parents: 2880
diff changeset
270 ngx_feature_libs="-lrt"
759ff3e380e3 librt must be tested before creating Makefile
Igor Sysoev <igor@sysoev.ru>
parents: 2880
diff changeset
271 . auto/feature
759ff3e380e3 librt must be tested before creating Makefile
Igor Sysoev <igor@sysoev.ru>
parents: 2880
diff changeset
272
759ff3e380e3 librt must be tested before creating Makefile
Igor Sysoev <igor@sysoev.ru>
parents: 2880
diff changeset
273 if [ $ngx_found = yes ]; then
759ff3e380e3 librt must be tested before creating Makefile
Igor Sysoev <igor@sysoev.ru>
parents: 2880
diff changeset
274 CORE_LIBS="$CORE_LIBS -lrt"
759ff3e380e3 librt must be tested before creating Makefile
Igor Sysoev <igor@sysoev.ru>
parents: 2880
diff changeset
275 fi
759ff3e380e3 librt must be tested before creating Makefile
Igor Sysoev <igor@sysoev.ru>
parents: 2880
diff changeset
276 fi
3052
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
277
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
278
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
279 if [ $NGX_FILE_AIO = YES ]; then
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
280 ngx_feature="kqueue AIO support"
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
281 ngx_feature_name="NGX_HAVE_FILE_AIO"
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
282 ngx_feature_run=no
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
283 ngx_feature_incs="#include <aio.h>"
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
284 ngx_feature_path=
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
285 ngx_feature_libs=
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
286 ngx_feature_test="int n; struct aiocb iocb;
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
287 iocb.aio_sigevent.sigev_notify = SIGEV_KEVENT;
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
288 n = aio_read(&iocb)"
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
289 . auto/feature
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
290
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
291 if [ $ngx_found = yes ]; then
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
292 CORE_SRCS="$CORE_SRCS $FILE_AIO_SRCS"
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
293 fi
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
294 fi
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
295
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
296
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
297 if [ $NGX_FILE_AIO = YES ]; then
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
298 ngx_feature="Linux AIO support"
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
299 ngx_feature_name="NGX_HAVE_FILE_AIO"
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
300 ngx_feature_run=no
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
301 ngx_feature_incs="#include <linux/aio_abi.h>
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
302 #include <sys/syscall.h>"
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
303 ngx_feature_path=
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
304 ngx_feature_libs=
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
305 ngx_feature_test="int n = SYS_eventfd;
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
306 struct iocb iocb;
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
307 iocb.aio_lio_opcode = IOCB_CMD_PREAD;
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
308 iocb.aio_flags = IOCB_FLAG_RESFD;
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
309 iocb.aio_resfd = -1;"
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
310 . auto/feature
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
311
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
312 if [ $ngx_found = yes ]; then
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
313 have=NGX_HAVE_EVENTFD . auto/have
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
314 CORE_SRCS="$CORE_SRCS $LINUX_AIO_SRCS"
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
315 fi
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 2916
diff changeset
316 fi