64
|
1
|
|
2 # Copyright (C) Igor Sysoev
|
|
3
|
|
4
|
|
5 NGX_USER=${NGX_USER:-nobody}
|
|
6
|
|
7 if [ -z "$NGX_GROUP" -a $NGX_USER = nobody ] ; then
|
|
8 if grep nobody /etc/group 2>&1 >/dev/null; then
|
|
9 echo "checking for nobody group ... found"
|
|
10 NGX_GROUP=nobody
|
|
11 else
|
|
12 echo "checking for nobody group ... not found"
|
|
13
|
|
14 if grep nogroup /etc/group 2>&1 >/dev/null; then
|
|
15 echo "checking for nogroup group ... found"
|
|
16 NGX_GROUP=nogroup
|
|
17 else
|
|
18 echo "checking for nogroup group ... not found"
|
|
19 NGX_GROUP=nobody
|
|
20 fi
|
|
21 fi
|
|
22
|
|
23 else
|
|
24 NGX_GROUP=$NGX_USER
|
|
25 fi
|
|
26
|
|
27
|
|
28 ngx_feature="poll()"
|
|
29 ngx_feature_name=
|
|
30 ngx_feature_run=no
|
|
31 ngx_feature_incs="#include <poll.h>"
|
|
32 ngx_feature_libs=
|
|
33 ngx_feature_test="int n, dp; struct pollfd pl;
|
|
34 dp = 0;
|
|
35 pl.fd = 0;
|
|
36 pl.events = 0;
|
|
37 pl.revents = 0;
|
|
38 n = poll(&pl, 1, 0)"
|
|
39 . auto/feature
|
|
40
|
|
41 if [ $ngx_found = no ]; then
|
|
42 EVENT_POLL=NONE
|
|
43 fi
|
|
44
|
|
45
|
|
46 ngx_feature="/dev/poll"
|
|
47 ngx_feature_name="NGX_HAVE_DEVPOLL"
|
|
48 ngx_feature_run=no
|
|
49 ngx_feature_incs="#include <sys/devpoll.h>"
|
|
50 ngx_feature_libs=
|
|
51 ngx_feature_test="int n, dp; struct dvpoll dvp;
|
|
52 dp = 0;
|
|
53 dvp.dp_fds = NULL;
|
|
54 dvp.dp_nfds = 0;
|
|
55 dvp.dp_timeout = 0;
|
|
56 n = ioctl(dp, DP_POLL, &dvp)"
|
|
57 . auto/feature
|
|
58
|
|
59 if [ $ngx_found = yes ]; then
|
|
60 CORE_SRCS="$CORE_SRCS $DEVPOLL_SRCS"
|
|
61 EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE"
|
|
62 EVENT_FOUND=YES
|
|
63 fi
|
|
64
|
|
65
|
|
66 if test -z "$NGX_KQUEUE_CHECKED"; then
|
|
67 ngx_feature="kqueue"
|
|
68 ngx_feature_name="NGX_HAVE_KQUEUE"
|
|
69 ngx_feature_run=no
|
|
70 ngx_feature_incs="#include <sys/event.h>"
|
|
71 ngx_feature_libs=
|
|
72 ngx_feature_test="int kq; kq = kqueue()"
|
|
73 . auto/feature
|
|
74
|
|
75 if [ $ngx_found = yes ]; then
|
|
76
|
|
77 have=NGX_HAVE_CLEAR_EVENT . auto/have
|
|
78 EVENT_MODULES="$EVENT_MODULES $KQUEUE_MODULE"
|
|
79 CORE_SRCS="$CORE_SRCS $KQUEUE_SRCS"
|
|
80 EVENT_FOUND=YES
|
|
81
|
|
82 ngx_feature="kqueue's NOTE_LOWAT"
|
|
83 ngx_feature_name="NGX_HAVE_LOWAT_EVENT"
|
|
84 ngx_feature_run=no
|
|
85 ngx_feature_incs="#include <sys/event.h>"
|
|
86 ngx_feature_libs=
|
|
87 ngx_feature_test="struct kevent kev;
|
|
88 kev.fflags = NOTE_LOWAT;"
|
|
89 . auto/feature
|
|
90 fi
|
|
91 fi
|
|
92
|
|
93 if [ "$NGX_SYSTEM" = "NetBSD" ]; then
|
|
94
|
|
95 # NetBSD 2.0 incompatibly defines kevent.udata as "intptr_t"
|
|
96
|
|
97 cat << END >> $NGX_AUTO_CONFIG_H
|
|
98
|
|
99 #define NGX_KQUEUE_UDATA_T
|
|
100
|
|
101 END
|
|
102
|
|
103 else
|
|
104 cat << END >> $NGX_AUTO_CONFIG_H
|
|
105
|
|
106 #define NGX_KQUEUE_UDATA_T (void *)
|
|
107
|
|
108 END
|
|
109
|
|
110 fi
|
|
111
|
|
112
|
|
113 ngx_feature="crypt()"
|
|
114 ngx_feature_name=
|
|
115 ngx_feature_run=no
|
|
116 ngx_feature_incs=
|
|
117 ngx_feature_libs=
|
|
118 ngx_feature_test="crypt(\"test\", \"salt\");"
|
|
119 . auto/feature
|
|
120
|
|
121
|
|
122 if [ $ngx_found = no ]; then
|
|
123
|
|
124 ngx_feature="crypt() in libcrypt"
|
|
125 ngx_feature_libs=-lcrypt
|
|
126 . auto/feature
|
|
127
|
|
128 if [ $ngx_found = yes ]; then
|
|
129 CRYPT_LIB="-lcrypt"
|
|
130 fi
|
|
131 fi
|