1
by Jose Parrella
Import upstream version 0.4.12 |
1 |
# Copyright (C) Igor Sysoev |
2 |
||
3 |
||
4 |
have=NGX_LINUX . auto/have_headers |
|
5 |
||
6 |
CORE_INCS="$UNIX_INCS" |
|
7 |
CORE_DEPS="$UNIX_DEPS $LINUX_DEPS" |
|
8 |
CORE_SRCS="$UNIX_SRCS $LINUX_SRCS" |
|
9 |
||
10 |
ngx_spacer='
|
|
11 |
'
|
|
12 |
||
13 |
cc_aux_flags="$CC_AUX_FLAGS" |
|
1.3.1
by Fabio Tranchitella
Import upstream version 0.7.59 |
14 |
CC_AUX_FLAGS="$cc_aux_flags -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64" |
15 |
||
1
by Jose Parrella
Import upstream version 0.4.12 |
16 |
|
17 |
# Linux kernel version |
|
18 |
||
19 |
version=$((`uname -r \ |
|
1.1.7
by Fabio Tranchitella
Import upstream version 0.6.31 |
20 |
| sed 's/^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1*256*256+\2*256+\3/'`)) |
1.3.3
by Fabio Tranchitella
Import upstream version 0.7.62 |
21 |
|
1
by Jose Parrella
Import upstream version 0.4.12 |
22 |
version=${version:-0} |
23 |
||
24 |
||
25 |
# enable the rt signals on Linux between 2.2.19 and 2.6.17 |
|
1.1.7
by Fabio Tranchitella
Import upstream version 0.6.31 |
26 |
|
1
by Jose Parrella
Import upstream version 0.4.12 |
27 |
if [ \( $version -ge 131603 -a $version -lt 132626 \) -o $EVENT_RTSIG = YES ] |
1.1.7
by Fabio Tranchitella
Import upstream version 0.6.31 |
28 |
then
|
29 |
echo " + rt signals found" |
|
1
by Jose Parrella
Import upstream version 0.4.12 |
30 |
have=NGX_HAVE_RTSIG . auto/have |
31 |
EVENT_MODULES="$EVENT_MODULES $RTSIG_MODULE" |
|
32 |
CORE_SRCS="$CORE_SRCS $RTSIG_SRCS" |
|
33 |
EVENT_FOUND=YES |
|
34 |
fi
|
|
35 |
||
36 |
||
37 |
# posix_fadvise64() had been implemented in 2.5.60 |
|
1.3.8
by Kartik Mistry
Import upstream version 0.8.53 |
38 |
|
39 |
if [ $version -lt 132412 ]; then |
|
40 |
have=NGX_HAVE_POSIX_FADVISE . auto/nohave |
|
41 |
fi
|
|
42 |
||
43 |
# epoll, EPOLLET version |
|
1
by Jose Parrella
Import upstream version 0.4.12 |
44 |
|
45 |
ngx_feature="epoll" |
|
46 |
ngx_feature_name="NGX_HAVE_EPOLL" |
|
47 |
ngx_feature_run=yes |
|
48 |
ngx_feature_incs="#include <sys/epoll.h>" |
|
49 |
ngx_feature_path= |
|
1.1.2
by Jose Parrella
Import upstream version 0.5.13 |
50 |
ngx_feature_libs= |
1
by Jose Parrella
Import upstream version 0.4.12 |
51 |
ngx_feature_test="int efd = 0, fd = 1, n; |
52 |
struct epoll_event ee;
|
|
53 |
ee.events = EPOLLIN|EPOLLOUT|EPOLLET;
|
|
54 |
ee.data.ptr = NULL;
|
|
55 |
efd = epoll_create(100);
|
|
56 |
if (efd == -1) return 1;"
|
|
57 |
. auto/feature |
|
58 |
||
59 |
if [ $ngx_found = yes ]; then |
|
60 |
have=NGX_HAVE_CLEAR_EVENT . auto/have |
|
61 |
CORE_SRCS="$CORE_SRCS $EPOLL_SRCS" |
|
62 |
EVENT_MODULES="$EVENT_MODULES $EPOLL_MODULE" |
|
63 |
EVENT_FOUND=YES |
|
64 |
fi
|
|
65 |
||
66 |
||
67 |
# sendfile() |
|
68 |
||
69 |
CC_AUX_FLAGS="$cc_aux_flags -D_GNU_SOURCE" |
|
1.3.1
by Fabio Tranchitella
Import upstream version 0.7.59 |
70 |
ngx_feature="sendfile()" |
1
by Jose Parrella
Import upstream version 0.4.12 |
71 |
ngx_feature_name="NGX_HAVE_SENDFILE" |
72 |
ngx_feature_run=yes |
|
73 |
ngx_feature_incs="#include <sys/sendfile.h> |
|
74 |
#include <errno.h>"
|
|
1.3.1
by Fabio Tranchitella
Import upstream version 0.7.59 |
75 |
ngx_feature_path= |
1.1.2
by Jose Parrella
Import upstream version 0.5.13 |
76 |
ngx_feature_libs= |
1
by Jose Parrella
Import upstream version 0.4.12 |
77 |
ngx_feature_test="int s = 0, fd = 1; |
78 |
ssize_t n; off_t off = 0;
|
|
79 |
n = sendfile(s, fd, &off, 1);
|
|
80 |
if (n == -1 && errno == ENOSYS) return 1"
|
|
81 |
. auto/feature |
|
82 |
||
83 |
if [ $ngx_found = yes ]; then |
|
84 |
CORE_SRCS="$CORE_SRCS $LINUX_SENDFILE_SRCS" |
|
85 |
fi
|
|
86 |
||
87 |
||
88 |
# sendfile64() |
|
89 |
||
90 |
CC_AUX_FLAGS="$cc_aux_flags -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64" |
|
1.3.1
by Fabio Tranchitella
Import upstream version 0.7.59 |
91 |
ngx_feature="sendfile64()" |
1
by Jose Parrella
Import upstream version 0.4.12 |
92 |
ngx_feature_name="NGX_HAVE_SENDFILE64" |
93 |
ngx_feature_run=yes |
|
94 |
ngx_feature_incs="#include <sys/sendfile.h> |
|
95 |
#include <errno.h>"
|
|
1.3.1
by Fabio Tranchitella
Import upstream version 0.7.59 |
96 |
ngx_feature_path= |
1.1.2
by Jose Parrella
Import upstream version 0.5.13 |
97 |
ngx_feature_libs= |
1
by Jose Parrella
Import upstream version 0.4.12 |
98 |
ngx_feature_test="int s = 0, fd = 1; |
99 |
ssize_t n; off_t off = 0;
|
|
100 |
n = sendfile(s, fd, &off, 1);
|
|
101 |
if (n == -1 && errno == ENOSYS) return 1"
|
|
102 |
. auto/feature |
|
103 |
||
104 |
||
105 |
ngx_include="sys/prctl.h"; . auto/include |
|
106 |
||
107 |
# prctl(PR_SET_DUMPABLE) |
|
108 |
||
109 |
ngx_feature="prctl(PR_SET_DUMPABLE)" |
|
110 |
ngx_feature_name="NGX_HAVE_PR_SET_DUMPABLE" |
|
111 |
ngx_feature_run=yes |
|
112 |
ngx_feature_incs="#include <sys/prctl.h>" |
|
113 |
ngx_feature_path= |
|
1.1.2
by Jose Parrella
Import upstream version 0.5.13 |
114 |
ngx_feature_libs= |
1
by Jose Parrella
Import upstream version 0.4.12 |
115 |
ngx_feature_test="if (prctl(PR_SET_DUMPABLE, 1, 0, 0, 0) == -1) return 1" |
116 |
. auto/feature |
|
117 |
||
118 |
||
119 |
# sched_setaffinity() |
|
120 |
||
121 |
ngx_feature="sched_setaffinity()" |
|
122 |
ngx_feature_name="NGX_HAVE_SCHED_SETAFFINITY" |
|
123 |
ngx_feature_run=no |
|
124 |
ngx_feature_incs="#include <sched.h>" |
|
125 |
ngx_feature_path= |
|
1.1.2
by Jose Parrella
Import upstream version 0.5.13 |
126 |
ngx_feature_libs= |
1
by Jose Parrella
Import upstream version 0.4.12 |
127 |
ngx_feature_test="long mask = 0; |
128 |
sched_setaffinity(0, 32, (cpu_set_t *) &mask)"
|
|
129 |
. auto/feature |
|
130 |
||
1.3.1
by Fabio Tranchitella
Import upstream version 0.7.59 |
131 |
|
132 |
# crypt_r() |
|
133 |
||
134 |
ngx_feature="crypt_r()" |
|
135 |
ngx_feature_name="NGX_HAVE_GNU_CRYPT_R" |
|
136 |
ngx_feature_run=no |
|
137 |
ngx_feature_incs="#include <crypt.h>" |
|
138 |
ngx_feature_path= |
|
139 |
ngx_feature_libs=-lcrypt
|
|
140 |
ngx_feature_test="struct crypt_data cd; |
|
141 |
crypt_r(NULL, NULL, &cd);"
|
|
142 |
. auto/feature |
|
143 |
||
144 |
||
145 |
ngx_include="sys/vfs.h"; . auto/include |
|
146 |
||
147 |
||
148 |
CC_AUX_FLAGS="$cc_aux_flags -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64" |
|
149 |