blob: b9fa3bbeaadef589ae7c2d09af124806aa6fc170 [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 \
431 src/http/v2/ngx_http_v2_huff_decode.c \
432 src/http/v2/ngx_http_v2_huff_encode.c \
433 src/http/v2/ngx_http_v2_module.c"
434 ngx_module_libs=
435 ngx_module_link=$HTTP_V2
Maxim Dounin8298a222016-02-04 18:30:21 +0300436
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300437 . auto/module
438 fi
Maxim Dounin8298a222016-02-04 18:30:21 +0300439
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300440 if :; then
441 ngx_module_name=ngx_http_static_module
442 ngx_module_incs=
443 ngx_module_deps=
444 ngx_module_srcs=src/http/modules/ngx_http_static_module.c
445 ngx_module_libs=
446 ngx_module_link=YES
Maxim Dounin8298a222016-02-04 18:30:21 +0300447
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300448 . auto/module
449 fi
Valentin Bartenev2686cb42013-03-20 10:36:57 +0000450
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300451 if [ $HTTP_GZIP_STATIC = YES ]; then
452 have=NGX_HTTP_GZIP . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300453
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300454 ngx_module_name=ngx_http_gzip_static_module
455 ngx_module_incs=
456 ngx_module_deps=
457 ngx_module_srcs=src/http/modules/ngx_http_gzip_static_module.c
458 ngx_module_libs=
459 ngx_module_link=$HTTP_GZIP_STATIC
Igor Sysoev723e6cc2004-10-25 15:29:23 +0000460
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300461 . auto/module
462 fi
Maxim Dounin8298a222016-02-04 18:30:21 +0300463
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300464 if [ $HTTP_DAV = YES ]; then
465 have=NGX_HTTP_DAV . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300466
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300467 ngx_module_name=ngx_http_dav_module
468 ngx_module_incs=
469 ngx_module_deps=
470 ngx_module_srcs=src/http/modules/ngx_http_dav_module.c
471 ngx_module_libs=
472 ngx_module_link=$HTTP_DAV
Maxim Dounin8298a222016-02-04 18:30:21 +0300473
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300474 . auto/module
475 fi
Igor Sysoev8a2b2fb2006-04-14 09:53:38 +0000476
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300477 if [ $HTTP_AUTOINDEX = YES ]; then
478 ngx_module_name=ngx_http_autoindex_module
479 ngx_module_incs=
480 ngx_module_deps=
481 ngx_module_srcs=src/http/modules/ngx_http_autoindex_module.c
482 ngx_module_libs=
483 ngx_module_link=$HTTP_AUTOINDEX
Maxim Dounin8298a222016-02-04 18:30:21 +0300484
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300485 . auto/module
486 fi
Igor Sysoev723e6cc2004-10-25 15:29:23 +0000487
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300488 if :; then
489 ngx_module_name=ngx_http_index_module
490 ngx_module_incs=
491 ngx_module_deps=
492 ngx_module_srcs=src/http/modules/ngx_http_index_module.c
493 ngx_module_libs=
494 ngx_module_link=YES
Maxim Dounin8298a222016-02-04 18:30:21 +0300495
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300496 . auto/module
497 fi
Igor Sysoev3d5c0fc2004-06-22 16:43:09 +0000498
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300499 if [ $HTTP_RANDOM_INDEX = YES ]; then
500 ngx_module_name=ngx_http_random_index_module
501 ngx_module_incs=
502 ngx_module_deps=
503 ngx_module_srcs=src/http/modules/ngx_http_random_index_module.c
504 ngx_module_libs=
505 ngx_module_link=$HTTP_RANDOM_INDEX
Maxim Dounin8298a222016-02-04 18:30:21 +0300506
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300507 . auto/module
508 fi
Igor Sysoev2e2b81d2008-09-05 15:45:55 +0000509
Roman Arutyunyanef33b872017-07-20 08:50:49 +0300510 if [ $HTTP_MIRROR = YES ]; then
511 ngx_module_name=ngx_http_mirror_module
512 ngx_module_incs=
513 ngx_module_deps=
514 ngx_module_srcs=src/http/modules/ngx_http_mirror_module.c
515 ngx_module_libs=
516 ngx_module_link=$HTTP_MIRROR
517
518 . auto/module
519 fi
520
Roman Arutyunyancbf96ec2017-07-20 15:51:11 +0300521 if :; then
522 ngx_module_name=ngx_http_try_files_module
523 ngx_module_incs=
524 ngx_module_deps=
525 ngx_module_srcs=src/http/modules/ngx_http_try_files_module.c
526 ngx_module_libs=
527 ngx_module_link=YES
528
529 . auto/module
530 fi
531
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300532 if [ $HTTP_AUTH_REQUEST = YES ]; then
533 ngx_module_name=ngx_http_auth_request_module
534 ngx_module_incs=
535 ngx_module_deps=
536 ngx_module_srcs=src/http/modules/ngx_http_auth_request_module.c
537 ngx_module_libs=
538 ngx_module_link=$HTTP_AUTH_REQUEST
Maxim Dounin8298a222016-02-04 18:30:21 +0300539
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300540 . auto/module
541 fi
Maxim Dounin4c53a382013-08-21 19:19:47 +0400542
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300543 if [ $HTTP_AUTH_BASIC = YES ]; then
544 have=NGX_CRYPT . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300545
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300546 ngx_module_name=ngx_http_auth_basic_module
547 ngx_module_incs=
548 ngx_module_deps=
549 ngx_module_srcs=src/http/modules/ngx_http_auth_basic_module.c
550 ngx_module_libs=$CRYPT_LIB
551 ngx_module_link=$HTTP_AUTH_BASIC
Maxim Dounin8298a222016-02-04 18:30:21 +0300552
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300553 . auto/module
554 fi
Igor Sysoev4d656dc2005-03-22 16:02:46 +0000555
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300556 if [ $HTTP_ACCESS = YES ]; then
557 ngx_module_name=ngx_http_access_module
558 ngx_module_incs=
559 ngx_module_deps=
560 ngx_module_srcs=src/http/modules/ngx_http_access_module.c
561 ngx_module_libs=
562 ngx_module_link=$HTTP_ACCESS
Maxim Dounin8298a222016-02-04 18:30:21 +0300563
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300564 . auto/module
565 fi
Igor Sysoev59f3aa32004-06-24 16:07:04 +0000566
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300567 if [ $HTTP_LIMIT_CONN = YES ]; then
568 ngx_module_name=ngx_http_limit_conn_module
569 ngx_module_incs=
570 ngx_module_deps=
571 ngx_module_srcs=src/http/modules/ngx_http_limit_conn_module.c
572 ngx_module_libs=
573 ngx_module_link=$HTTP_LIMIT_CONN
Maxim Dounin8298a222016-02-04 18:30:21 +0300574
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300575 . auto/module
576 fi
Igor Sysoev684f9552007-01-07 18:09:58 +0000577
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300578 if [ $HTTP_LIMIT_REQ = YES ]; then
579 ngx_module_name=ngx_http_limit_req_module
580 ngx_module_incs=
581 ngx_module_deps=
582 ngx_module_srcs=src/http/modules/ngx_http_limit_req_module.c
583 ngx_module_libs=
584 ngx_module_link=$HTTP_LIMIT_REQ
Maxim Dounin8298a222016-02-04 18:30:21 +0300585
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300586 . auto/module
587 fi
Igor Sysoevabe378e2008-11-10 15:22:33 +0000588
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300589 if [ $HTTP_REALIP = YES ]; then
590 have=NGX_HTTP_REALIP . auto/have
591 have=NGX_HTTP_X_FORWARDED_FOR . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300592
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300593 ngx_module_name=ngx_http_realip_module
594 ngx_module_incs=
595 ngx_module_deps=
596 ngx_module_srcs=src/http/modules/ngx_http_realip_module.c
597 ngx_module_libs=
598 ngx_module_link=$HTTP_REALIP
Maxim Dounin8298a222016-02-04 18:30:21 +0300599
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300600 . auto/module
601 fi
Igor Sysoev09c684b2005-11-09 17:25:55 +0000602
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300603 if [ $HTTP_STATUS = YES ]; then
604 ngx_module_name=ngx_http_status_module
605 ngx_module_incs=
606 ngx_module_deps=
607 ngx_module_srcs=src/http/modules/ngx_http_status_module.c
608 ngx_module_libs=
609 ngx_module_link=$HTTP_STATUS
Maxim Dounin8298a222016-02-04 18:30:21 +0300610
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300611 . auto/module
612 fi
Igor Sysoevc83f6832004-06-24 07:53:37 +0000613
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300614 if [ $HTTP_GEO = YES ]; then
615 have=NGX_HTTP_X_FORWARDED_FOR . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300616
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300617 ngx_module_name=ngx_http_geo_module
618 ngx_module_incs=
619 ngx_module_deps=
620 ngx_module_srcs=src/http/modules/ngx_http_geo_module.c
621 ngx_module_libs=
622 ngx_module_link=$HTTP_GEO
Maxim Dounin8298a222016-02-04 18:30:21 +0300623
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300624 . auto/module
625 fi
Igor Sysoev805d9db2005-02-03 19:33:37 +0000626
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300627 if [ $HTTP_GEOIP != NO ]; then
628 have=NGX_HTTP_X_FORWARDED_FOR . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300629
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300630 ngx_module_name=ngx_http_geoip_module
631 ngx_module_incs=
632 ngx_module_deps=
633 ngx_module_srcs=src/http/modules/ngx_http_geoip_module.c
634 ngx_module_libs=GEOIP
635 ngx_module_link=$HTTP_GEOIP
Maxim Dounin8298a222016-02-04 18:30:21 +0300636
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300637 . auto/module
638 fi
Igor Sysoevbc101472009-07-20 07:10:43 +0000639
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300640 if [ $HTTP_MAP = YES ]; then
641 ngx_module_name=ngx_http_map_module
642 ngx_module_incs=
643 ngx_module_deps=
644 ngx_module_srcs=src/http/modules/ngx_http_map_module.c
645 ngx_module_libs=
646 ngx_module_link=$HTTP_MAP
Maxim Dounin8298a222016-02-04 18:30:21 +0300647
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300648 . auto/module
649 fi
Igor Sysoev24025022005-12-16 15:07:08 +0000650
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300651 if [ $HTTP_SPLIT_CLIENTS = YES ]; then
652 ngx_module_name=ngx_http_split_clients_module
653 ngx_module_incs=
654 ngx_module_deps=
655 ngx_module_srcs=src/http/modules/ngx_http_split_clients_module.c
656 ngx_module_libs=
657 ngx_module_link=$HTTP_SPLIT_CLIENTS
Maxim Dounin8298a222016-02-04 18:30:21 +0300658
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300659 . auto/module
660 fi
Igor Sysoevfadd4bd2010-05-14 09:02:10 +0000661
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300662 if [ $HTTP_REFERER = YES ]; then
663 ngx_module_name=ngx_http_referer_module
664 ngx_module_incs=
665 ngx_module_deps=
666 ngx_module_srcs=src/http/modules/ngx_http_referer_module.c
667 ngx_module_libs=
668 ngx_module_link=$HTTP_REFERER
Maxim Dounin8298a222016-02-04 18:30:21 +0300669
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300670 . auto/module
671 fi
Igor Sysoev0e5dc5c2005-11-15 13:30:52 +0000672
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300673 if [ $HTTP_REWRITE = YES -a $USE_PCRE != DISABLED ]; then
674 USE_PCRE=YES
Maxim Dounin8298a222016-02-04 18:30:21 +0300675
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300676 ngx_module_name=ngx_http_rewrite_module
677 ngx_module_incs=
678 ngx_module_deps=
679 ngx_module_srcs=src/http/modules/ngx_http_rewrite_module.c
680 ngx_module_libs=
681 ngx_module_link=$HTTP_REWRITE
Maxim Dounin8298a222016-02-04 18:30:21 +0300682
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300683 . auto/module
684 fi
Igor Sysoev3d5c0fc2004-06-22 16:43:09 +0000685
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300686 if [ $HTTP_SSL = YES ]; then
687 USE_OPENSSL=YES
688 have=NGX_HTTP_SSL . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300689
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300690 ngx_module_name=ngx_http_ssl_module
691 ngx_module_incs=
692 ngx_module_deps=src/http/modules/ngx_http_ssl_module.h
693 ngx_module_srcs=src/http/modules/ngx_http_ssl_module.c
694 ngx_module_libs=
695 ngx_module_link=$HTTP_SSL
Maxim Dounin8298a222016-02-04 18:30:21 +0300696
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300697 . auto/module
698 fi
Igor Sysoevf38e0462004-07-16 17:11:43 +0000699
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300700 if [ $HTTP_PROXY = YES ]; then
701 have=NGX_HTTP_X_FORWARDED_FOR . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300702
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300703 ngx_module_name=ngx_http_proxy_module
704 ngx_module_incs=
705 ngx_module_deps=
706 ngx_module_srcs=src/http/modules/ngx_http_proxy_module.c
707 ngx_module_libs=
708 ngx_module_link=$HTTP_PROXY
Maxim Dounin8298a222016-02-04 18:30:21 +0300709
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300710 . auto/module
711 fi
Igor Sysoevab9d5fd2004-03-05 08:34:24 +0000712
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300713 if [ $HTTP_FASTCGI = YES ]; then
714 ngx_module_name=ngx_http_fastcgi_module
715 ngx_module_incs=
716 ngx_module_deps=
717 ngx_module_srcs=src/http/modules/ngx_http_fastcgi_module.c
718 ngx_module_libs=
719 ngx_module_link=$HTTP_FASTCGI
Maxim Dounin8298a222016-02-04 18:30:21 +0300720
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300721 . auto/module
722 fi
Igor Sysoev02025fd2005-01-18 13:03:58 +0000723
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300724 if [ $HTTP_UWSGI = YES ]; then
725 ngx_module_name=ngx_http_uwsgi_module
726 ngx_module_incs=
727 ngx_module_deps=
728 ngx_module_srcs=src/http/modules/ngx_http_uwsgi_module.c
729 ngx_module_libs=
730 ngx_module_link=$HTTP_UWSGI
Maxim Dounin8298a222016-02-04 18:30:21 +0300731
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300732 . auto/module
733 fi
Igor Sysoev3a881d32010-06-01 15:53:11 +0000734
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300735 if [ $HTTP_SCGI = YES ]; then
736 ngx_module_name=ngx_http_scgi_module
737 ngx_module_incs=
738 ngx_module_deps=
739 ngx_module_srcs=src/http/modules/ngx_http_scgi_module.c
740 ngx_module_libs=
741 ngx_module_link=$HTTP_SCGI
Maxim Dounin8298a222016-02-04 18:30:21 +0300742
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300743 . auto/module
744 fi
Igor Sysoevee5f9e52010-06-18 15:51:14 +0000745
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300746 if [ $HTTP_PERL != NO ]; then
747 ngx_module_name=ngx_http_perl_module
748 ngx_module_incs=src/http/modules/perl
749 ngx_module_deps=src/http/modules/perl/ngx_http_perl_module.h
750 ngx_module_srcs=src/http/modules/perl/ngx_http_perl_module.c
751 ngx_module_libs=PERL
752 ngx_module_link=$HTTP_PERL
Maxim Dounin8298a222016-02-04 18:30:21 +0300753
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300754 . auto/module
755 fi
Igor Sysoev9bf11aa2006-01-16 14:56:53 +0000756
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300757 if [ $HTTP_MEMCACHED = YES ]; then
758 ngx_module_name=ngx_http_memcached_module
759 ngx_module_incs=
760 ngx_module_deps=
761 ngx_module_srcs=src/http/modules/ngx_http_memcached_module.c
762 ngx_module_libs=
763 ngx_module_link=$HTTP_MEMCACHED
Maxim Dounin8298a222016-02-04 18:30:21 +0300764
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300765 . auto/module
766 fi
Igor Sysoevc31a9bb2005-11-26 10:11:11 +0000767
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300768 if [ $HTTP_EMPTY_GIF = YES ]; then
769 ngx_module_name=ngx_http_empty_gif_module
770 ngx_module_incs=
771 ngx_module_deps=
772 ngx_module_srcs=src/http/modules/ngx_http_empty_gif_module.c
773 ngx_module_libs=
774 ngx_module_link=$HTTP_EMPTY_GIF
Maxim Dounin8298a222016-02-04 18:30:21 +0300775
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300776 . auto/module
777 fi
Igor Sysoev0e5dc5c2005-11-15 13:30:52 +0000778
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300779 if [ $HTTP_BROWSER = YES ]; then
780 ngx_module_name=ngx_http_browser_module
781 ngx_module_incs=
782 ngx_module_deps=
783 ngx_module_srcs=src/http/modules/ngx_http_browser_module.c
784 ngx_module_libs=
785 ngx_module_link=$HTTP_BROWSER
Maxim Dounin8298a222016-02-04 18:30:21 +0300786
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300787 . auto/module
788 fi
Igor Sysoev3383ff62006-09-18 12:25:07 +0000789
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300790 if [ $HTTP_SECURE_LINK = YES ]; then
791 ngx_module_name=ngx_http_secure_link_module
792 ngx_module_incs=
793 ngx_module_deps=
794 ngx_module_srcs=src/http/modules/ngx_http_secure_link_module.c
795 ngx_module_libs=
796 ngx_module_link=$HTTP_SECURE_LINK
Maxim Dounin8298a222016-02-04 18:30:21 +0300797
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300798 . auto/module
799 fi
Igor Sysoeve52991e2008-09-27 13:22:10 +0000800
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300801 if [ $HTTP_DEGRADATION = YES ]; then
802 have=NGX_HTTP_DEGRADATION . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300803
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300804 ngx_module_name=ngx_http_degradation_module
805 ngx_module_incs=
806 ngx_module_deps=
807 ngx_module_srcs=src/http/modules/ngx_http_degradation_module.c
808 ngx_module_libs=
809 ngx_module_link=$HTTP_DEGRADATION
Maxim Dounin8298a222016-02-04 18:30:21 +0300810
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300811 . auto/module
812 fi
Igor Sysoev49851092009-11-16 12:20:00 +0000813
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300814 if [ $HTTP_FLV = YES ]; then
815 ngx_module_name=ngx_http_flv_module
816 ngx_module_incs=
817 ngx_module_deps=
818 ngx_module_srcs=src/http/modules/ngx_http_flv_module.c
819 ngx_module_libs=
820 ngx_module_link=$HTTP_FLV
Maxim Dounin8298a222016-02-04 18:30:21 +0300821
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300822 . auto/module
823 fi
Igor Sysoevb5050062006-10-09 14:17:36 +0000824
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300825 if [ $HTTP_MP4 = YES ]; then
826 ngx_module_name=ngx_http_mp4_module
827 ngx_module_incs=
828 ngx_module_deps=
829 ngx_module_srcs=src/http/modules/ngx_http_mp4_module.c
830 ngx_module_libs=
831 ngx_module_link=$HTTP_MP4
Maxim Dounin8298a222016-02-04 18:30:21 +0300832
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300833 . auto/module
834 fi
Igor Sysoevdde4d7e2011-09-09 10:22:34 +0000835
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300836 if [ $HTTP_UPSTREAM_HASH = YES ]; then
837 ngx_module_name=ngx_http_upstream_hash_module
838 ngx_module_incs=
839 ngx_module_deps=
840 ngx_module_srcs=src/http/modules/ngx_http_upstream_hash_module.c
841 ngx_module_libs=
842 ngx_module_link=$HTTP_UPSTREAM_HASH
Maxim Dounin8298a222016-02-04 18:30:21 +0300843
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300844 . auto/module
845 fi
Roman Arutyunyan9b5a17b2014-06-02 16:16:22 +0400846
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300847 if [ $HTTP_UPSTREAM_IP_HASH = YES ]; then
848 ngx_module_name=ngx_http_upstream_ip_hash_module
849 ngx_module_incs=
850 ngx_module_deps=
851 ngx_module_srcs=src/http/modules/ngx_http_upstream_ip_hash_module.c
852 ngx_module_libs=
853 ngx_module_link=$HTTP_UPSTREAM_IP_HASH
Maxim Dounin8298a222016-02-04 18:30:21 +0300854
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300855 . auto/module
856 fi
Igor Sysoev3d2fd182006-12-04 16:46:13 +0000857
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300858 if [ $HTTP_UPSTREAM_LEAST_CONN = YES ]; then
859 ngx_module_name=ngx_http_upstream_least_conn_module
860 ngx_module_incs=
861 ngx_module_deps=
862 ngx_module_srcs=src/http/modules/ngx_http_upstream_least_conn_module.c
863 ngx_module_libs=
864 ngx_module_link=$HTTP_UPSTREAM_LEAST_CONN
Maxim Dounin8298a222016-02-04 18:30:21 +0300865
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300866 . auto/module
867 fi
Maxim Dounin4cb4e8d2012-06-03 23:21:26 +0000868
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300869 if [ $HTTP_UPSTREAM_KEEPALIVE = YES ]; then
870 ngx_module_name=ngx_http_upstream_keepalive_module
871 ngx_module_incs=
872 ngx_module_deps=
873 ngx_module_srcs=src/http/modules/ngx_http_upstream_keepalive_module.c
874 ngx_module_libs=
875 ngx_module_link=$HTTP_UPSTREAM_KEEPALIVE
Maxim Dounin8298a222016-02-04 18:30:21 +0300876
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300877 . auto/module
878 fi
Maxim Dounin44002e52011-09-15 19:28:18 +0000879
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300880 if [ $HTTP_UPSTREAM_ZONE = YES ]; then
881 have=NGX_HTTP_UPSTREAM_ZONE . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300882
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300883 ngx_module_name=ngx_http_upstream_zone_module
884 ngx_module_incs=
885 ngx_module_deps=
886 ngx_module_srcs=src/http/modules/ngx_http_upstream_zone_module.c
887 ngx_module_libs=
888 ngx_module_link=$HTTP_UPSTREAM_ZONE
Maxim Dounin8298a222016-02-04 18:30:21 +0300889
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300890 . auto/module
891 fi
Ruslan Ermilovbbc5a9e2015-04-14 19:01:25 +0300892
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300893 if [ $HTTP_STUB_STATUS = YES ]; then
894 have=NGX_STAT_STUB . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300895
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300896 ngx_module_name=ngx_http_stub_status_module
897 ngx_module_incs=
898 ngx_module_deps=
899 ngx_module_srcs=src/http/modules/ngx_http_stub_status_module.c
900 ngx_module_libs=
901 ngx_module_link=$HTTP_STUB_STATUS
Maxim Dounin8298a222016-02-04 18:30:21 +0300902
Ruslan Ermilov70201a72017-03-16 20:38:31 +0300903 . auto/module
904 fi
Igor Sysoevaa828612005-02-09 14:31:07 +0000905fi
906
Maxim Dounin8298a222016-02-04 18:30:21 +0300907
Maxim Dounince1c3bd2016-02-04 20:25:29 +0300908if [ $MAIL != NO ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300909 MAIL_MODULES=
910 MAIL_DEPS=
911 MAIL_INCS=
912
913 ngx_module_type=MAIL
914 ngx_module_libs=
915 ngx_module_link=YES
916
Maxim Dounince1c3bd2016-02-04 20:25:29 +0300917 ngx_module_order=
918
Maxim Dounin8298a222016-02-04 18:30:21 +0300919 ngx_module_name="ngx_mail_module ngx_mail_core_module"
920 ngx_module_incs="src/mail"
921 ngx_module_deps="src/mail/ngx_mail.h"
922 ngx_module_srcs="src/mail/ngx_mail.c \
923 src/mail/ngx_mail_core_module.c \
924 src/mail/ngx_mail_handler.c \
925 src/mail/ngx_mail_parse.c"
926
927 . auto/module
928
929 ngx_module_incs=
930
931 if [ $MAIL_SSL = YES ]; then
932 USE_OPENSSL=YES
933 have=NGX_MAIL_SSL . auto/have
934
935 ngx_module_name=ngx_mail_ssl_module
936 ngx_module_deps=src/mail/ngx_mail_ssl_module.h
937 ngx_module_srcs=src/mail/ngx_mail_ssl_module.c
938
939 . auto/module
940 fi
941
942 if [ $MAIL_POP3 = YES ]; then
943 ngx_module_name=ngx_mail_pop3_module
944 ngx_module_deps=src/mail/ngx_mail_pop3_module.h
945 ngx_module_srcs="src/mail/ngx_mail_pop3_module.c \
946 src/mail/ngx_mail_pop3_handler.c"
947
948 . auto/module
949 fi
950
951 if [ $MAIL_IMAP = YES ]; then
952 ngx_module_name=ngx_mail_imap_module
953 ngx_module_deps=src/mail/ngx_mail_imap_module.h
954 ngx_module_srcs="src/mail/ngx_mail_imap_module.c \
955 src/mail/ngx_mail_imap_handler.c"
956
957 . auto/module
958 fi
959
960 if [ $MAIL_SMTP = YES ]; then
961 ngx_module_name=ngx_mail_smtp_module
962 ngx_module_deps=src/mail/ngx_mail_smtp_module.h
963 ngx_module_srcs="src/mail/ngx_mail_smtp_module.c \
964 src/mail/ngx_mail_smtp_handler.c"
965
966 . auto/module
967 fi
968
969 ngx_module_name=ngx_mail_auth_http_module
970 ngx_module_deps=
971 ngx_module_srcs=src/mail/ngx_mail_auth_http_module.c
972
973 . auto/module
974
975 ngx_module_name=ngx_mail_proxy_module
976 ngx_module_deps=
977 ngx_module_srcs=src/mail/ngx_mail_proxy_module.c
978
979 . auto/module
980fi
981
982
Maxim Dounince1c3bd2016-02-04 20:25:29 +0300983if [ $STREAM != NO ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300984 STREAM_MODULES=
985 STREAM_DEPS=
986 STREAM_INCS=
987
Maxim Dounin8298a222016-02-04 18:30:21 +0300988 ngx_module_type=STREAM
Ruslan Ermilov9f31b772017-03-16 20:38:26 +0300989 ngx_module_libs=
990 ngx_module_link=YES
Maxim Dounin8298a222016-02-04 18:30:21 +0300991
Maxim Dounince1c3bd2016-02-04 20:25:29 +0300992 ngx_module_order=
993
Maxim Dounin8298a222016-02-04 18:30:21 +0300994 ngx_module_name="ngx_stream_module \
995 ngx_stream_core_module \
Vladimir Homutov74520332016-09-05 17:50:16 +0300996 ngx_stream_log_module \
Maxim Dounin8298a222016-02-04 18:30:21 +0300997 ngx_stream_proxy_module \
Roman Arutyunyan17003b52016-09-15 14:55:46 +0300998 ngx_stream_upstream_module \
999 ngx_stream_write_filter_module"
Maxim Dounin8298a222016-02-04 18:30:21 +03001000 ngx_module_incs="src/stream"
1001 ngx_module_deps="src/stream/ngx_stream.h \
Vladimir Homutov2132f0a2016-07-04 16:37:36 +03001002 src/stream/ngx_stream_variables.h \
1003 src/stream/ngx_stream_script.h \
Maxim Dounin8298a222016-02-04 18:30:21 +03001004 src/stream/ngx_stream_upstream.h \
1005 src/stream/ngx_stream_upstream_round_robin.h"
1006 ngx_module_srcs="src/stream/ngx_stream.c \
Vladimir Homutov2132f0a2016-07-04 16:37:36 +03001007 src/stream/ngx_stream_variables.c \
1008 src/stream/ngx_stream_script.c \
Maxim Dounin8298a222016-02-04 18:30:21 +03001009 src/stream/ngx_stream_handler.c \
1010 src/stream/ngx_stream_core_module.c \
Vladimir Homutov74520332016-09-05 17:50:16 +03001011 src/stream/ngx_stream_log_module.c \
Maxim Dounin8298a222016-02-04 18:30:21 +03001012 src/stream/ngx_stream_proxy_module.c \
1013 src/stream/ngx_stream_upstream.c \
Roman Arutyunyan17003b52016-09-15 14:55:46 +03001014 src/stream/ngx_stream_upstream_round_robin.c \
1015 src/stream/ngx_stream_write_filter_module.c"
Maxim Dounin8298a222016-02-04 18:30:21 +03001016
1017 . auto/module
1018
1019 ngx_module_incs=
1020
1021 if [ $STREAM_SSL = YES ]; then
1022 USE_OPENSSL=YES
1023 have=NGX_STREAM_SSL . auto/have
1024
1025 ngx_module_name=ngx_stream_ssl_module
1026 ngx_module_deps=src/stream/ngx_stream_ssl_module.h
1027 ngx_module_srcs=src/stream/ngx_stream_ssl_module.c
Vladimir Homutov5d249002016-07-12 12:38:01 +03001028 ngx_module_libs=
1029 ngx_module_link=$STREAM_SSL
Maxim Dounin8298a222016-02-04 18:30:21 +03001030
1031 . auto/module
1032 fi
1033
Dmitry Volyntsev5b441572016-09-01 14:45:33 +03001034 if [ $STREAM_REALIP = YES ]; then
1035 ngx_module_name=ngx_stream_realip_module
1036 ngx_module_deps=
1037 ngx_module_srcs=src/stream/ngx_stream_realip_module.c
1038 ngx_module_libs=
1039 ngx_module_link=$STREAM_REALIP
1040
1041 . auto/module
1042 fi
1043
Maxim Dounin8298a222016-02-04 18:30:21 +03001044 if [ $STREAM_LIMIT_CONN = YES ]; then
1045 ngx_module_name=ngx_stream_limit_conn_module
1046 ngx_module_deps=
1047 ngx_module_srcs=src/stream/ngx_stream_limit_conn_module.c
Vladimir Homutov5d249002016-07-12 12:38:01 +03001048 ngx_module_libs=
1049 ngx_module_link=$STREAM_LIMIT_CONN
Maxim Dounin8298a222016-02-04 18:30:21 +03001050
1051 . auto/module
1052 fi
1053
1054 if [ $STREAM_ACCESS = YES ]; then
1055 ngx_module_name=ngx_stream_access_module
1056 ngx_module_deps=
1057 ngx_module_srcs=src/stream/ngx_stream_access_module.c
Vladimir Homutov5d249002016-07-12 12:38:01 +03001058 ngx_module_libs=
1059 ngx_module_link=$STREAM_ACCESS
Maxim Dounin8298a222016-02-04 18:30:21 +03001060
1061 . auto/module
1062 fi
1063
Vladimir Homutov59decfe2016-06-30 16:12:50 +03001064 if [ $STREAM_GEO = YES ]; then
1065 ngx_module_name=ngx_stream_geo_module
1066 ngx_module_deps=
1067 ngx_module_srcs=src/stream/ngx_stream_geo_module.c
1068 ngx_module_libs=
1069 ngx_module_link=$STREAM_GEO
1070
1071 . auto/module
1072 fi
1073
Vladimir Homutovb0d41a02016-07-12 17:34:43 +03001074 if [ $STREAM_GEOIP != NO ]; then
1075 ngx_module_name=ngx_stream_geoip_module
1076 ngx_module_deps=
1077 ngx_module_srcs=src/stream/ngx_stream_geoip_module.c
1078 ngx_module_libs=GEOIP
1079 ngx_module_link=$STREAM_GEOIP
1080
1081 . auto/module
1082 fi
1083
Vladimir Homutovb55388d2016-06-29 12:46:12 +03001084 if [ $STREAM_MAP = YES ]; then
1085 ngx_module_name=ngx_stream_map_module
1086 ngx_module_deps=
1087 ngx_module_srcs=src/stream/ngx_stream_map_module.c
Vladimir Homutov5d249002016-07-12 12:38:01 +03001088 ngx_module_libs=
1089 ngx_module_link=$STREAM_MAP
Vladimir Homutovb55388d2016-06-29 12:46:12 +03001090
1091 . auto/module
1092 fi
1093
Vladimir Homutov66030bd2016-07-12 17:34:52 +03001094 if [ $STREAM_SPLIT_CLIENTS = YES ]; then
1095 ngx_module_name=ngx_stream_split_clients_module
1096 ngx_module_deps=
1097 ngx_module_srcs=src/stream/ngx_stream_split_clients_module.c
1098 ngx_module_libs=
1099 ngx_module_link=$STREAM_SPLIT_CLIENTS
1100
1101 . auto/module
1102 fi
1103
Roman Arutyunyand4488652016-05-18 22:08:49 +03001104 if [ $STREAM_RETURN = YES ]; then
1105 ngx_module_name=ngx_stream_return_module
1106 ngx_module_deps=
1107 ngx_module_srcs=src/stream/ngx_stream_return_module.c
Vladimir Homutov5d249002016-07-12 12:38:01 +03001108 ngx_module_libs=
1109 ngx_module_link=$STREAM_RETURN
Roman Arutyunyand4488652016-05-18 22:08:49 +03001110
1111 . auto/module
1112 fi
1113
Maxim Dounin8298a222016-02-04 18:30:21 +03001114 if [ $STREAM_UPSTREAM_HASH = YES ]; then
1115 ngx_module_name=ngx_stream_upstream_hash_module
1116 ngx_module_deps=
1117 ngx_module_srcs=src/stream/ngx_stream_upstream_hash_module.c
Vladimir Homutov5d249002016-07-12 12:38:01 +03001118 ngx_module_libs=
1119 ngx_module_link=$STREAM_UPSTREAM_HASH
Maxim Dounin8298a222016-02-04 18:30:21 +03001120
1121 . auto/module
1122 fi
1123
1124 if [ $STREAM_UPSTREAM_LEAST_CONN = YES ]; then
1125 ngx_module_name=ngx_stream_upstream_least_conn_module
1126 ngx_module_deps=
1127 ngx_module_srcs=src/stream/ngx_stream_upstream_least_conn_module.c
Vladimir Homutov5d249002016-07-12 12:38:01 +03001128 ngx_module_libs=
1129 ngx_module_link=$STREAM_UPSTREAM_LEAST_CONN
Maxim Dounin8298a222016-02-04 18:30:21 +03001130
1131 . auto/module
1132 fi
1133
1134 if [ $STREAM_UPSTREAM_ZONE = YES ]; then
1135 have=NGX_STREAM_UPSTREAM_ZONE . auto/have
1136
1137 ngx_module_name=ngx_stream_upstream_zone_module
1138 ngx_module_deps=
1139 ngx_module_srcs=src/stream/ngx_stream_upstream_zone_module.c
Vladimir Homutov5d249002016-07-12 12:38:01 +03001140 ngx_module_libs=
1141 ngx_module_link=$STREAM_UPSTREAM_ZONE
Maxim Dounin8298a222016-02-04 18:30:21 +03001142
1143 . auto/module
1144 fi
Vladimir Homutovea657ae2016-09-15 14:56:51 +03001145
1146 if [ $STREAM_SSL_PREREAD = YES ]; then
1147 ngx_module_name=ngx_stream_ssl_preread_module
1148 ngx_module_deps=
1149 ngx_module_srcs=src/stream/ngx_stream_ssl_preread_module.c
1150 ngx_module_libs=
1151 ngx_module_link=$STREAM_SSL_PREREAD
1152
1153 . auto/module
1154 fi
Maxim Dounin8298a222016-02-04 18:30:21 +03001155fi
1156
1157
Igor Sysoev1ebfead2005-02-16 13:40:36 +00001158#if [ -r $NGX_OBJS/auto ]; then
1159# . $NGX_OBJS/auto
1160#fi
1161
1162
1163if test -n "$NGX_ADDONS"; then
1164
1165 echo configuring additional modules
1166
1167 for ngx_addon_dir in $NGX_ADDONS
1168 do
1169 echo "adding module in $ngx_addon_dir"
1170
Maxim Dounin8298a222016-02-04 18:30:21 +03001171 ngx_module_type=
1172 ngx_module_name=
1173 ngx_module_incs=
1174 ngx_module_deps=
1175 ngx_module_srcs=
1176 ngx_module_libs=
Maxim Dounince1c3bd2016-02-04 20:25:29 +03001177 ngx_module_order=
Maxim Dounin8298a222016-02-04 18:30:21 +03001178 ngx_module_link=ADDON
1179
Igor Sysoev1ebfead2005-02-16 13:40:36 +00001180 if test -f $ngx_addon_dir/config; then
1181 . $ngx_addon_dir/config
1182
1183 echo " + $ngx_addon_name was configured"
1184
1185 else
1186 echo "$0: error: no $ngx_addon_dir/config was found"
1187 exit 1
1188 fi
1189 done
Igor Sysoevab517d52004-05-18 15:29:08 +00001190fi
Igor Sysoevab9d5fd2004-03-05 08:34:24 +00001191
Igor Sysoev1ebfead2005-02-16 13:40:36 +00001192
Maxim Dounince1c3bd2016-02-04 20:25:29 +03001193if test -n "$DYNAMIC_ADDONS"; then
1194
1195 echo configuring additional dynamic modules
1196
1197 for ngx_addon_dir in $DYNAMIC_ADDONS
1198 do
1199 echo "adding module in $ngx_addon_dir"
1200
1201 ngx_module_type=
1202 ngx_module_name=
1203 ngx_module_incs=
1204 ngx_module_deps=
1205 ngx_module_srcs=
1206 ngx_module_libs=
1207 ngx_module_order=
1208 ngx_module_link=DYNAMIC
1209
1210 if test -f $ngx_addon_dir/config; then
1211 . $ngx_addon_dir/config
1212
1213 echo " + $ngx_addon_name was configured"
1214
1215 else
1216 echo "$0: error: no $ngx_addon_dir/config was found"
1217 exit 1
1218 fi
1219 done
1220fi
1221
1222
Maxim Dounin8298a222016-02-04 18:30:21 +03001223if [ $USE_OPENSSL = YES ]; then
1224 ngx_module_type=CORE
1225 ngx_module_name=ngx_openssl_module
1226 ngx_module_incs=
1227 ngx_module_deps=src/event/ngx_event_openssl.h
1228 ngx_module_srcs="src/event/ngx_event_openssl.c
1229 src/event/ngx_event_openssl_stapling.c"
1230 ngx_module_libs=
1231 ngx_module_link=YES
Maxim Dounince1c3bd2016-02-04 20:25:29 +03001232 ngx_module_order=
Maxim Dounin8298a222016-02-04 18:30:21 +03001233
1234 . auto/module
Igor Sysoeve5733802005-09-08 14:36:09 +00001235fi
1236
1237
Maxim Dounin8298a222016-02-04 18:30:21 +03001238if [ $USE_PCRE = YES ]; then
1239 ngx_module_type=CORE
1240 ngx_module_name=ngx_regex_module
1241 ngx_module_incs=
1242 ngx_module_deps=src/core/ngx_regex.h
1243 ngx_module_srcs=src/core/ngx_regex.c
1244 ngx_module_libs=
1245 ngx_module_link=YES
Maxim Dounince1c3bd2016-02-04 20:25:29 +03001246 ngx_module_order=
Maxim Dounin8298a222016-02-04 18:30:21 +03001247
1248 . auto/module
Ruslan Ermilov472f0fa2015-04-20 13:05:11 +03001249fi
1250
1251
Igor Sysoev980a9242004-09-05 19:54:02 +00001252modules="$CORE_MODULES $EVENT_MODULES"
1253
Igor Sysoeve5733802005-09-08 14:36:09 +00001254
Valentin Bartenev27e49d72015-03-14 17:37:07 +03001255# thread pool module should be initialized after events
1256if [ $USE_THREADS = YES ]; then
1257 modules="$modules $THREAD_POOL_MODULE"
1258fi
1259
1260
Igor Sysoev980a9242004-09-05 19:54:02 +00001261if [ $HTTP = YES ]; then
1262 modules="$modules $HTTP_MODULES $HTTP_FILTER_MODULES \
Maxim Douninb07c1812016-02-04 18:30:21 +03001263 $HTTP_AUX_FILTER_MODULES $HTTP_INIT_FILTER_MODULES"
Igor Sysoev1ebfead2005-02-16 13:40:36 +00001264
1265 NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(HTTP_DEPS)"
Igor Sysoev980a9242004-09-05 19:54:02 +00001266fi
Igor Sysoevab9d5fd2004-03-05 08:34:24 +00001267
Igor Sysoev1ebfead2005-02-16 13:40:36 +00001268
Maxim Dounince1c3bd2016-02-04 20:25:29 +03001269if [ $MAIL != NO ]; then
1270
1271 if [ $MAIL = YES ]; then
1272 modules="$modules $MAIL_MODULES"
1273
1274 elif [ $MAIL = DYNAMIC ]; then
1275 ngx_module_name=$MAIL_MODULES
1276 ngx_module_incs=
Maxim Dounin523e3372016-11-21 16:49:19 +03001277 ngx_module_deps=
Maxim Dounince1c3bd2016-02-04 20:25:29 +03001278 ngx_module_srcs=$MAIL_SRCS
1279 ngx_module_libs=
1280 ngx_module_link=DYNAMIC
1281
1282 . auto/module
1283 fi
1284
Maxim Douninf86169a2013-09-30 22:09:54 +04001285 NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(MAIL_DEPS)"
Igor Sysoev59cf56c2004-09-07 15:29:22 +00001286fi
1287
Igor Sysoevab9d5fd2004-03-05 08:34:24 +00001288
Maxim Dounince1c3bd2016-02-04 20:25:29 +03001289if [ $STREAM != NO ]; then
1290
1291 if [ $STREAM = YES ]; then
1292 modules="$modules $STREAM_MODULES"
1293
1294 elif [ $STREAM = DYNAMIC ]; then
1295 ngx_module_name=$STREAM_MODULES
1296 ngx_module_incs=
Maxim Dounin523e3372016-11-21 16:49:19 +03001297 ngx_module_deps=
Maxim Dounince1c3bd2016-02-04 20:25:29 +03001298 ngx_module_srcs=$STREAM_SRCS
1299 ngx_module_libs=
1300 ngx_module_link=DYNAMIC
1301
1302 . auto/module
1303 fi
1304
Ruslan Ermilov472f0fa2015-04-20 13:05:11 +03001305 NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(STREAM_DEPS)"
1306fi
1307
1308
Maxim Dounin8298a222016-02-04 18:30:21 +03001309ngx_module_type=MISC
1310MISC_MODULES=
Igor Sysoev85dd8fc2008-03-18 10:36:27 +00001311
Maxim Dounin8298a222016-02-04 18:30:21 +03001312if [ $NGX_GOOGLE_PERFTOOLS = YES ]; then
1313 ngx_module_name=ngx_google_perftools_module
1314 ngx_module_incs=
1315 ngx_module_deps=
1316 ngx_module_srcs=src/misc/ngx_google_perftools_module.c
1317 ngx_module_libs=
1318 ngx_module_link=$NGX_GOOGLE_PERFTOOLS
1319
1320 . auto/module
1321fi
Igor Sysoev85dd8fc2008-03-18 10:36:27 +00001322
Igor Sysoev49f06852008-08-13 08:29:27 +00001323if [ $NGX_CPP_TEST = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +03001324 ngx_module_name=
1325 ngx_module_incs=
1326 ngx_module_deps=
1327 ngx_module_srcs=src/misc/ngx_cpp_test_module.cpp
1328 ngx_module_libs=-lstdc++
1329 ngx_module_link=$NGX_CPP_TEST
1330
1331 . auto/module
Igor Sysoeve24b57a2008-08-05 19:32:50 +00001332fi
1333
Maxim Dounin8298a222016-02-04 18:30:21 +03001334modules="$modules $MISC_MODULES"
1335
Igor Sysoeve24b57a2008-08-05 19:32:50 +00001336
Maxim Dounin03164142016-10-03 15:58:16 +03001337if [ $NGX_COMPAT = YES ]; then
1338 have=NGX_COMPAT . auto/have
1339 have=NGX_HTTP_GZIP . auto/have
1340 have=NGX_HTTP_DAV . auto/have
1341 have=NGX_HTTP_REALIP . auto/have
1342 have=NGX_HTTP_X_FORWARDED_FOR . auto/have
1343 have=NGX_HTTP_HEADERS . auto/have
1344 have=NGX_HTTP_UPSTREAM_ZONE . auto/have
1345 have=NGX_STREAM_UPSTREAM_ZONE . auto/have
1346fi
1347
1348
Igor Sysoev1b735832004-11-11 14:07:14 +00001349cat << END > $NGX_MODULES_C
1350
1351#include <ngx_config.h>
1352#include <ngx_core.h>
1353
1354$NGX_PRAGMA
1355
1356END
Igor Sysoevab9d5fd2004-03-05 08:34:24 +00001357
1358for mod in $modules
1359do
1360 echo "extern ngx_module_t $mod;" >> $NGX_MODULES_C
1361done
1362
1363echo >> $NGX_MODULES_C
1364echo 'ngx_module_t *ngx_modules[] = {' >> $NGX_MODULES_C
1365
1366for mod in $modules
1367do
1368 echo " &$mod," >> $NGX_MODULES_C
1369done
1370
Igor Sysoev1b735832004-11-11 14:07:14 +00001371cat << END >> $NGX_MODULES_C
1372 NULL
1373};
1374
1375END
Maxim Dounince1c3bd2016-02-04 20:25:29 +03001376
1377echo 'char *ngx_module_names[] = {' >> $NGX_MODULES_C
1378
1379for mod in $modules
1380do
1381 echo " \"$mod\"," >> $NGX_MODULES_C
1382done
1383
1384cat << END >> $NGX_MODULES_C
1385 NULL
1386};
1387
1388END