blob: 09bfcb08dc3e2ac56cbdd78c3c763f045f49cc44 [file] [log] [blame]
Igor Sysoeva4b16df2004-02-02 21:19:52 +00001
Igor Sysoevff8da912004-09-29 16:00:49 +00002# Copyright (C) Igor Sysoev
Maxim Konovalovf8d59e32012-01-18 15:07:43 +00003# Copyright (C) Nginx, Inc.
Igor Sysoevff8da912004-09-29 16:00:49 +00004
5
Igor Sysoeve9b2cb12004-02-09 20:47:18 +00006if [ $EVENT_SELECT = NO -a $EVENT_FOUND = NO ]; then
7 EVENT_SELECT=YES
8fi
9
10if [ $EVENT_SELECT = YES ]; then
Igor Sysoevf6906042004-11-25 16:17:31 +000011 have=NGX_HAVE_SELECT . auto/have
Igor Sysoeve9b2cb12004-02-09 20:47:18 +000012 CORE_SRCS="$CORE_SRCS $SELECT_SRCS"
13 EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE"
14fi
15
16
17if [ $EVENT_POLL = NO -a $EVENT_FOUND = NO ]; then
18 EVENT_POLL=YES
19fi
20
21if [ $EVENT_POLL = YES ]; then
Igor Sysoevf6906042004-11-25 16:17:31 +000022 have=NGX_HAVE_POLL . auto/have
Igor Sysoeve9b2cb12004-02-09 20:47:18 +000023 CORE_SRCS="$CORE_SRCS $POLL_SRCS"
24 EVENT_MODULES="$EVENT_MODULES $POLL_MODULE"
25fi
26
27
Igor Sysoevf6906042004-11-25 16:17:31 +000028if [ $NGX_TEST_BUILD_DEVPOLL = YES ]; then
29 have=NGX_HAVE_DEVPOLL . auto/have
30 have=NGX_TEST_BUILD_DEVPOLL . auto/have
Igor Sysoeve9b2cb12004-02-09 20:47:18 +000031 EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE"
32 CORE_SRCS="$CORE_SRCS $DEVPOLL_SRCS"
33fi
34
Igor Sysoev4524fb02006-09-26 12:20:12 +000035
36if [ $NGX_TEST_BUILD_EVENTPORT = YES ]; then
37 have=NGX_HAVE_EVENTPORT . auto/have
38 have=NGX_TEST_BUILD_EVENTPORT . auto/have
39 EVENT_MODULES="$EVENT_MODULES $EVENTPORT_MODULE"
40 CORE_SRCS="$CORE_SRCS $EVENTPORT_SRCS"
41fi
42
Igor Sysoevf6906042004-11-25 16:17:31 +000043if [ $NGX_TEST_BUILD_EPOLL = YES ]; then
44 have=NGX_HAVE_EPOLL . auto/have
Valentin Bartenev182a05b2013-07-12 14:51:07 +040045 have=NGX_HAVE_EPOLLRDHUP . auto/have
Valentin Bartenev7cf49f12016-07-15 15:18:57 +030046 have=NGX_HAVE_EPOLLEXCLUSIVE . auto/have
Igor Sysoeva9625062009-08-28 08:12:35 +000047 have=NGX_HAVE_EVENTFD . auto/have
Igor Sysoevf6906042004-11-25 16:17:31 +000048 have=NGX_TEST_BUILD_EPOLL . auto/have
Igor Sysoeve9b2cb12004-02-09 20:47:18 +000049 EVENT_MODULES="$EVENT_MODULES $EPOLL_MODULE"
50 CORE_SRCS="$CORE_SRCS $EPOLL_SRCS"
51fi
52
Igor Sysoev42b12b32004-12-02 18:40:46 +000053if [ $NGX_TEST_BUILD_SOLARIS_SENDFILEV = YES ]; then
54 have=NGX_TEST_BUILD_SOLARIS_SENDFILEV . auto/have
55 CORE_SRCS="$CORE_SRCS $SOLARIS_SENDFILEV_SRCS"
56fi
57
Igor Sysoeve9b2cb12004-02-09 20:47:18 +000058
Ruslan Ermilov70201a72017-03-16 20:38:31 +030059if [ $HTTP = YES ]; then
60 HTTP_MODULES=
61 HTTP_DEPS=
62 HTTP_INCS=
Maxim Dounin8298a222016-02-04 18:30:21 +030063
Ruslan Ermilov70201a72017-03-16 20:38:31 +030064 ngx_module_type=HTTP
Maxim Dounin8298a222016-02-04 18:30:21 +030065
Ruslan Ermilov70201a72017-03-16 20:38:31 +030066 if :; then
67 ngx_module_name="ngx_http_module \
68 ngx_http_core_module \
69 ngx_http_log_module \
70 ngx_http_upstream_module"
71 ngx_module_incs="src/http src/http/modules"
72 ngx_module_deps="src/http/ngx_http.h \
73 src/http/ngx_http_request.h \
74 src/http/ngx_http_config.h \
75 src/http/ngx_http_core_module.h \
76 src/http/ngx_http_cache.h \
77 src/http/ngx_http_variables.h \
78 src/http/ngx_http_script.h \
79 src/http/ngx_http_upstream.h \
80 src/http/ngx_http_upstream_round_robin.h"
81 ngx_module_srcs="src/http/ngx_http.c \
82 src/http/ngx_http_core_module.c \
83 src/http/ngx_http_special_response.c \
84 src/http/ngx_http_request.c \
85 src/http/ngx_http_parse.c \
86 src/http/modules/ngx_http_log_module.c \
87 src/http/ngx_http_request_body.c \
88 src/http/ngx_http_variables.c \
89 src/http/ngx_http_script.c \
90 src/http/ngx_http_upstream.c \
91 src/http/ngx_http_upstream_round_robin.c"
92 ngx_module_libs=
93 ngx_module_link=YES
Maxim Dounin8298a222016-02-04 18:30:21 +030094
Ruslan Ermilov70201a72017-03-16 20:38:31 +030095 . auto/module
96 fi
Maxim Dounin8298a222016-02-04 18:30:21 +030097
98
Ruslan Ermilov70201a72017-03-16 20:38:31 +030099 if [ $HTTP_CACHE = YES ]; then
100 have=NGX_HTTP_CACHE . auto/have
101 HTTP_SRCS="$HTTP_SRCS $HTTP_FILE_CACHE_SRCS"
102 fi
Igor Sysoev7b190b42005-06-07 15:56:31 +0000103
104
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300105 if [ $HTTP_SSI = YES ]; then
106 HTTP_POSTPONE=YES
107 fi
Igor Sysoev52859f22009-03-23 13:14:51 +0000108
109
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300110 if [ $HTTP_SLICE = YES ]; then
111 HTTP_POSTPONE=YES
112 fi
Igor Sysoev899b44e2005-05-12 14:58:06 +0000113
Igor Sysoev7f7846d2006-04-26 09:52:47 +0000114
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300115 if [ $HTTP_ADDITION = YES ]; then
116 HTTP_POSTPONE=YES
117 fi
Roman Arutyunyane42d13a2015-12-07 16:30:48 +0300118
119
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300120 # the module order is important
121 # ngx_http_static_module
122 # ngx_http_gzip_static_module
123 # ngx_http_dav_module
124 # ngx_http_autoindex_module
125 # ngx_http_index_module
126 # ngx_http_random_index_module
127 #
128 # ngx_http_access_module
129 # ngx_http_realip_module
130 #
131 #
132 # the filter order is important
133 # ngx_http_write_filter
134 # ngx_http_header_filter
135 # ngx_http_chunked_filter
136 # ngx_http_v2_filter
137 # ngx_http_range_header_filter
138 # ngx_http_gzip_filter
139 # ngx_http_postpone_filter
140 # ngx_http_ssi_filter
141 # ngx_http_charset_filter
142 # ngx_http_xslt_filter
143 # ngx_http_image_filter
144 # ngx_http_sub_filter
145 # ngx_http_addition_filter
146 # ngx_http_gunzip_filter
147 # ngx_http_userid_filter
148 # ngx_http_headers_filter
149 # ngx_http_copy_filter
150 # ngx_http_range_body_filter
151 # ngx_http_not_modified_filter
152 # ngx_http_slice_filter
Igor Sysoev7f7846d2006-04-26 09:52:47 +0000153
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300154 ngx_module_type=HTTP_FILTER
155 HTTP_FILTER_MODULES=
Igor Sysoev7f7846d2006-04-26 09:52:47 +0000156
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300157 ngx_module_order="ngx_http_static_module \
158 ngx_http_gzip_static_module \
159 ngx_http_dav_module \
160 ngx_http_autoindex_module \
161 ngx_http_index_module \
162 ngx_http_random_index_module \
163 ngx_http_access_module \
164 ngx_http_realip_module \
165 ngx_http_write_filter_module \
166 ngx_http_header_filter_module \
167 ngx_http_chunked_filter_module \
168 ngx_http_v2_filter_module \
169 ngx_http_range_header_filter_module \
170 ngx_http_gzip_filter_module \
171 ngx_http_postpone_filter_module \
172 ngx_http_ssi_filter_module \
173 ngx_http_charset_filter_module \
174 ngx_http_xslt_filter_module \
175 ngx_http_image_filter_module \
176 ngx_http_sub_filter_module \
177 ngx_http_addition_filter_module \
178 ngx_http_gunzip_filter_module \
179 ngx_http_userid_filter_module \
180 ngx_http_headers_filter_module \
181 ngx_http_copy_filter_module \
182 ngx_http_range_body_filter_module \
183 ngx_http_not_modified_filter_module \
184 ngx_http_slice_filter_module"
Igor Sysoev7823cc32004-07-14 16:01:42 +0000185
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300186 if :; then
187 ngx_module_name=ngx_http_write_filter_module
188 ngx_module_incs=
189 ngx_module_deps=
190 ngx_module_srcs=src/http/ngx_http_write_filter_module.c
191 ngx_module_libs=
192 ngx_module_link=YES
Valentin Bartenev2686cb42013-03-20 10:36:57 +0000193
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300194 . auto/module
195 fi
Maxim Dounince1c3bd2016-02-04 20:25:29 +0300196
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300197 if :; then
198 ngx_module_name=ngx_http_header_filter_module
199 ngx_module_incs=
200 ngx_module_deps=
201 ngx_module_srcs=src/http/ngx_http_header_filter_module.c
202 ngx_module_libs=
203 ngx_module_link=YES
Maxim Dounin8298a222016-02-04 18:30:21 +0300204
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300205 . auto/module
206 fi
Valentin Bartenev2686cb42013-03-20 10:36:57 +0000207
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300208 if :; then
209 ngx_module_name=ngx_http_chunked_filter_module
210 ngx_module_incs=
211 ngx_module_deps=
212 ngx_module_srcs=src/http/modules/ngx_http_chunked_filter_module.c
213 ngx_module_libs=
214 ngx_module_link=YES
Maxim Dounin8298a222016-02-04 18:30:21 +0300215
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300216 . auto/module
217 fi
Maxim Dounin8298a222016-02-04 18:30:21 +0300218
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300219 if [ $HTTP_V2 = YES ]; then
220 ngx_module_name=ngx_http_v2_filter_module
221 ngx_module_incs=
222 ngx_module_deps=
223 ngx_module_srcs=src/http/v2/ngx_http_v2_filter_module.c
224 ngx_module_libs=
225 ngx_module_link=$HTTP_V2
Maxim Dounin8298a222016-02-04 18:30:21 +0300226
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300227 . auto/module
228 fi
Maxim Dounin8298a222016-02-04 18:30:21 +0300229
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300230 if :; then
231 ngx_module_name=ngx_http_range_header_filter_module
232 ngx_module_incs=
233 ngx_module_deps=
234 ngx_module_srcs=src/http/modules/ngx_http_range_filter_module.c
235 ngx_module_libs=
236 ngx_module_link=YES
Maxim Dounin8298a222016-02-04 18:30:21 +0300237
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300238 . auto/module
239 fi
Maxim Dounin8298a222016-02-04 18:30:21 +0300240
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300241 if [ $HTTP_GZIP = YES ]; then
242 have=NGX_HTTP_GZIP . auto/have
243 USE_ZLIB=YES
Maxim Dounin8298a222016-02-04 18:30:21 +0300244
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300245 ngx_module_name=ngx_http_gzip_filter_module
246 ngx_module_incs=
247 ngx_module_deps=
248 ngx_module_srcs=src/http/modules/ngx_http_gzip_filter_module.c
249 ngx_module_libs=
250 ngx_module_link=$HTTP_GZIP
Igor Sysoev7823cc32004-07-14 16:01:42 +0000251
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300252 . auto/module
253 fi
Maxim Dounin8298a222016-02-04 18:30:21 +0300254
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300255 if [ $HTTP_POSTPONE = YES ]; then
256 ngx_module_name=ngx_http_postpone_filter_module
257 ngx_module_incs=
258 ngx_module_deps=
259 ngx_module_srcs=src/http/ngx_http_postpone_filter_module.c
260 ngx_module_libs=
261 ngx_module_link=$HTTP_POSTPONE
Maxim Dounin8298a222016-02-04 18:30:21 +0300262
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300263 . auto/module
264 fi
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000265
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300266 if [ $HTTP_SSI = YES ]; then
267 have=NGX_HTTP_SSI . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300268
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300269 ngx_module_name=ngx_http_ssi_filter_module
270 ngx_module_incs=
271 ngx_module_deps=src/http/modules/ngx_http_ssi_filter_module.h
272 ngx_module_srcs=src/http/modules/ngx_http_ssi_filter_module.c
273 ngx_module_libs=
274 ngx_module_link=$HTTP_SSI
Igor Sysoev899b44e2005-05-12 14:58:06 +0000275
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300276 . auto/module
277 fi
Maxim Dounin8298a222016-02-04 18:30:21 +0300278
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300279 if [ $HTTP_CHARSET = YES ]; then
280 ngx_module_name=ngx_http_charset_filter_module
281 ngx_module_incs=
282 ngx_module_deps=
283 ngx_module_srcs=src/http/modules/ngx_http_charset_filter_module.c
284 ngx_module_libs=
285 ngx_module_link=$HTTP_CHARSET
Maxim Dounin8298a222016-02-04 18:30:21 +0300286
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300287 . auto/module
288 fi
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000289
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300290 if [ $HTTP_XSLT != NO ]; then
291 ngx_module_name=ngx_http_xslt_filter_module
292 ngx_module_incs=
293 ngx_module_deps=
294 ngx_module_srcs=src/http/modules/ngx_http_xslt_filter_module.c
295 ngx_module_libs=LIBXSLT
296 ngx_module_link=$HTTP_XSLT
Maxim Dounin8298a222016-02-04 18:30:21 +0300297
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300298 . auto/module
299 fi
Igor Sysoev5cc7eaa2010-04-01 10:19:02 +0000300
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300301 if [ $HTTP_IMAGE_FILTER != NO ]; then
302 ngx_module_name=ngx_http_image_filter_module
303 ngx_module_incs=
304 ngx_module_deps=
305 ngx_module_srcs=src/http/modules/ngx_http_image_filter_module.c
306 ngx_module_libs=LIBGD
307 ngx_module_link=$HTTP_IMAGE_FILTER
Maxim Dounin8298a222016-02-04 18:30:21 +0300308
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300309 . auto/module
310 fi
Igor Sysoev1ae389d2008-08-04 14:48:15 +0000311
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300312 if [ $HTTP_SUB = YES ]; then
313 ngx_module_name=ngx_http_sub_filter_module
314 ngx_module_incs=
315 ngx_module_deps=
316 ngx_module_srcs=src/http/modules/ngx_http_sub_filter_module.c
317 ngx_module_libs=
318 ngx_module_link=$HTTP_SUB
Maxim Dounin8298a222016-02-04 18:30:21 +0300319
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300320 . auto/module
321 fi
Igor Sysoeve2ada612009-05-01 18:42:09 +0000322
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300323 if [ $HTTP_ADDITION = YES ]; then
324 ngx_module_name=ngx_http_addition_filter_module
325 ngx_module_incs=
326 ngx_module_deps=
327 ngx_module_srcs=src/http/modules/ngx_http_addition_filter_module.c
328 ngx_module_libs=
329 ngx_module_link=$HTTP_ADDITION
Maxim Dounin8298a222016-02-04 18:30:21 +0300330
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300331 . auto/module
332 fi
Igor Sysoevd9bb8e32007-04-19 17:54:23 +0000333
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300334 if [ $HTTP_GUNZIP = YES ]; then
335 have=NGX_HTTP_GZIP . auto/have
336 USE_ZLIB=YES
Maxim Dounin8298a222016-02-04 18:30:21 +0300337
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300338 ngx_module_name=ngx_http_gunzip_filter_module
339 ngx_module_incs=
340 ngx_module_deps=
341 ngx_module_srcs=src/http/modules/ngx_http_gunzip_filter_module.c
342 ngx_module_libs=
343 ngx_module_link=$HTTP_GUNZIP
Igor Sysoev6d16e1e2006-04-05 13:40:54 +0000344
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300345 . auto/module
346 fi
Maxim Dounin8298a222016-02-04 18:30:21 +0300347
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300348 if [ $HTTP_USERID = YES ]; then
349 ngx_module_name=ngx_http_userid_filter_module
350 ngx_module_incs=
351 ngx_module_deps=
352 ngx_module_srcs=src/http/modules/ngx_http_userid_filter_module.c
353 ngx_module_libs=
354 ngx_module_link=$HTTP_USERID
Maxim Dounin8298a222016-02-04 18:30:21 +0300355
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300356 . auto/module
357 fi
Maxim Dounin90bd33e2012-09-10 16:52:47 +0000358
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300359 if :; then
360 ngx_module_name=ngx_http_headers_filter_module
361 ngx_module_incs=
362 ngx_module_deps=
363 ngx_module_srcs=src/http/modules/ngx_http_headers_filter_module.c
364 ngx_module_libs=
365 ngx_module_link=YES
Maxim Dounin8298a222016-02-04 18:30:21 +0300366
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300367 . auto/module
368 fi
Igor Sysoeva7c4a2a2004-08-29 03:55:41 +0000369
Maxim Dounin8298a222016-02-04 18:30:21 +0300370
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300371 ngx_module_type=HTTP_INIT_FILTER
372 HTTP_INIT_FILTER_MODULES=
Maxim Douninb07c1812016-02-04 18:30:21 +0300373
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300374 if :; then
375 ngx_module_name=ngx_http_copy_filter_module
376 ngx_module_incs=
377 ngx_module_deps=
378 ngx_module_srcs=src/http/ngx_http_copy_filter_module.c
379 ngx_module_libs=
380 ngx_module_link=YES
Maxim Douninb07c1812016-02-04 18:30:21 +0300381
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300382 . auto/module
383 fi
Maxim Dounin8298a222016-02-04 18:30:21 +0300384
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300385 if :; then
386 ngx_module_name=ngx_http_range_body_filter_module
387 ngx_module_incs=
388 ngx_module_deps=
389 ngx_module_srcs=
390 ngx_module_libs=
391 ngx_module_link=YES
Maxim Dounin8298a222016-02-04 18:30:21 +0300392
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300393 . auto/module
394 fi
Maxim Dounin8298a222016-02-04 18:30:21 +0300395
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300396 if :; then
397 ngx_module_name=ngx_http_not_modified_filter_module
398 ngx_module_incs=
399 ngx_module_deps=
400 ngx_module_srcs=src/http/modules/ngx_http_not_modified_filter_module.c
401 ngx_module_libs=
402 ngx_module_link=YES
Maxim Dounin8298a222016-02-04 18:30:21 +0300403
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300404 . auto/module
405 fi
Maxim Dounin8298a222016-02-04 18:30:21 +0300406
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300407 if [ $HTTP_SLICE = YES ]; then
408 ngx_module_name=ngx_http_slice_filter_module
409 ngx_module_incs=
410 ngx_module_deps=
411 ngx_module_srcs=src/http/modules/ngx_http_slice_filter_module.c
412 ngx_module_libs=
413 ngx_module_link=$HTTP_SLICE
Maxim Dounin8298a222016-02-04 18:30:21 +0300414
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300415 . auto/module
416 fi
Maxim Douninb07c1812016-02-04 18:30:21 +0300417
Maxim Dounin8298a222016-02-04 18:30:21 +0300418
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300419 ngx_module_type=HTTP
Roman Arutyunyane42d13a2015-12-07 16:30:48 +0300420
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300421 if [ $HTTP_V2 = YES ]; then
422 have=NGX_HTTP_V2 . auto/have
Ruslan Ermilov1528e912018-02-15 17:51:32 +0300423 have=NGX_HTTP_HEADERS . auto/have
Valentin Bartenev2686cb42013-03-20 10:36:57 +0000424
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300425 ngx_module_name=ngx_http_v2_module
426 ngx_module_incs=src/http/v2
427 ngx_module_deps="src/http/v2/ngx_http_v2.h \
428 src/http/v2/ngx_http_v2_module.h"
429 ngx_module_srcs="src/http/v2/ngx_http_v2.c \
430 src/http/v2/ngx_http_v2_table.c \
Maxim Dounin67c17122018-03-17 23:04:20 +0300431 src/http/v2/ngx_http_v2_encode.c \
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300432 src/http/v2/ngx_http_v2_huff_decode.c \
433 src/http/v2/ngx_http_v2_huff_encode.c \
434 src/http/v2/ngx_http_v2_module.c"
435 ngx_module_libs=
436 ngx_module_link=$HTTP_V2
Maxim Dounin8298a222016-02-04 18:30:21 +0300437
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300438 . auto/module
439 fi
Maxim Dounin8298a222016-02-04 18:30:21 +0300440
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300441 if :; then
442 ngx_module_name=ngx_http_static_module
443 ngx_module_incs=
444 ngx_module_deps=
445 ngx_module_srcs=src/http/modules/ngx_http_static_module.c
446 ngx_module_libs=
447 ngx_module_link=YES
Maxim Dounin8298a222016-02-04 18:30:21 +0300448
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300449 . auto/module
450 fi
Valentin Bartenev2686cb42013-03-20 10:36:57 +0000451
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300452 if [ $HTTP_GZIP_STATIC = YES ]; then
453 have=NGX_HTTP_GZIP . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300454
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300455 ngx_module_name=ngx_http_gzip_static_module
456 ngx_module_incs=
457 ngx_module_deps=
458 ngx_module_srcs=src/http/modules/ngx_http_gzip_static_module.c
459 ngx_module_libs=
460 ngx_module_link=$HTTP_GZIP_STATIC
Igor Sysoev723e6cc2004-10-25 15:29:23 +0000461
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300462 . auto/module
463 fi
Maxim Dounin8298a222016-02-04 18:30:21 +0300464
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300465 if [ $HTTP_DAV = YES ]; then
466 have=NGX_HTTP_DAV . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300467
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300468 ngx_module_name=ngx_http_dav_module
469 ngx_module_incs=
470 ngx_module_deps=
471 ngx_module_srcs=src/http/modules/ngx_http_dav_module.c
472 ngx_module_libs=
473 ngx_module_link=$HTTP_DAV
Maxim Dounin8298a222016-02-04 18:30:21 +0300474
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300475 . auto/module
476 fi
Igor Sysoev8a2b2fb2006-04-14 09:53:38 +0000477
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300478 if [ $HTTP_AUTOINDEX = YES ]; then
479 ngx_module_name=ngx_http_autoindex_module
480 ngx_module_incs=
481 ngx_module_deps=
482 ngx_module_srcs=src/http/modules/ngx_http_autoindex_module.c
483 ngx_module_libs=
484 ngx_module_link=$HTTP_AUTOINDEX
Maxim Dounin8298a222016-02-04 18:30:21 +0300485
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300486 . auto/module
487 fi
Igor Sysoev723e6cc2004-10-25 15:29:23 +0000488
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300489 if :; then
490 ngx_module_name=ngx_http_index_module
491 ngx_module_incs=
492 ngx_module_deps=
493 ngx_module_srcs=src/http/modules/ngx_http_index_module.c
494 ngx_module_libs=
495 ngx_module_link=YES
Maxim Dounin8298a222016-02-04 18:30:21 +0300496
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300497 . auto/module
498 fi
Igor Sysoev3d5c0fc2004-06-22 16:43:09 +0000499
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300500 if [ $HTTP_RANDOM_INDEX = YES ]; then
501 ngx_module_name=ngx_http_random_index_module
502 ngx_module_incs=
503 ngx_module_deps=
504 ngx_module_srcs=src/http/modules/ngx_http_random_index_module.c
505 ngx_module_libs=
506 ngx_module_link=$HTTP_RANDOM_INDEX
Maxim Dounin8298a222016-02-04 18:30:21 +0300507
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300508 . auto/module
509 fi
Igor Sysoev2e2b81d2008-09-05 15:45:55 +0000510
Roman Arutyunyanef33b872017-07-20 08:50:49 +0300511 if [ $HTTP_MIRROR = YES ]; then
512 ngx_module_name=ngx_http_mirror_module
513 ngx_module_incs=
514 ngx_module_deps=
515 ngx_module_srcs=src/http/modules/ngx_http_mirror_module.c
516 ngx_module_libs=
517 ngx_module_link=$HTTP_MIRROR
518
519 . auto/module
520 fi
521
Roman Arutyunyancbf96ec2017-07-20 15:51:11 +0300522 if :; then
523 ngx_module_name=ngx_http_try_files_module
524 ngx_module_incs=
525 ngx_module_deps=
526 ngx_module_srcs=src/http/modules/ngx_http_try_files_module.c
527 ngx_module_libs=
528 ngx_module_link=YES
529
530 . auto/module
531 fi
532
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300533 if [ $HTTP_AUTH_REQUEST = YES ]; then
534 ngx_module_name=ngx_http_auth_request_module
535 ngx_module_incs=
536 ngx_module_deps=
537 ngx_module_srcs=src/http/modules/ngx_http_auth_request_module.c
538 ngx_module_libs=
539 ngx_module_link=$HTTP_AUTH_REQUEST
Maxim Dounin8298a222016-02-04 18:30:21 +0300540
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300541 . auto/module
542 fi
Maxim Dounin4c53a382013-08-21 19:19:47 +0400543
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300544 if [ $HTTP_AUTH_BASIC = YES ]; then
545 have=NGX_CRYPT . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300546
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300547 ngx_module_name=ngx_http_auth_basic_module
548 ngx_module_incs=
549 ngx_module_deps=
550 ngx_module_srcs=src/http/modules/ngx_http_auth_basic_module.c
551 ngx_module_libs=$CRYPT_LIB
552 ngx_module_link=$HTTP_AUTH_BASIC
Maxim Dounin8298a222016-02-04 18:30:21 +0300553
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300554 . auto/module
555 fi
Igor Sysoev4d656dc2005-03-22 16:02:46 +0000556
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300557 if [ $HTTP_ACCESS = YES ]; then
558 ngx_module_name=ngx_http_access_module
559 ngx_module_incs=
560 ngx_module_deps=
561 ngx_module_srcs=src/http/modules/ngx_http_access_module.c
562 ngx_module_libs=
563 ngx_module_link=$HTTP_ACCESS
Maxim Dounin8298a222016-02-04 18:30:21 +0300564
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300565 . auto/module
566 fi
Igor Sysoev59f3aa32004-06-24 16:07:04 +0000567
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300568 if [ $HTTP_LIMIT_CONN = YES ]; then
569 ngx_module_name=ngx_http_limit_conn_module
570 ngx_module_incs=
571 ngx_module_deps=
572 ngx_module_srcs=src/http/modules/ngx_http_limit_conn_module.c
573 ngx_module_libs=
574 ngx_module_link=$HTTP_LIMIT_CONN
Maxim Dounin8298a222016-02-04 18:30:21 +0300575
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300576 . auto/module
577 fi
Igor Sysoev684f9552007-01-07 18:09:58 +0000578
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300579 if [ $HTTP_LIMIT_REQ = YES ]; then
580 ngx_module_name=ngx_http_limit_req_module
581 ngx_module_incs=
582 ngx_module_deps=
583 ngx_module_srcs=src/http/modules/ngx_http_limit_req_module.c
584 ngx_module_libs=
585 ngx_module_link=$HTTP_LIMIT_REQ
Maxim Dounin8298a222016-02-04 18:30:21 +0300586
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300587 . auto/module
588 fi
Igor Sysoevabe378e2008-11-10 15:22:33 +0000589
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300590 if [ $HTTP_REALIP = YES ]; then
591 have=NGX_HTTP_REALIP . auto/have
592 have=NGX_HTTP_X_FORWARDED_FOR . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300593
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300594 ngx_module_name=ngx_http_realip_module
595 ngx_module_incs=
596 ngx_module_deps=
597 ngx_module_srcs=src/http/modules/ngx_http_realip_module.c
598 ngx_module_libs=
599 ngx_module_link=$HTTP_REALIP
Maxim Dounin8298a222016-02-04 18:30:21 +0300600
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300601 . auto/module
602 fi
Igor Sysoev09c684b2005-11-09 17:25:55 +0000603
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300604 if [ $HTTP_STATUS = YES ]; then
605 ngx_module_name=ngx_http_status_module
606 ngx_module_incs=
607 ngx_module_deps=
608 ngx_module_srcs=src/http/modules/ngx_http_status_module.c
609 ngx_module_libs=
610 ngx_module_link=$HTTP_STATUS
Maxim Dounin8298a222016-02-04 18:30:21 +0300611
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300612 . auto/module
613 fi
Igor Sysoevc83f6832004-06-24 07:53:37 +0000614
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300615 if [ $HTTP_GEO = YES ]; then
616 have=NGX_HTTP_X_FORWARDED_FOR . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300617
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300618 ngx_module_name=ngx_http_geo_module
619 ngx_module_incs=
620 ngx_module_deps=
621 ngx_module_srcs=src/http/modules/ngx_http_geo_module.c
622 ngx_module_libs=
623 ngx_module_link=$HTTP_GEO
Maxim Dounin8298a222016-02-04 18:30:21 +0300624
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300625 . auto/module
626 fi
Igor Sysoev805d9db2005-02-03 19:33:37 +0000627
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300628 if [ $HTTP_GEOIP != NO ]; then
629 have=NGX_HTTP_X_FORWARDED_FOR . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300630
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300631 ngx_module_name=ngx_http_geoip_module
632 ngx_module_incs=
633 ngx_module_deps=
634 ngx_module_srcs=src/http/modules/ngx_http_geoip_module.c
635 ngx_module_libs=GEOIP
636 ngx_module_link=$HTTP_GEOIP
Maxim Dounin8298a222016-02-04 18:30:21 +0300637
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300638 . auto/module
639 fi
Igor Sysoevbc101472009-07-20 07:10:43 +0000640
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300641 if [ $HTTP_MAP = YES ]; then
642 ngx_module_name=ngx_http_map_module
643 ngx_module_incs=
644 ngx_module_deps=
645 ngx_module_srcs=src/http/modules/ngx_http_map_module.c
646 ngx_module_libs=
647 ngx_module_link=$HTTP_MAP
Maxim Dounin8298a222016-02-04 18:30:21 +0300648
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300649 . auto/module
650 fi
Igor Sysoev24025022005-12-16 15:07:08 +0000651
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300652 if [ $HTTP_SPLIT_CLIENTS = YES ]; then
653 ngx_module_name=ngx_http_split_clients_module
654 ngx_module_incs=
655 ngx_module_deps=
656 ngx_module_srcs=src/http/modules/ngx_http_split_clients_module.c
657 ngx_module_libs=
658 ngx_module_link=$HTTP_SPLIT_CLIENTS
Maxim Dounin8298a222016-02-04 18:30:21 +0300659
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300660 . auto/module
661 fi
Igor Sysoevfadd4bd2010-05-14 09:02:10 +0000662
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300663 if [ $HTTP_REFERER = YES ]; then
664 ngx_module_name=ngx_http_referer_module
665 ngx_module_incs=
666 ngx_module_deps=
667 ngx_module_srcs=src/http/modules/ngx_http_referer_module.c
668 ngx_module_libs=
669 ngx_module_link=$HTTP_REFERER
Maxim Dounin8298a222016-02-04 18:30:21 +0300670
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300671 . auto/module
672 fi
Igor Sysoev0e5dc5c2005-11-15 13:30:52 +0000673
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300674 if [ $HTTP_REWRITE = YES -a $USE_PCRE != DISABLED ]; then
675 USE_PCRE=YES
Maxim Dounin8298a222016-02-04 18:30:21 +0300676
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300677 ngx_module_name=ngx_http_rewrite_module
678 ngx_module_incs=
679 ngx_module_deps=
680 ngx_module_srcs=src/http/modules/ngx_http_rewrite_module.c
681 ngx_module_libs=
682 ngx_module_link=$HTTP_REWRITE
Maxim Dounin8298a222016-02-04 18:30:21 +0300683
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300684 . auto/module
685 fi
Igor Sysoev3d5c0fc2004-06-22 16:43:09 +0000686
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300687 if [ $HTTP_SSL = YES ]; then
688 USE_OPENSSL=YES
689 have=NGX_HTTP_SSL . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300690
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300691 ngx_module_name=ngx_http_ssl_module
692 ngx_module_incs=
693 ngx_module_deps=src/http/modules/ngx_http_ssl_module.h
694 ngx_module_srcs=src/http/modules/ngx_http_ssl_module.c
695 ngx_module_libs=
696 ngx_module_link=$HTTP_SSL
Maxim Dounin8298a222016-02-04 18:30:21 +0300697
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300698 . auto/module
699 fi
Igor Sysoevf38e0462004-07-16 17:11:43 +0000700
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300701 if [ $HTTP_PROXY = YES ]; then
702 have=NGX_HTTP_X_FORWARDED_FOR . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300703
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300704 ngx_module_name=ngx_http_proxy_module
705 ngx_module_incs=
706 ngx_module_deps=
707 ngx_module_srcs=src/http/modules/ngx_http_proxy_module.c
708 ngx_module_libs=
709 ngx_module_link=$HTTP_PROXY
Maxim Dounin8298a222016-02-04 18:30:21 +0300710
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300711 . auto/module
712 fi
Igor Sysoevab9d5fd2004-03-05 08:34:24 +0000713
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300714 if [ $HTTP_FASTCGI = YES ]; then
715 ngx_module_name=ngx_http_fastcgi_module
716 ngx_module_incs=
717 ngx_module_deps=
718 ngx_module_srcs=src/http/modules/ngx_http_fastcgi_module.c
719 ngx_module_libs=
720 ngx_module_link=$HTTP_FASTCGI
Maxim Dounin8298a222016-02-04 18:30:21 +0300721
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300722 . auto/module
723 fi
Igor Sysoev02025fd2005-01-18 13:03:58 +0000724
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300725 if [ $HTTP_UWSGI = YES ]; then
726 ngx_module_name=ngx_http_uwsgi_module
727 ngx_module_incs=
728 ngx_module_deps=
729 ngx_module_srcs=src/http/modules/ngx_http_uwsgi_module.c
730 ngx_module_libs=
731 ngx_module_link=$HTTP_UWSGI
Maxim Dounin8298a222016-02-04 18:30:21 +0300732
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300733 . auto/module
734 fi
Igor Sysoev3a881d32010-06-01 15:53:11 +0000735
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300736 if [ $HTTP_SCGI = YES ]; then
737 ngx_module_name=ngx_http_scgi_module
738 ngx_module_incs=
739 ngx_module_deps=
740 ngx_module_srcs=src/http/modules/ngx_http_scgi_module.c
741 ngx_module_libs=
742 ngx_module_link=$HTTP_SCGI
Maxim Dounin8298a222016-02-04 18:30:21 +0300743
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300744 . auto/module
745 fi
Igor Sysoevee5f9e52010-06-18 15:51:14 +0000746
Maxim Dounin5b27dea2018-03-17 23:04:24 +0300747 if [ $HTTP_GRPC = YES -a $HTTP_V2 = YES ]; then
748 ngx_module_name=ngx_http_grpc_module
749 ngx_module_incs=
750 ngx_module_deps=
751 ngx_module_srcs=src/http/modules/ngx_http_grpc_module.c
752 ngx_module_libs=
753 ngx_module_link=$HTTP_GRPC
754
755 . auto/module
756 fi
757
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300758 if [ $HTTP_PERL != NO ]; then
759 ngx_module_name=ngx_http_perl_module
760 ngx_module_incs=src/http/modules/perl
761 ngx_module_deps=src/http/modules/perl/ngx_http_perl_module.h
762 ngx_module_srcs=src/http/modules/perl/ngx_http_perl_module.c
763 ngx_module_libs=PERL
764 ngx_module_link=$HTTP_PERL
Maxim Dounin8298a222016-02-04 18:30:21 +0300765
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300766 . auto/module
767 fi
Igor Sysoev9bf11aa2006-01-16 14:56:53 +0000768
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300769 if [ $HTTP_MEMCACHED = YES ]; then
770 ngx_module_name=ngx_http_memcached_module
771 ngx_module_incs=
772 ngx_module_deps=
773 ngx_module_srcs=src/http/modules/ngx_http_memcached_module.c
774 ngx_module_libs=
775 ngx_module_link=$HTTP_MEMCACHED
Maxim Dounin8298a222016-02-04 18:30:21 +0300776
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300777 . auto/module
778 fi
Igor Sysoevc31a9bb2005-11-26 10:11:11 +0000779
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300780 if [ $HTTP_EMPTY_GIF = YES ]; then
781 ngx_module_name=ngx_http_empty_gif_module
782 ngx_module_incs=
783 ngx_module_deps=
784 ngx_module_srcs=src/http/modules/ngx_http_empty_gif_module.c
785 ngx_module_libs=
786 ngx_module_link=$HTTP_EMPTY_GIF
Maxim Dounin8298a222016-02-04 18:30:21 +0300787
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300788 . auto/module
789 fi
Igor Sysoev0e5dc5c2005-11-15 13:30:52 +0000790
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300791 if [ $HTTP_BROWSER = YES ]; then
792 ngx_module_name=ngx_http_browser_module
793 ngx_module_incs=
794 ngx_module_deps=
795 ngx_module_srcs=src/http/modules/ngx_http_browser_module.c
796 ngx_module_libs=
797 ngx_module_link=$HTTP_BROWSER
Maxim Dounin8298a222016-02-04 18:30:21 +0300798
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300799 . auto/module
800 fi
Igor Sysoev3383ff62006-09-18 12:25:07 +0000801
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300802 if [ $HTTP_SECURE_LINK = YES ]; then
803 ngx_module_name=ngx_http_secure_link_module
804 ngx_module_incs=
805 ngx_module_deps=
806 ngx_module_srcs=src/http/modules/ngx_http_secure_link_module.c
807 ngx_module_libs=
808 ngx_module_link=$HTTP_SECURE_LINK
Maxim Dounin8298a222016-02-04 18:30:21 +0300809
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300810 . auto/module
811 fi
Igor Sysoeve52991e2008-09-27 13:22:10 +0000812
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300813 if [ $HTTP_DEGRADATION = YES ]; then
814 have=NGX_HTTP_DEGRADATION . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300815
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300816 ngx_module_name=ngx_http_degradation_module
817 ngx_module_incs=
818 ngx_module_deps=
819 ngx_module_srcs=src/http/modules/ngx_http_degradation_module.c
820 ngx_module_libs=
821 ngx_module_link=$HTTP_DEGRADATION
Maxim Dounin8298a222016-02-04 18:30:21 +0300822
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300823 . auto/module
824 fi
Igor Sysoev49851092009-11-16 12:20:00 +0000825
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300826 if [ $HTTP_FLV = YES ]; then
827 ngx_module_name=ngx_http_flv_module
828 ngx_module_incs=
829 ngx_module_deps=
830 ngx_module_srcs=src/http/modules/ngx_http_flv_module.c
831 ngx_module_libs=
832 ngx_module_link=$HTTP_FLV
Maxim Dounin8298a222016-02-04 18:30:21 +0300833
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300834 . auto/module
835 fi
Igor Sysoevb5050062006-10-09 14:17:36 +0000836
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300837 if [ $HTTP_MP4 = YES ]; then
838 ngx_module_name=ngx_http_mp4_module
839 ngx_module_incs=
840 ngx_module_deps=
841 ngx_module_srcs=src/http/modules/ngx_http_mp4_module.c
842 ngx_module_libs=
843 ngx_module_link=$HTTP_MP4
Maxim Dounin8298a222016-02-04 18:30:21 +0300844
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300845 . auto/module
846 fi
Igor Sysoevdde4d7e2011-09-09 10:22:34 +0000847
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300848 if [ $HTTP_UPSTREAM_HASH = YES ]; then
849 ngx_module_name=ngx_http_upstream_hash_module
850 ngx_module_incs=
851 ngx_module_deps=
852 ngx_module_srcs=src/http/modules/ngx_http_upstream_hash_module.c
853 ngx_module_libs=
854 ngx_module_link=$HTTP_UPSTREAM_HASH
Maxim Dounin8298a222016-02-04 18:30:21 +0300855
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300856 . auto/module
857 fi
Roman Arutyunyan9b5a17b2014-06-02 16:16:22 +0400858
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300859 if [ $HTTP_UPSTREAM_IP_HASH = YES ]; then
860 ngx_module_name=ngx_http_upstream_ip_hash_module
861 ngx_module_incs=
862 ngx_module_deps=
863 ngx_module_srcs=src/http/modules/ngx_http_upstream_ip_hash_module.c
864 ngx_module_libs=
865 ngx_module_link=$HTTP_UPSTREAM_IP_HASH
Maxim Dounin8298a222016-02-04 18:30:21 +0300866
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300867 . auto/module
868 fi
Igor Sysoev3d2fd182006-12-04 16:46:13 +0000869
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300870 if [ $HTTP_UPSTREAM_LEAST_CONN = YES ]; then
871 ngx_module_name=ngx_http_upstream_least_conn_module
872 ngx_module_incs=
873 ngx_module_deps=
874 ngx_module_srcs=src/http/modules/ngx_http_upstream_least_conn_module.c
875 ngx_module_libs=
876 ngx_module_link=$HTTP_UPSTREAM_LEAST_CONN
Maxim Dounin8298a222016-02-04 18:30:21 +0300877
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300878 . auto/module
879 fi
Maxim Dounin4cb4e8d2012-06-03 23:21:26 +0000880
Vladimir Homutov5f13bb82018-06-15 11:46:14 +0300881 if [ $HTTP_UPSTREAM_RANDOM = YES ]; then
882 ngx_module_name=ngx_http_upstream_random_module
883 ngx_module_incs=
884 ngx_module_deps=
885 ngx_module_srcs=src/http/modules/ngx_http_upstream_random_module.c
886 ngx_module_libs=
887 ngx_module_link=$HTTP_UPSTREAM_RANDOM
888
889 . auto/module
890 fi
891
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300892 if [ $HTTP_UPSTREAM_KEEPALIVE = YES ]; then
893 ngx_module_name=ngx_http_upstream_keepalive_module
894 ngx_module_incs=
895 ngx_module_deps=
896 ngx_module_srcs=src/http/modules/ngx_http_upstream_keepalive_module.c
897 ngx_module_libs=
898 ngx_module_link=$HTTP_UPSTREAM_KEEPALIVE
Maxim Dounin8298a222016-02-04 18:30:21 +0300899
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300900 . auto/module
901 fi
Maxim Dounin44002e52011-09-15 19:28:18 +0000902
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300903 if [ $HTTP_UPSTREAM_ZONE = YES ]; then
904 have=NGX_HTTP_UPSTREAM_ZONE . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300905
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300906 ngx_module_name=ngx_http_upstream_zone_module
907 ngx_module_incs=
908 ngx_module_deps=
909 ngx_module_srcs=src/http/modules/ngx_http_upstream_zone_module.c
910 ngx_module_libs=
911 ngx_module_link=$HTTP_UPSTREAM_ZONE
Maxim Dounin8298a222016-02-04 18:30:21 +0300912
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300913 . auto/module
914 fi
Ruslan Ermilovbbc5a9e2015-04-14 19:01:25 +0300915
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300916 if [ $HTTP_STUB_STATUS = YES ]; then
917 have=NGX_STAT_STUB . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300918
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300919 ngx_module_name=ngx_http_stub_status_module
920 ngx_module_incs=
921 ngx_module_deps=
922 ngx_module_srcs=src/http/modules/ngx_http_stub_status_module.c
923 ngx_module_libs=
924 ngx_module_link=$HTTP_STUB_STATUS
Maxim Dounin8298a222016-02-04 18:30:21 +0300925
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300926 . auto/module
927 fi
Igor Sysoevaa828612005-02-09 14:31:07 +0000928fi
929
Maxim Dounin8298a222016-02-04 18:30:21 +0300930
Maxim Dounince1c3bd2016-02-04 20:25:29 +0300931if [ $MAIL != NO ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300932 MAIL_MODULES=
933 MAIL_DEPS=
934 MAIL_INCS=
935
936 ngx_module_type=MAIL
937 ngx_module_libs=
938 ngx_module_link=YES
939
Maxim Dounince1c3bd2016-02-04 20:25:29 +0300940 ngx_module_order=
941
Maxim Dounin8298a222016-02-04 18:30:21 +0300942 ngx_module_name="ngx_mail_module ngx_mail_core_module"
943 ngx_module_incs="src/mail"
944 ngx_module_deps="src/mail/ngx_mail.h"
945 ngx_module_srcs="src/mail/ngx_mail.c \
946 src/mail/ngx_mail_core_module.c \
947 src/mail/ngx_mail_handler.c \
948 src/mail/ngx_mail_parse.c"
949
950 . auto/module
951
952 ngx_module_incs=
953
954 if [ $MAIL_SSL = YES ]; then
955 USE_OPENSSL=YES
956 have=NGX_MAIL_SSL . auto/have
957
958 ngx_module_name=ngx_mail_ssl_module
959 ngx_module_deps=src/mail/ngx_mail_ssl_module.h
960 ngx_module_srcs=src/mail/ngx_mail_ssl_module.c
961
962 . auto/module
963 fi
964
965 if [ $MAIL_POP3 = YES ]; then
966 ngx_module_name=ngx_mail_pop3_module
967 ngx_module_deps=src/mail/ngx_mail_pop3_module.h
968 ngx_module_srcs="src/mail/ngx_mail_pop3_module.c \
969 src/mail/ngx_mail_pop3_handler.c"
970
971 . auto/module
972 fi
973
974 if [ $MAIL_IMAP = YES ]; then
975 ngx_module_name=ngx_mail_imap_module
976 ngx_module_deps=src/mail/ngx_mail_imap_module.h
977 ngx_module_srcs="src/mail/ngx_mail_imap_module.c \
978 src/mail/ngx_mail_imap_handler.c"
979
980 . auto/module
981 fi
982
983 if [ $MAIL_SMTP = YES ]; then
984 ngx_module_name=ngx_mail_smtp_module
985 ngx_module_deps=src/mail/ngx_mail_smtp_module.h
986 ngx_module_srcs="src/mail/ngx_mail_smtp_module.c \
987 src/mail/ngx_mail_smtp_handler.c"
988
989 . auto/module
990 fi
991
992 ngx_module_name=ngx_mail_auth_http_module
993 ngx_module_deps=
994 ngx_module_srcs=src/mail/ngx_mail_auth_http_module.c
995
996 . auto/module
997
998 ngx_module_name=ngx_mail_proxy_module
999 ngx_module_deps=
1000 ngx_module_srcs=src/mail/ngx_mail_proxy_module.c
1001
1002 . auto/module
1003fi
1004
1005
Maxim Dounince1c3bd2016-02-04 20:25:29 +03001006if [ $STREAM != NO ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +03001007 STREAM_MODULES=
1008 STREAM_DEPS=
1009 STREAM_INCS=
1010
Maxim Dounin8298a222016-02-04 18:30:21 +03001011 ngx_module_type=STREAM
Ruslan Ermilov9f31b772017-03-16 20:38:26 +03001012 ngx_module_libs=
1013 ngx_module_link=YES
Maxim Dounin8298a222016-02-04 18:30:21 +03001014
Maxim Dounince1c3bd2016-02-04 20:25:29 +03001015 ngx_module_order=
1016
Maxim Dounin8298a222016-02-04 18:30:21 +03001017 ngx_module_name="ngx_stream_module \
1018 ngx_stream_core_module \
Vladimir Homutov74520332016-09-05 17:50:16 +03001019 ngx_stream_log_module \
Maxim Dounin8298a222016-02-04 18:30:21 +03001020 ngx_stream_proxy_module \
Roman Arutyunyan17003b52016-09-15 14:55:46 +03001021 ngx_stream_upstream_module \
1022 ngx_stream_write_filter_module"
Maxim Dounin8298a222016-02-04 18:30:21 +03001023 ngx_module_incs="src/stream"
1024 ngx_module_deps="src/stream/ngx_stream.h \
Vladimir Homutov2132f0a2016-07-04 16:37:36 +03001025 src/stream/ngx_stream_variables.h \
1026 src/stream/ngx_stream_script.h \
Maxim Dounin8298a222016-02-04 18:30:21 +03001027 src/stream/ngx_stream_upstream.h \
1028 src/stream/ngx_stream_upstream_round_robin.h"
1029 ngx_module_srcs="src/stream/ngx_stream.c \
Vladimir Homutov2132f0a2016-07-04 16:37:36 +03001030 src/stream/ngx_stream_variables.c \
1031 src/stream/ngx_stream_script.c \
Maxim Dounin8298a222016-02-04 18:30:21 +03001032 src/stream/ngx_stream_handler.c \
1033 src/stream/ngx_stream_core_module.c \
Vladimir Homutov74520332016-09-05 17:50:16 +03001034 src/stream/ngx_stream_log_module.c \
Maxim Dounin8298a222016-02-04 18:30:21 +03001035 src/stream/ngx_stream_proxy_module.c \
1036 src/stream/ngx_stream_upstream.c \
Roman Arutyunyan17003b52016-09-15 14:55:46 +03001037 src/stream/ngx_stream_upstream_round_robin.c \
1038 src/stream/ngx_stream_write_filter_module.c"
Maxim Dounin8298a222016-02-04 18:30:21 +03001039
1040 . auto/module
1041
1042 ngx_module_incs=
1043
1044 if [ $STREAM_SSL = YES ]; then
1045 USE_OPENSSL=YES
1046 have=NGX_STREAM_SSL . auto/have
1047
1048 ngx_module_name=ngx_stream_ssl_module
1049 ngx_module_deps=src/stream/ngx_stream_ssl_module.h
1050 ngx_module_srcs=src/stream/ngx_stream_ssl_module.c
Vladimir Homutov5d249002016-07-12 12:38:01 +03001051 ngx_module_libs=
1052 ngx_module_link=$STREAM_SSL
Maxim Dounin8298a222016-02-04 18:30:21 +03001053
1054 . auto/module
1055 fi
1056
Dmitry Volyntsev5b441572016-09-01 14:45:33 +03001057 if [ $STREAM_REALIP = YES ]; then
1058 ngx_module_name=ngx_stream_realip_module
1059 ngx_module_deps=
1060 ngx_module_srcs=src/stream/ngx_stream_realip_module.c
1061 ngx_module_libs=
1062 ngx_module_link=$STREAM_REALIP
1063
1064 . auto/module
1065 fi
1066
Maxim Dounin8298a222016-02-04 18:30:21 +03001067 if [ $STREAM_LIMIT_CONN = YES ]; then
1068 ngx_module_name=ngx_stream_limit_conn_module
1069 ngx_module_deps=
1070 ngx_module_srcs=src/stream/ngx_stream_limit_conn_module.c
Vladimir Homutov5d249002016-07-12 12:38:01 +03001071 ngx_module_libs=
1072 ngx_module_link=$STREAM_LIMIT_CONN
Maxim Dounin8298a222016-02-04 18:30:21 +03001073
1074 . auto/module
1075 fi
1076
1077 if [ $STREAM_ACCESS = YES ]; then
1078 ngx_module_name=ngx_stream_access_module
1079 ngx_module_deps=
1080 ngx_module_srcs=src/stream/ngx_stream_access_module.c
Vladimir Homutov5d249002016-07-12 12:38:01 +03001081 ngx_module_libs=
1082 ngx_module_link=$STREAM_ACCESS
Maxim Dounin8298a222016-02-04 18:30:21 +03001083
1084 . auto/module
1085 fi
1086
Vladimir Homutov59decfe2016-06-30 16:12:50 +03001087 if [ $STREAM_GEO = YES ]; then
1088 ngx_module_name=ngx_stream_geo_module
1089 ngx_module_deps=
1090 ngx_module_srcs=src/stream/ngx_stream_geo_module.c
1091 ngx_module_libs=
1092 ngx_module_link=$STREAM_GEO
1093
1094 . auto/module
1095 fi
1096
Vladimir Homutovb0d41a02016-07-12 17:34:43 +03001097 if [ $STREAM_GEOIP != NO ]; then
1098 ngx_module_name=ngx_stream_geoip_module
1099 ngx_module_deps=
1100 ngx_module_srcs=src/stream/ngx_stream_geoip_module.c
1101 ngx_module_libs=GEOIP
1102 ngx_module_link=$STREAM_GEOIP
1103
1104 . auto/module
1105 fi
1106
Vladimir Homutovb55388d2016-06-29 12:46:12 +03001107 if [ $STREAM_MAP = YES ]; then
1108 ngx_module_name=ngx_stream_map_module
1109 ngx_module_deps=
1110 ngx_module_srcs=src/stream/ngx_stream_map_module.c
Vladimir Homutov5d249002016-07-12 12:38:01 +03001111 ngx_module_libs=
1112 ngx_module_link=$STREAM_MAP
Vladimir Homutovb55388d2016-06-29 12:46:12 +03001113
1114 . auto/module
1115 fi
1116
Vladimir Homutov66030bd2016-07-12 17:34:52 +03001117 if [ $STREAM_SPLIT_CLIENTS = YES ]; then
1118 ngx_module_name=ngx_stream_split_clients_module
1119 ngx_module_deps=
1120 ngx_module_srcs=src/stream/ngx_stream_split_clients_module.c
1121 ngx_module_libs=
1122 ngx_module_link=$STREAM_SPLIT_CLIENTS
1123
1124 . auto/module
1125 fi
1126
Roman Arutyunyand4488652016-05-18 22:08:49 +03001127 if [ $STREAM_RETURN = YES ]; then
1128 ngx_module_name=ngx_stream_return_module
1129 ngx_module_deps=
1130 ngx_module_srcs=src/stream/ngx_stream_return_module.c
Vladimir Homutov5d249002016-07-12 12:38:01 +03001131 ngx_module_libs=
1132 ngx_module_link=$STREAM_RETURN
Roman Arutyunyand4488652016-05-18 22:08:49 +03001133
1134 . auto/module
1135 fi
1136
Maxim Dounin8298a222016-02-04 18:30:21 +03001137 if [ $STREAM_UPSTREAM_HASH = YES ]; then
1138 ngx_module_name=ngx_stream_upstream_hash_module
1139 ngx_module_deps=
1140 ngx_module_srcs=src/stream/ngx_stream_upstream_hash_module.c
Vladimir Homutov5d249002016-07-12 12:38:01 +03001141 ngx_module_libs=
1142 ngx_module_link=$STREAM_UPSTREAM_HASH
Maxim Dounin8298a222016-02-04 18:30:21 +03001143
1144 . auto/module
1145 fi
1146
1147 if [ $STREAM_UPSTREAM_LEAST_CONN = YES ]; then
1148 ngx_module_name=ngx_stream_upstream_least_conn_module
1149 ngx_module_deps=
1150 ngx_module_srcs=src/stream/ngx_stream_upstream_least_conn_module.c
Vladimir Homutov5d249002016-07-12 12:38:01 +03001151 ngx_module_libs=
1152 ngx_module_link=$STREAM_UPSTREAM_LEAST_CONN
Maxim Dounin8298a222016-02-04 18:30:21 +03001153
1154 . auto/module
1155 fi
1156
Vladimir Homutov5f13bb82018-06-15 11:46:14 +03001157 if [ $STREAM_UPSTREAM_RANDOM = YES ]; then
1158 ngx_module_name=ngx_stream_upstream_random_module
1159 ngx_module_deps=
1160 ngx_module_srcs=src/stream/ngx_stream_upstream_random_module.c
1161 ngx_module_libs=
1162 ngx_module_link=$STREAM_UPSTREAM_RANDOM
1163
1164 . auto/module
1165 fi
1166
Maxim Dounin8298a222016-02-04 18:30:21 +03001167 if [ $STREAM_UPSTREAM_ZONE = YES ]; then
1168 have=NGX_STREAM_UPSTREAM_ZONE . auto/have
1169
1170 ngx_module_name=ngx_stream_upstream_zone_module
1171 ngx_module_deps=
1172 ngx_module_srcs=src/stream/ngx_stream_upstream_zone_module.c
Vladimir Homutov5d249002016-07-12 12:38:01 +03001173 ngx_module_libs=
1174 ngx_module_link=$STREAM_UPSTREAM_ZONE
Maxim Dounin8298a222016-02-04 18:30:21 +03001175
1176 . auto/module
1177 fi
Vladimir Homutovea657ae2016-09-15 14:56:51 +03001178
1179 if [ $STREAM_SSL_PREREAD = YES ]; then
1180 ngx_module_name=ngx_stream_ssl_preread_module
1181 ngx_module_deps=
1182 ngx_module_srcs=src/stream/ngx_stream_ssl_preread_module.c
1183 ngx_module_libs=
1184 ngx_module_link=$STREAM_SSL_PREREAD
1185
1186 . auto/module
1187 fi
Maxim Dounin8298a222016-02-04 18:30:21 +03001188fi
1189
1190
Igor Sysoev1ebfead2005-02-16 13:40:36 +00001191#if [ -r $NGX_OBJS/auto ]; then
1192# . $NGX_OBJS/auto
1193#fi
1194
1195
1196if test -n "$NGX_ADDONS"; then
1197
1198 echo configuring additional modules
1199
1200 for ngx_addon_dir in $NGX_ADDONS
1201 do
1202 echo "adding module in $ngx_addon_dir"
1203
Maxim Dounin8298a222016-02-04 18:30:21 +03001204 ngx_module_type=
1205 ngx_module_name=
1206 ngx_module_incs=
1207 ngx_module_deps=
1208 ngx_module_srcs=
1209 ngx_module_libs=
Maxim Dounince1c3bd2016-02-04 20:25:29 +03001210 ngx_module_order=
Maxim Dounin8298a222016-02-04 18:30:21 +03001211 ngx_module_link=ADDON
1212
Igor Sysoev1ebfead2005-02-16 13:40:36 +00001213 if test -f $ngx_addon_dir/config; then
1214 . $ngx_addon_dir/config
1215
1216 echo " + $ngx_addon_name was configured"
1217
1218 else
1219 echo "$0: error: no $ngx_addon_dir/config was found"
1220 exit 1
1221 fi
1222 done
Igor Sysoevab517d52004-05-18 15:29:08 +00001223fi
Igor Sysoevab9d5fd2004-03-05 08:34:24 +00001224
Igor Sysoev1ebfead2005-02-16 13:40:36 +00001225
Maxim Dounince1c3bd2016-02-04 20:25:29 +03001226if test -n "$DYNAMIC_ADDONS"; then
1227
1228 echo configuring additional dynamic modules
1229
1230 for ngx_addon_dir in $DYNAMIC_ADDONS
1231 do
1232 echo "adding module in $ngx_addon_dir"
1233
1234 ngx_module_type=
1235 ngx_module_name=
1236 ngx_module_incs=
1237 ngx_module_deps=
1238 ngx_module_srcs=
1239 ngx_module_libs=
1240 ngx_module_order=
1241 ngx_module_link=DYNAMIC
1242
1243 if test -f $ngx_addon_dir/config; then
1244 . $ngx_addon_dir/config
1245
1246 echo " + $ngx_addon_name was configured"
1247
1248 else
1249 echo "$0: error: no $ngx_addon_dir/config was found"
1250 exit 1
1251 fi
1252 done
1253fi
1254
1255
Maxim Dounin8298a222016-02-04 18:30:21 +03001256if [ $USE_OPENSSL = YES ]; then
1257 ngx_module_type=CORE
1258 ngx_module_name=ngx_openssl_module
1259 ngx_module_incs=
1260 ngx_module_deps=src/event/ngx_event_openssl.h
1261 ngx_module_srcs="src/event/ngx_event_openssl.c
1262 src/event/ngx_event_openssl_stapling.c"
1263 ngx_module_libs=
1264 ngx_module_link=YES
Maxim Dounince1c3bd2016-02-04 20:25:29 +03001265 ngx_module_order=
Maxim Dounin8298a222016-02-04 18:30:21 +03001266
1267 . auto/module
Igor Sysoeve5733802005-09-08 14:36:09 +00001268fi
1269
1270
Maxim Dounin8298a222016-02-04 18:30:21 +03001271if [ $USE_PCRE = YES ]; then
1272 ngx_module_type=CORE
1273 ngx_module_name=ngx_regex_module
1274 ngx_module_incs=
1275 ngx_module_deps=src/core/ngx_regex.h
1276 ngx_module_srcs=src/core/ngx_regex.c
1277 ngx_module_libs=
1278 ngx_module_link=YES
Maxim Dounince1c3bd2016-02-04 20:25:29 +03001279 ngx_module_order=
Maxim Dounin8298a222016-02-04 18:30:21 +03001280
1281 . auto/module
Ruslan Ermilov472f0fa2015-04-20 13:05:11 +03001282fi
1283
1284
Igor Sysoev980a9242004-09-05 19:54:02 +00001285modules="$CORE_MODULES $EVENT_MODULES"
1286
Igor Sysoeve5733802005-09-08 14:36:09 +00001287
Valentin Bartenev27e49d72015-03-14 17:37:07 +03001288# thread pool module should be initialized after events
1289if [ $USE_THREADS = YES ]; then
1290 modules="$modules $THREAD_POOL_MODULE"
1291fi
1292
1293
Igor Sysoev980a9242004-09-05 19:54:02 +00001294if [ $HTTP = YES ]; then
1295 modules="$modules $HTTP_MODULES $HTTP_FILTER_MODULES \
Maxim Douninb07c1812016-02-04 18:30:21 +03001296 $HTTP_AUX_FILTER_MODULES $HTTP_INIT_FILTER_MODULES"
Igor Sysoev1ebfead2005-02-16 13:40:36 +00001297
1298 NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(HTTP_DEPS)"
Igor Sysoev980a9242004-09-05 19:54:02 +00001299fi
Igor Sysoevab9d5fd2004-03-05 08:34:24 +00001300
Igor Sysoev1ebfead2005-02-16 13:40:36 +00001301
Maxim Dounince1c3bd2016-02-04 20:25:29 +03001302if [ $MAIL != NO ]; then
1303
1304 if [ $MAIL = YES ]; then
1305 modules="$modules $MAIL_MODULES"
1306
1307 elif [ $MAIL = DYNAMIC ]; then
1308 ngx_module_name=$MAIL_MODULES
1309 ngx_module_incs=
Maxim Dounin523e3372016-11-21 16:49:19 +03001310 ngx_module_deps=
Maxim Dounince1c3bd2016-02-04 20:25:29 +03001311 ngx_module_srcs=$MAIL_SRCS
1312 ngx_module_libs=
1313 ngx_module_link=DYNAMIC
1314
1315 . auto/module
1316 fi
1317
Maxim Douninf86169a2013-09-30 22:09:54 +04001318 NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(MAIL_DEPS)"
Igor Sysoev59cf56c2004-09-07 15:29:22 +00001319fi
1320
Igor Sysoevab9d5fd2004-03-05 08:34:24 +00001321
Maxim Dounince1c3bd2016-02-04 20:25:29 +03001322if [ $STREAM != NO ]; then
1323
1324 if [ $STREAM = YES ]; then
1325 modules="$modules $STREAM_MODULES"
1326
1327 elif [ $STREAM = DYNAMIC ]; then
1328 ngx_module_name=$STREAM_MODULES
1329 ngx_module_incs=
Maxim Dounin523e3372016-11-21 16:49:19 +03001330 ngx_module_deps=
Maxim Dounince1c3bd2016-02-04 20:25:29 +03001331 ngx_module_srcs=$STREAM_SRCS
1332 ngx_module_libs=
1333 ngx_module_link=DYNAMIC
1334
1335 . auto/module
1336 fi
1337
Ruslan Ermilov472f0fa2015-04-20 13:05:11 +03001338 NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(STREAM_DEPS)"
1339fi
1340
1341
Maxim Dounin8298a222016-02-04 18:30:21 +03001342ngx_module_type=MISC
1343MISC_MODULES=
Igor Sysoev85dd8fc2008-03-18 10:36:27 +00001344
Maxim Dounin8298a222016-02-04 18:30:21 +03001345if [ $NGX_GOOGLE_PERFTOOLS = YES ]; then
1346 ngx_module_name=ngx_google_perftools_module
1347 ngx_module_incs=
1348 ngx_module_deps=
1349 ngx_module_srcs=src/misc/ngx_google_perftools_module.c
1350 ngx_module_libs=
1351 ngx_module_link=$NGX_GOOGLE_PERFTOOLS
1352
1353 . auto/module
1354fi
Igor Sysoev85dd8fc2008-03-18 10:36:27 +00001355
Igor Sysoev49f06852008-08-13 08:29:27 +00001356if [ $NGX_CPP_TEST = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +03001357 ngx_module_name=
1358 ngx_module_incs=
1359 ngx_module_deps=
1360 ngx_module_srcs=src/misc/ngx_cpp_test_module.cpp
1361 ngx_module_libs=-lstdc++
1362 ngx_module_link=$NGX_CPP_TEST
1363
1364 . auto/module
Igor Sysoeve24b57a2008-08-05 19:32:50 +00001365fi
1366
Maxim Dounin8298a222016-02-04 18:30:21 +03001367modules="$modules $MISC_MODULES"
1368
Igor Sysoeve24b57a2008-08-05 19:32:50 +00001369
Maxim Dounin03164142016-10-03 15:58:16 +03001370if [ $NGX_COMPAT = YES ]; then
1371 have=NGX_COMPAT . auto/have
1372 have=NGX_HTTP_GZIP . auto/have
1373 have=NGX_HTTP_DAV . auto/have
1374 have=NGX_HTTP_REALIP . auto/have
1375 have=NGX_HTTP_X_FORWARDED_FOR . auto/have
1376 have=NGX_HTTP_HEADERS . auto/have
1377 have=NGX_HTTP_UPSTREAM_ZONE . auto/have
1378 have=NGX_STREAM_UPSTREAM_ZONE . auto/have
1379fi
1380
1381
Igor Sysoev1b735832004-11-11 14:07:14 +00001382cat << END > $NGX_MODULES_C
1383
1384#include <ngx_config.h>
1385#include <ngx_core.h>
1386
1387$NGX_PRAGMA
1388
1389END
Igor Sysoevab9d5fd2004-03-05 08:34:24 +00001390
1391for mod in $modules
1392do
1393 echo "extern ngx_module_t $mod;" >> $NGX_MODULES_C
1394done
1395
1396echo >> $NGX_MODULES_C
1397echo 'ngx_module_t *ngx_modules[] = {' >> $NGX_MODULES_C
1398
1399for mod in $modules
1400do
1401 echo " &$mod," >> $NGX_MODULES_C
1402done
1403
Igor Sysoev1b735832004-11-11 14:07:14 +00001404cat << END >> $NGX_MODULES_C
1405 NULL
1406};
1407
1408END
Maxim Dounince1c3bd2016-02-04 20:25:29 +03001409
1410echo 'char *ngx_module_names[] = {' >> $NGX_MODULES_C
1411
1412for mod in $modules
1413do
1414 echo " \"$mod\"," >> $NGX_MODULES_C
1415done
1416
1417cat << END >> $NGX_MODULES_C
1418 NULL
1419};
1420
1421END