blob: 433767a626c306e3517e1c09fa9b87a701b6d432 [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
Maxim Dounin8298a222016-02-04 18:30:21 +030059HTTP_MODULES=
60HTTP_DEPS=
61HTTP_INCS=
62
63ngx_module_type=HTTP
64
65if :; then
66 ngx_module_name="ngx_http_module \
67 ngx_http_core_module \
68 ngx_http_log_module \
69 ngx_http_upstream_module"
70 ngx_module_incs="src/http src/http/modules"
71 ngx_module_deps="src/http/ngx_http.h \
72 src/http/ngx_http_request.h \
73 src/http/ngx_http_config.h \
74 src/http/ngx_http_core_module.h \
75 src/http/ngx_http_cache.h \
76 src/http/ngx_http_variables.h \
77 src/http/ngx_http_script.h \
78 src/http/ngx_http_upstream.h \
79 src/http/ngx_http_upstream_round_robin.h"
80 ngx_module_srcs="src/http/ngx_http.c \
81 src/http/ngx_http_core_module.c \
82 src/http/ngx_http_special_response.c \
83 src/http/ngx_http_request.c \
84 src/http/ngx_http_parse.c \
85 src/http/modules/ngx_http_log_module.c \
86 src/http/ngx_http_request_body.c \
87 src/http/ngx_http_variables.c \
88 src/http/ngx_http_script.c \
89 src/http/ngx_http_upstream.c \
90 src/http/ngx_http_upstream_round_robin.c"
91 ngx_module_libs=
92 ngx_module_link=YES
93
94 . auto/module
95fi
96
97
Igor Sysoev7b190b42005-06-07 15:56:31 +000098if [ $HTTP != YES ]; then
99 have=NGX_CRYPT . auto/nohave
100 CRYPT_LIB=
101fi
102
103
Igor Sysoev52859f22009-03-23 13:14:51 +0000104if [ $HTTP_CACHE = YES ]; then
Igor Sysoev52859f22009-03-23 13:14:51 +0000105 have=NGX_HTTP_CACHE . auto/have
106 HTTP_SRCS="$HTTP_SRCS $HTTP_FILE_CACHE_SRCS"
107fi
108
109
Igor Sysoev899b44e2005-05-12 14:58:06 +0000110if [ $HTTP_SSI = YES ]; then
111 HTTP_POSTPONE=YES
112fi
113
Igor Sysoev7f7846d2006-04-26 09:52:47 +0000114
Roman Arutyunyane42d13a2015-12-07 16:30:48 +0300115if [ $HTTP_SLICE = YES ]; then
116 HTTP_POSTPONE=YES
117fi
118
119
Igor Sysoev7f7846d2006-04-26 09:52:47 +0000120if [ $HTTP_ADDITION = YES ]; then
121 HTTP_POSTPONE=YES
122fi
123
124
Igor Sysoeve5733802005-09-08 14:36:09 +0000125# the module order is important
Igor Sysoev1ae389d2008-08-04 14:48:15 +0000126# ngx_http_static_module
127# ngx_http_gzip_static_module
128# ngx_http_dav_module
Igor Sysoeve5733802005-09-08 14:36:09 +0000129# ngx_http_autoindex_module
130# ngx_http_index_module
Igor Sysoev2e2b81d2008-09-05 15:45:55 +0000131# ngx_http_random_index_module
Igor Sysoeve5733802005-09-08 14:36:09 +0000132#
Igor Sysoev0e5dc5c2005-11-15 13:30:52 +0000133# ngx_http_access_module
134# ngx_http_realip_module
135#
Igor Sysoeve5733802005-09-08 14:36:09 +0000136#
Igor Sysoev7823cc32004-07-14 16:01:42 +0000137# the filter order is important
138# ngx_http_write_filter
Igor Sysoev7823cc32004-07-14 16:01:42 +0000139# ngx_http_header_filter
140# ngx_http_chunked_filter
Valentin Bartenev446e2d92015-09-11 20:13:06 +0300141# ngx_http_v2_filter
Igor Sysoev7823cc32004-07-14 16:01:42 +0000142# ngx_http_range_header_filter
143# ngx_http_gzip_filter
Igor Sysoev899b44e2005-05-12 14:58:06 +0000144# ngx_http_postpone_filter
Igor Sysoev7823cc32004-07-14 16:01:42 +0000145# ngx_http_ssi_filter
Igor Sysoev5cc7eaa2010-04-01 10:19:02 +0000146# ngx_http_charset_filter
Igor Sysoev1ae389d2008-08-04 14:48:15 +0000147# ngx_http_xslt_filter
Igor Sysoeva40c3952010-03-30 15:04:41 +0000148# ngx_http_image_filter
Igor Sysoev1ae389d2008-08-04 14:48:15 +0000149# ngx_http_sub_filter
Igor Sysoev6d16e1e2006-04-05 13:40:54 +0000150# ngx_http_addition_filter
Maxim Dounin90bd33e2012-09-10 16:52:47 +0000151# ngx_http_gunzip_filter
Igor Sysoeve5733802005-09-08 14:36:09 +0000152# ngx_http_userid_filter
153# ngx_http_headers_filter
Igor Sysoev7823cc32004-07-14 16:01:42 +0000154# ngx_http_copy_filter
155# ngx_http_range_body_filter
156# ngx_http_not_modified_filter
Roman Arutyunyane42d13a2015-12-07 16:30:48 +0300157# ngx_http_slice_filter
Igor Sysoev7823cc32004-07-14 16:01:42 +0000158
Maxim Dounin8298a222016-02-04 18:30:21 +0300159ngx_module_type=HTTP_FILTER
160HTTP_FILTER_MODULES=
Valentin Bartenev2686cb42013-03-20 10:36:57 +0000161
Maxim Dounince1c3bd2016-02-04 20:25:29 +0300162ngx_module_order="ngx_http_static_module \
163 ngx_http_gzip_static_module \
164 ngx_http_dav_module \
165 ngx_http_autoindex_module \
166 ngx_http_index_module \
167 ngx_http_random_index_module \
168 ngx_http_access_module \
169 ngx_http_realip_module \
170 ngx_http_write_filter_module \
171 ngx_http_header_filter_module \
172 ngx_http_chunked_filter_module \
173 ngx_http_v2_filter_module \
174 ngx_http_range_header_filter_module \
175 ngx_http_gzip_filter_module \
176 ngx_http_postpone_filter_module \
177 ngx_http_ssi_filter_module \
178 ngx_http_charset_filter_module \
179 ngx_http_xslt_filter_module \
180 ngx_http_image_filter_module \
181 ngx_http_sub_filter_module \
182 ngx_http_addition_filter_module \
183 ngx_http_gunzip_filter_module \
184 ngx_http_userid_filter_module \
185 ngx_http_headers_filter_module \
186 ngx_http_copy_filter_module \
187 ngx_http_range_body_filter_module \
188 ngx_http_not_modified_filter_module \
189 ngx_http_slice_filter_module"
190
Maxim Dounin8298a222016-02-04 18:30:21 +0300191if :; then
192 ngx_module_name=ngx_http_write_filter_module
193 ngx_module_incs=
194 ngx_module_deps=
195 ngx_module_srcs=src/http/ngx_http_write_filter_module.c
196 ngx_module_libs=
197 ngx_module_link=YES
198
199 . auto/module
Valentin Bartenev2686cb42013-03-20 10:36:57 +0000200fi
201
Maxim Dounin8298a222016-02-04 18:30:21 +0300202if :; then
203 ngx_module_name=ngx_http_header_filter_module
204 ngx_module_incs=
205 ngx_module_deps=
206 ngx_module_srcs=src/http/ngx_http_header_filter_module.c
207 ngx_module_libs=
208 ngx_module_link=YES
209
210 . auto/module
211fi
212
213if :; then
214 ngx_module_name=ngx_http_chunked_filter_module
215 ngx_module_incs=
216 ngx_module_deps=
217 ngx_module_srcs=src/http/modules/ngx_http_chunked_filter_module.c
218 ngx_module_libs=
219 ngx_module_link=YES
220
221 . auto/module
222fi
223
224if [ $HTTP_V2 = YES ]; then
225 ngx_module_name=ngx_http_v2_filter_module
226 ngx_module_incs=
227 ngx_module_deps=
228 ngx_module_srcs=src/http/v2/ngx_http_v2_filter_module.c
229 ngx_module_libs=
230 ngx_module_link=$HTTP_V2
231
232 . auto/module
233fi
234
235if :; then
236 ngx_module_name=ngx_http_range_header_filter_module
237 ngx_module_incs=
238 ngx_module_deps=
239 ngx_module_srcs=src/http/modules/ngx_http_range_filter_module.c
240 ngx_module_libs=
241 ngx_module_link=YES
242
243 . auto/module
244fi
Igor Sysoev7823cc32004-07-14 16:01:42 +0000245
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000246if [ $HTTP_GZIP = YES ]; then
Igor Sysoeva893eab2004-03-11 21:34:52 +0000247 have=NGX_HTTP_GZIP . auto/have
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000248 USE_ZLIB=YES
Maxim Dounin8298a222016-02-04 18:30:21 +0300249
250 ngx_module_name=ngx_http_gzip_filter_module
251 ngx_module_incs=
252 ngx_module_deps=
253 ngx_module_srcs=src/http/modules/ngx_http_gzip_filter_module.c
254 ngx_module_libs=
255 ngx_module_link=$HTTP_GZIP
256
257 . auto/module
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000258fi
259
Igor Sysoev899b44e2005-05-12 14:58:06 +0000260if [ $HTTP_POSTPONE = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300261 ngx_module_name=ngx_http_postpone_filter_module
262 ngx_module_incs=
263 ngx_module_deps=
264 ngx_module_srcs=src/http/ngx_http_postpone_filter_module.c
265 ngx_module_libs=
266 ngx_module_link=$HTTP_POSTPONE
267
268 . auto/module
Igor Sysoev899b44e2005-05-12 14:58:06 +0000269fi
270
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000271if [ $HTTP_SSI = YES ]; then
Igor Sysoeva893eab2004-03-11 21:34:52 +0000272 have=NGX_HTTP_SSI . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300273
274 ngx_module_name=ngx_http_ssi_filter_module
275 ngx_module_incs=
276 ngx_module_deps=src/http/modules/ngx_http_ssi_filter_module.h
277 ngx_module_srcs=src/http/modules/ngx_http_ssi_filter_module.c
278 ngx_module_libs=
279 ngx_module_link=$HTTP_SSI
280
281 . auto/module
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000282fi
283
Igor Sysoev5cc7eaa2010-04-01 10:19:02 +0000284if [ $HTTP_CHARSET = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300285 ngx_module_name=ngx_http_charset_filter_module
286 ngx_module_incs=
287 ngx_module_deps=
288 ngx_module_srcs=src/http/modules/ngx_http_charset_filter_module.c
289 ngx_module_libs=
290 ngx_module_link=$HTTP_CHARSET
291
292 . auto/module
Igor Sysoev5cc7eaa2010-04-01 10:19:02 +0000293fi
294
Maxim Dounince1c3bd2016-02-04 20:25:29 +0300295if [ $HTTP_XSLT != NO ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300296 ngx_module_name=ngx_http_xslt_filter_module
297 ngx_module_incs=
298 ngx_module_deps=
299 ngx_module_srcs=src/http/modules/ngx_http_xslt_filter_module.c
300 ngx_module_libs=LIBXSLT
301 ngx_module_link=$HTTP_XSLT
302
303 . auto/module
Igor Sysoev1ae389d2008-08-04 14:48:15 +0000304fi
305
Maxim Dounince1c3bd2016-02-04 20:25:29 +0300306if [ $HTTP_IMAGE_FILTER != NO ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300307 ngx_module_name=ngx_http_image_filter_module
308 ngx_module_incs=
309 ngx_module_deps=
310 ngx_module_srcs=src/http/modules/ngx_http_image_filter_module.c
311 ngx_module_libs=LIBGD
312 ngx_module_link=$HTTP_IMAGE_FILTER
313
314 . auto/module
Igor Sysoeve2ada612009-05-01 18:42:09 +0000315fi
316
Igor Sysoevd9bb8e32007-04-19 17:54:23 +0000317if [ $HTTP_SUB = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300318 ngx_module_name=ngx_http_sub_filter_module
319 ngx_module_incs=
320 ngx_module_deps=
321 ngx_module_srcs=src/http/modules/ngx_http_sub_filter_module.c
322 ngx_module_libs=
323 ngx_module_link=$HTTP_SUB
324
325 . auto/module
Igor Sysoevd9bb8e32007-04-19 17:54:23 +0000326fi
327
Igor Sysoev6d16e1e2006-04-05 13:40:54 +0000328if [ $HTTP_ADDITION = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300329 ngx_module_name=ngx_http_addition_filter_module
330 ngx_module_incs=
331 ngx_module_deps=
332 ngx_module_srcs=src/http/modules/ngx_http_addition_filter_module.c
333 ngx_module_libs=
Ruslan Ermilov7914be82016-02-05 14:02:54 +0300334 ngx_module_link=$HTTP_ADDITION
Maxim Dounin8298a222016-02-04 18:30:21 +0300335
336 . auto/module
Igor Sysoev6d16e1e2006-04-05 13:40:54 +0000337fi
338
Maxim Dounin90bd33e2012-09-10 16:52:47 +0000339if [ $HTTP_GUNZIP = YES ]; then
340 have=NGX_HTTP_GZIP . auto/have
341 USE_ZLIB=YES
Maxim Dounin8298a222016-02-04 18:30:21 +0300342
343 ngx_module_name=ngx_http_gunzip_filter_module
344 ngx_module_incs=
345 ngx_module_deps=
346 ngx_module_srcs=src/http/modules/ngx_http_gunzip_filter_module.c
347 ngx_module_libs=
348 ngx_module_link=$HTTP_GUNZIP
349
350 . auto/module
Maxim Dounin90bd33e2012-09-10 16:52:47 +0000351fi
352
Igor Sysoeva7c4a2a2004-08-29 03:55:41 +0000353if [ $HTTP_USERID = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300354 ngx_module_name=ngx_http_userid_filter_module
355 ngx_module_incs=
356 ngx_module_deps=
357 ngx_module_srcs=src/http/modules/ngx_http_userid_filter_module.c
358 ngx_module_libs=
359 ngx_module_link=$HTTP_USERID
360
361 . auto/module
Igor Sysoeva7c4a2a2004-08-29 03:55:41 +0000362fi
363
Maxim Dounin8298a222016-02-04 18:30:21 +0300364if :; then
365 ngx_module_name=ngx_http_headers_filter_module
366 ngx_module_incs=
367 ngx_module_deps=
368 ngx_module_srcs=src/http/modules/ngx_http_headers_filter_module.c
369 ngx_module_libs=
370 ngx_module_link=YES
371
372 . auto/module
373fi
Maxim Douninb07c1812016-02-04 18:30:21 +0300374
375
Maxim Dounin8298a222016-02-04 18:30:21 +0300376ngx_module_type=HTTP_INIT_FILTER
377HTTP_INIT_FILTER_MODULES=
378
379if :; then
380 ngx_module_name=ngx_http_copy_filter_module
381 ngx_module_incs=
382 ngx_module_deps=
383 ngx_module_srcs=src/http/ngx_http_copy_filter_module.c
384 ngx_module_libs=
385 ngx_module_link=YES
386
387 . auto/module
388fi
389
390if :; then
391 ngx_module_name=ngx_http_range_body_filter_module
392 ngx_module_incs=
393 ngx_module_deps=
394 ngx_module_srcs=
395 ngx_module_libs=
396 ngx_module_link=YES
397
398 . auto/module
399fi
400
401if :; then
402 ngx_module_name=ngx_http_not_modified_filter_module
403 ngx_module_incs=
404 ngx_module_deps=
405 ngx_module_srcs=src/http/modules/ngx_http_not_modified_filter_module.c
406 ngx_module_libs=
407 ngx_module_link=YES
408
409 . auto/module
410fi
Maxim Douninb07c1812016-02-04 18:30:21 +0300411
Roman Arutyunyane42d13a2015-12-07 16:30:48 +0300412if [ $HTTP_SLICE = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300413 ngx_module_name=ngx_http_slice_filter_module
414 ngx_module_incs=
415 ngx_module_deps=
416 ngx_module_srcs=src/http/modules/ngx_http_slice_filter_module.c
417 ngx_module_libs=
418 ngx_module_link=$HTTP_SLICE
419
420 . auto/module
Roman Arutyunyane42d13a2015-12-07 16:30:48 +0300421fi
422
Valentin Bartenev2686cb42013-03-20 10:36:57 +0000423
Maxim Dounin8298a222016-02-04 18:30:21 +0300424ngx_module_type=HTTP
425
Valentin Bartenev446e2d92015-09-11 20:13:06 +0300426if [ $HTTP_V2 = YES ]; then
427 have=NGX_HTTP_V2 . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300428
429 ngx_module_name=ngx_http_v2_module
430 ngx_module_incs=src/http/v2
431 ngx_module_deps="src/http/v2/ngx_http_v2.h src/http/v2/ngx_http_v2_module.h"
432 ngx_module_srcs="src/http/v2/ngx_http_v2.c \
433 src/http/v2/ngx_http_v2_table.c \
434 src/http/v2/ngx_http_v2_huff_decode.c \
435 src/http/v2/ngx_http_v2_huff_encode.c \
436 src/http/v2/ngx_http_v2_module.c"
437 ngx_module_libs=
438 ngx_module_link=$HTTP_V2
439
440 . auto/module
Valentin Bartenev2686cb42013-03-20 10:36:57 +0000441fi
442
Maxim Dounin8298a222016-02-04 18:30:21 +0300443if :; then
444 ngx_module_name=ngx_http_static_module
445 ngx_module_incs=
446 ngx_module_deps=
447 ngx_module_srcs=src/http/modules/ngx_http_static_module.c
448 ngx_module_libs=
449 ngx_module_link=YES
450
451 . auto/module
452fi
Igor Sysoev723e6cc2004-10-25 15:29:23 +0000453
Igor Sysoeve19a5f92007-12-29 08:38:42 +0000454if [ $HTTP_GZIP_STATIC = YES ]; then
455 have=NGX_HTTP_GZIP . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300456
457 ngx_module_name=ngx_http_gzip_static_module
458 ngx_module_incs=
459 ngx_module_deps=
460 ngx_module_srcs=src/http/modules/ngx_http_gzip_static_module.c
461 ngx_module_libs=
462 ngx_module_link=$HTTP_GZIP_STATIC
463
464 . auto/module
Igor Sysoeve19a5f92007-12-29 08:38:42 +0000465fi
466
Igor Sysoev8a2b2fb2006-04-14 09:53:38 +0000467if [ $HTTP_DAV = YES ]; then
Igor Sysoev7bdb7202006-04-19 15:30:56 +0000468 have=NGX_HTTP_DAV . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300469
470 ngx_module_name=ngx_http_dav_module
471 ngx_module_incs=
472 ngx_module_deps=
473 ngx_module_srcs=src/http/modules/ngx_http_dav_module.c
474 ngx_module_libs=
475 ngx_module_link=$HTTP_DAV
476
477 . auto/module
Igor Sysoev8a2b2fb2006-04-14 09:53:38 +0000478fi
479
Igor Sysoev723e6cc2004-10-25 15:29:23 +0000480if [ $HTTP_AUTOINDEX = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300481 ngx_module_name=ngx_http_autoindex_module
482 ngx_module_incs=
483 ngx_module_deps=
484 ngx_module_srcs=src/http/modules/ngx_http_autoindex_module.c
485 ngx_module_libs=
486 ngx_module_link=$HTTP_AUTOINDEX
487
488 . auto/module
Igor Sysoev723e6cc2004-10-25 15:29:23 +0000489fi
490
Maxim Dounin8298a222016-02-04 18:30:21 +0300491if :; then
492 ngx_module_name=ngx_http_index_module
493 ngx_module_incs=
494 ngx_module_deps=
495 ngx_module_srcs=src/http/modules/ngx_http_index_module.c
496 ngx_module_libs=
497 ngx_module_link=YES
498
499 . auto/module
500fi
Igor Sysoev3d5c0fc2004-06-22 16:43:09 +0000501
Igor Sysoev2e2b81d2008-09-05 15:45:55 +0000502if [ $HTTP_RANDOM_INDEX = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300503 ngx_module_name=ngx_http_random_index_module
504 ngx_module_incs=
505 ngx_module_deps=
506 ngx_module_srcs=src/http/modules/ngx_http_random_index_module.c
507 ngx_module_libs=
508 ngx_module_link=$HTTP_RANDOM_INDEX
509
510 . auto/module
Igor Sysoev2e2b81d2008-09-05 15:45:55 +0000511fi
512
Maxim Dounin4c53a382013-08-21 19:19:47 +0400513if [ $HTTP_AUTH_REQUEST = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300514 ngx_module_name=ngx_http_auth_request_module
515 ngx_module_incs=
516 ngx_module_deps=
517 ngx_module_srcs=src/http/modules/ngx_http_auth_request_module.c
518 ngx_module_libs=
519 ngx_module_link=$HTTP_AUTH_REQUEST
520
521 . auto/module
Maxim Dounin4c53a382013-08-21 19:19:47 +0400522fi
523
Igor Sysoev4d656dc2005-03-22 16:02:46 +0000524if [ $HTTP_AUTH_BASIC = YES ]; then
Igor Sysoev4d656dc2005-03-22 16:02:46 +0000525 have=NGX_CRYPT . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300526
527 ngx_module_name=ngx_http_auth_basic_module
528 ngx_module_incs=
529 ngx_module_deps=
530 ngx_module_srcs=src/http/modules/ngx_http_auth_basic_module.c
Ruslan Ermilov8af88c92016-02-10 11:36:25 +0300531 ngx_module_libs=$CRYPT_LIB
Maxim Dounin8298a222016-02-04 18:30:21 +0300532 ngx_module_link=$HTTP_AUTH_BASIC
533
534 . auto/module
Igor Sysoev4d656dc2005-03-22 16:02:46 +0000535fi
536
Igor Sysoev59f3aa32004-06-24 16:07:04 +0000537if [ $HTTP_ACCESS = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300538 ngx_module_name=ngx_http_access_module
539 ngx_module_incs=
540 ngx_module_deps=
541 ngx_module_srcs=src/http/modules/ngx_http_access_module.c
542 ngx_module_libs=
543 ngx_module_link=$HTTP_ACCESS
544
545 . auto/module
Igor Sysoev59f3aa32004-06-24 16:07:04 +0000546fi
547
Valentin Bartenev255e20a2011-11-14 14:04:42 +0000548if [ $HTTP_LIMIT_CONN = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300549 ngx_module_name=ngx_http_limit_conn_module
550 ngx_module_incs=
551 ngx_module_deps=
552 ngx_module_srcs=src/http/modules/ngx_http_limit_conn_module.c
553 ngx_module_libs=
554 ngx_module_link=$HTTP_LIMIT_CONN
555
556 . auto/module
Igor Sysoev684f9552007-01-07 18:09:58 +0000557fi
558
Igor Sysoevabe378e2008-11-10 15:22:33 +0000559if [ $HTTP_LIMIT_REQ = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300560 ngx_module_name=ngx_http_limit_req_module
561 ngx_module_incs=
562 ngx_module_deps=
563 ngx_module_srcs=src/http/modules/ngx_http_limit_req_module.c
564 ngx_module_libs=
565 ngx_module_link=$HTTP_LIMIT_REQ
566
567 . auto/module
Igor Sysoevabe378e2008-11-10 15:22:33 +0000568fi
569
Igor Sysoev09c684b2005-11-09 17:25:55 +0000570if [ $HTTP_REALIP = YES ]; then
571 have=NGX_HTTP_REALIP . auto/have
Ruslan Ermilov42444812012-06-21 11:02:22 +0000572 have=NGX_HTTP_X_FORWARDED_FOR . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300573
574 ngx_module_name=ngx_http_realip_module
575 ngx_module_incs=
576 ngx_module_deps=
577 ngx_module_srcs=src/http/modules/ngx_http_realip_module.c
578 ngx_module_libs=
579 ngx_module_link=$HTTP_REALIP
580
581 . auto/module
Igor Sysoev09c684b2005-11-09 17:25:55 +0000582fi
583
Igor Sysoevc83f6832004-06-24 07:53:37 +0000584if [ $HTTP_STATUS = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300585 ngx_module_name=ngx_http_status_module
586 ngx_module_incs=
587 ngx_module_deps=
588 ngx_module_srcs=src/http/modules/ngx_http_status_module.c
589 ngx_module_libs=
590 ngx_module_link=$HTTP_STATUS
591
592 . auto/module
Igor Sysoevc83f6832004-06-24 07:53:37 +0000593fi
594
Igor Sysoev805d9db2005-02-03 19:33:37 +0000595if [ $HTTP_GEO = YES ]; then
Ruslan Ermilov42444812012-06-21 11:02:22 +0000596 have=NGX_HTTP_X_FORWARDED_FOR . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300597
598 ngx_module_name=ngx_http_geo_module
599 ngx_module_incs=
600 ngx_module_deps=
601 ngx_module_srcs=src/http/modules/ngx_http_geo_module.c
602 ngx_module_libs=
603 ngx_module_link=$HTTP_GEO
604
605 . auto/module
Igor Sysoev805d9db2005-02-03 19:33:37 +0000606fi
607
Maxim Dounince1c3bd2016-02-04 20:25:29 +0300608if [ $HTTP_GEOIP != NO ]; then
Ruslan Ermilov42444812012-06-21 11:02:22 +0000609 have=NGX_HTTP_X_FORWARDED_FOR . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300610
611 ngx_module_name=ngx_http_geoip_module
612 ngx_module_incs=
613 ngx_module_deps=
614 ngx_module_srcs=src/http/modules/ngx_http_geoip_module.c
Maxim Dounince1c3bd2016-02-04 20:25:29 +0300615 ngx_module_libs=GEOIP
Maxim Dounin8298a222016-02-04 18:30:21 +0300616 ngx_module_link=$HTTP_GEOIP
617
618 . auto/module
Igor Sysoevbc101472009-07-20 07:10:43 +0000619fi
620
Igor Sysoev24025022005-12-16 15:07:08 +0000621if [ $HTTP_MAP = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300622 ngx_module_name=ngx_http_map_module
623 ngx_module_incs=
624 ngx_module_deps=
625 ngx_module_srcs=src/http/modules/ngx_http_map_module.c
626 ngx_module_libs=
627 ngx_module_link=$HTTP_MAP
628
629 . auto/module
Igor Sysoev24025022005-12-16 15:07:08 +0000630fi
631
Igor Sysoevfadd4bd2010-05-14 09:02:10 +0000632if [ $HTTP_SPLIT_CLIENTS = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300633 ngx_module_name=ngx_http_split_clients_module
634 ngx_module_incs=
635 ngx_module_deps=
636 ngx_module_srcs=src/http/modules/ngx_http_split_clients_module.c
637 ngx_module_libs=
638 ngx_module_link=$HTTP_SPLIT_CLIENTS
639
640 . auto/module
Igor Sysoevfadd4bd2010-05-14 09:02:10 +0000641fi
642
Igor Sysoev0e5dc5c2005-11-15 13:30:52 +0000643if [ $HTTP_REFERER = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300644 ngx_module_name=ngx_http_referer_module
645 ngx_module_incs=
646 ngx_module_deps=
647 ngx_module_srcs=src/http/modules/ngx_http_referer_module.c
648 ngx_module_libs=
649 ngx_module_link=$HTTP_REFERER
650
651 . auto/module
Igor Sysoev0e5dc5c2005-11-15 13:30:52 +0000652fi
653
Igor Sysoev3d5c0fc2004-06-22 16:43:09 +0000654if [ $HTTP_REWRITE = YES -a $USE_PCRE != DISABLED ]; then
Igor Sysoev3d5c0fc2004-06-22 16:43:09 +0000655 USE_PCRE=YES
Maxim Dounin8298a222016-02-04 18:30:21 +0300656
657 ngx_module_name=ngx_http_rewrite_module
658 ngx_module_incs=
659 ngx_module_deps=
660 ngx_module_srcs=src/http/modules/ngx_http_rewrite_module.c
661 ngx_module_libs=
662 ngx_module_link=$HTTP_REWRITE
663
664 . auto/module
Igor Sysoev3d5c0fc2004-06-22 16:43:09 +0000665fi
666
Igor Sysoevf38e0462004-07-16 17:11:43 +0000667if [ $HTTP_SSL = YES ]; then
Igor Sysoev0599b112004-07-25 18:34:14 +0000668 USE_OPENSSL=YES
669 have=NGX_HTTP_SSL . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300670
671 ngx_module_name=ngx_http_ssl_module
672 ngx_module_incs=
673 ngx_module_deps=src/http/modules/ngx_http_ssl_module.h
674 ngx_module_srcs=src/http/modules/ngx_http_ssl_module.c
675 ngx_module_libs=
676 ngx_module_link=$HTTP_SSL
677
678 . auto/module
Igor Sysoevf38e0462004-07-16 17:11:43 +0000679fi
680
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000681if [ $HTTP_PROXY = YES ]; then
Ruslan Ermilov42444812012-06-21 11:02:22 +0000682 have=NGX_HTTP_X_FORWARDED_FOR . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300683
684 ngx_module_name=ngx_http_proxy_module
685 ngx_module_incs=
686 ngx_module_deps=
687 ngx_module_srcs=src/http/modules/ngx_http_proxy_module.c
688 ngx_module_libs=
689 ngx_module_link=$HTTP_PROXY
690
691 . auto/module
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000692fi
Igor Sysoevab9d5fd2004-03-05 08:34:24 +0000693
Igor Sysoev02025fd2005-01-18 13:03:58 +0000694if [ $HTTP_FASTCGI = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300695 ngx_module_name=ngx_http_fastcgi_module
696 ngx_module_incs=
697 ngx_module_deps=
698 ngx_module_srcs=src/http/modules/ngx_http_fastcgi_module.c
699 ngx_module_libs=
700 ngx_module_link=$HTTP_FASTCGI
701
702 . auto/module
Igor Sysoev02025fd2005-01-18 13:03:58 +0000703fi
704
Igor Sysoev3a881d32010-06-01 15:53:11 +0000705if [ $HTTP_UWSGI = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300706 ngx_module_name=ngx_http_uwsgi_module
707 ngx_module_incs=
708 ngx_module_deps=
709 ngx_module_srcs=src/http/modules/ngx_http_uwsgi_module.c
710 ngx_module_libs=
711 ngx_module_link=$HTTP_UWSGI
712
713 . auto/module
Igor Sysoev3a881d32010-06-01 15:53:11 +0000714fi
715
Igor Sysoevee5f9e52010-06-18 15:51:14 +0000716if [ $HTTP_SCGI = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300717 ngx_module_name=ngx_http_scgi_module
718 ngx_module_incs=
719 ngx_module_deps=
720 ngx_module_srcs=src/http/modules/ngx_http_scgi_module.c
721 ngx_module_libs=
722 ngx_module_link=$HTTP_SCGI
723
724 . auto/module
Igor Sysoevee5f9e52010-06-18 15:51:14 +0000725fi
726
Ruslan Ermilov890fade2016-02-26 14:27:04 +0300727if [ $HTTP_PERL != NO ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300728 ngx_module_name=ngx_http_perl_module
729 ngx_module_incs=src/http/modules/perl
730 ngx_module_deps=src/http/modules/perl/ngx_http_perl_module.h
731 ngx_module_srcs=src/http/modules/perl/ngx_http_perl_module.c
Ruslan Ermilov890fade2016-02-26 14:27:04 +0300732 ngx_module_libs=PERL
Maxim Dounin8298a222016-02-04 18:30:21 +0300733 ngx_module_link=$HTTP_PERL
734
735 . auto/module
Igor Sysoev9bf11aa2006-01-16 14:56:53 +0000736fi
737
Igor Sysoevc31a9bb2005-11-26 10:11:11 +0000738if [ $HTTP_MEMCACHED = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300739 ngx_module_name=ngx_http_memcached_module
740 ngx_module_incs=
741 ngx_module_deps=
742 ngx_module_srcs=src/http/modules/ngx_http_memcached_module.c
743 ngx_module_libs=
744 ngx_module_link=$HTTP_MEMCACHED
745
746 . auto/module
Igor Sysoevc31a9bb2005-11-26 10:11:11 +0000747fi
748
Igor Sysoev0e5dc5c2005-11-15 13:30:52 +0000749if [ $HTTP_EMPTY_GIF = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300750 ngx_module_name=ngx_http_empty_gif_module
751 ngx_module_incs=
752 ngx_module_deps=
753 ngx_module_srcs=src/http/modules/ngx_http_empty_gif_module.c
754 ngx_module_libs=
755 ngx_module_link=$HTTP_EMPTY_GIF
756
757 . auto/module
Igor Sysoev0e5dc5c2005-11-15 13:30:52 +0000758fi
759
Igor Sysoev3383ff62006-09-18 12:25:07 +0000760if [ $HTTP_BROWSER = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300761 ngx_module_name=ngx_http_browser_module
762 ngx_module_incs=
763 ngx_module_deps=
764 ngx_module_srcs=src/http/modules/ngx_http_browser_module.c
765 ngx_module_libs=
766 ngx_module_link=$HTTP_BROWSER
767
768 . auto/module
Igor Sysoev3383ff62006-09-18 12:25:07 +0000769fi
770
Igor Sysoeve52991e2008-09-27 13:22:10 +0000771if [ $HTTP_SECURE_LINK = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300772 ngx_module_name=ngx_http_secure_link_module
773 ngx_module_incs=
774 ngx_module_deps=
775 ngx_module_srcs=src/http/modules/ngx_http_secure_link_module.c
776 ngx_module_libs=
777 ngx_module_link=$HTTP_SECURE_LINK
778
779 . auto/module
Igor Sysoeve52991e2008-09-27 13:22:10 +0000780fi
781
Igor Sysoev49851092009-11-16 12:20:00 +0000782if [ $HTTP_DEGRADATION = YES ]; then
Igor Sysoev5fffff92010-10-04 15:03:00 +0000783 have=NGX_HTTP_DEGRADATION . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300784
785 ngx_module_name=ngx_http_degradation_module
786 ngx_module_incs=
787 ngx_module_deps=
788 ngx_module_srcs=src/http/modules/ngx_http_degradation_module.c
789 ngx_module_libs=
790 ngx_module_link=$HTTP_DEGRADATION
791
792 . auto/module
Igor Sysoev49851092009-11-16 12:20:00 +0000793fi
794
Igor Sysoevb5050062006-10-09 14:17:36 +0000795if [ $HTTP_FLV = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300796 ngx_module_name=ngx_http_flv_module
797 ngx_module_incs=
798 ngx_module_deps=
799 ngx_module_srcs=src/http/modules/ngx_http_flv_module.c
800 ngx_module_libs=
801 ngx_module_link=$HTTP_FLV
802
803 . auto/module
Igor Sysoevb5050062006-10-09 14:17:36 +0000804fi
805
Igor Sysoevdde4d7e2011-09-09 10:22:34 +0000806if [ $HTTP_MP4 = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300807 ngx_module_name=ngx_http_mp4_module
808 ngx_module_incs=
809 ngx_module_deps=
810 ngx_module_srcs=src/http/modules/ngx_http_mp4_module.c
811 ngx_module_libs=
812 ngx_module_link=$HTTP_MP4
813
814 . auto/module
Igor Sysoevdde4d7e2011-09-09 10:22:34 +0000815fi
816
Roman Arutyunyan9b5a17b2014-06-02 16:16:22 +0400817if [ $HTTP_UPSTREAM_HASH = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300818 ngx_module_name=ngx_http_upstream_hash_module
819 ngx_module_incs=
820 ngx_module_deps=
821 ngx_module_srcs=src/http/modules/ngx_http_upstream_hash_module.c
822 ngx_module_libs=
823 ngx_module_link=$HTTP_UPSTREAM_HASH
824
825 . auto/module
Roman Arutyunyan9b5a17b2014-06-02 16:16:22 +0400826fi
827
Igor Sysoev3d2fd182006-12-04 16:46:13 +0000828if [ $HTTP_UPSTREAM_IP_HASH = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300829 ngx_module_name=ngx_http_upstream_ip_hash_module
830 ngx_module_incs=
831 ngx_module_deps=
832 ngx_module_srcs=src/http/modules/ngx_http_upstream_ip_hash_module.c
833 ngx_module_libs=
834 ngx_module_link=$HTTP_UPSTREAM_IP_HASH
835
836 . auto/module
Igor Sysoev3d2fd182006-12-04 16:46:13 +0000837fi
838
Maxim Dounin4cb4e8d2012-06-03 23:21:26 +0000839if [ $HTTP_UPSTREAM_LEAST_CONN = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300840 ngx_module_name=ngx_http_upstream_least_conn_module
841 ngx_module_incs=
842 ngx_module_deps=
843 ngx_module_srcs=src/http/modules/ngx_http_upstream_least_conn_module.c
844 ngx_module_libs=
845 ngx_module_link=$HTTP_UPSTREAM_LEAST_CONN
846
847 . auto/module
Maxim Dounin4cb4e8d2012-06-03 23:21:26 +0000848fi
849
Maxim Dounin44002e52011-09-15 19:28:18 +0000850if [ $HTTP_UPSTREAM_KEEPALIVE = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300851 ngx_module_name=ngx_http_upstream_keepalive_module
852 ngx_module_incs=
853 ngx_module_deps=
854 ngx_module_srcs=src/http/modules/ngx_http_upstream_keepalive_module.c
855 ngx_module_libs=
856 ngx_module_link=$HTTP_UPSTREAM_KEEPALIVE
857
858 . auto/module
Maxim Dounin44002e52011-09-15 19:28:18 +0000859fi
860
Ruslan Ermilovbbc5a9e2015-04-14 19:01:25 +0300861if [ $HTTP_UPSTREAM_ZONE = YES ]; then
862 have=NGX_HTTP_UPSTREAM_ZONE . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300863
864 ngx_module_name=ngx_http_upstream_zone_module
865 ngx_module_incs=
866 ngx_module_deps=
867 ngx_module_srcs=src/http/modules/ngx_http_upstream_zone_module.c
868 ngx_module_libs=
869 ngx_module_link=$HTTP_UPSTREAM_ZONE
870
871 . auto/module
Ruslan Ermilovbbc5a9e2015-04-14 19:01:25 +0300872fi
873
Igor Sysoevaa828612005-02-09 14:31:07 +0000874if [ $HTTP_STUB_STATUS = YES ]; then
875 have=NGX_STAT_STUB . auto/have
Maxim Dounin8298a222016-02-04 18:30:21 +0300876
877 ngx_module_name=ngx_http_stub_status_module
878 ngx_module_incs=
879 ngx_module_deps=
880 ngx_module_srcs=src/http/modules/ngx_http_stub_status_module.c
881 ngx_module_libs=
882 ngx_module_link=$HTTP_STUB_STATUS
883
884 . auto/module
Igor Sysoevaa828612005-02-09 14:31:07 +0000885fi
886
Maxim Dounin8298a222016-02-04 18:30:21 +0300887
Maxim Dounince1c3bd2016-02-04 20:25:29 +0300888if [ $MAIL != NO ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300889 MAIL_MODULES=
890 MAIL_DEPS=
891 MAIL_INCS=
892
893 ngx_module_type=MAIL
894 ngx_module_libs=
895 ngx_module_link=YES
896
Maxim Dounince1c3bd2016-02-04 20:25:29 +0300897 ngx_module_order=
898
Maxim Dounin8298a222016-02-04 18:30:21 +0300899 ngx_module_name="ngx_mail_module ngx_mail_core_module"
900 ngx_module_incs="src/mail"
901 ngx_module_deps="src/mail/ngx_mail.h"
902 ngx_module_srcs="src/mail/ngx_mail.c \
903 src/mail/ngx_mail_core_module.c \
904 src/mail/ngx_mail_handler.c \
905 src/mail/ngx_mail_parse.c"
906
907 . auto/module
908
909 ngx_module_incs=
910
911 if [ $MAIL_SSL = YES ]; then
912 USE_OPENSSL=YES
913 have=NGX_MAIL_SSL . auto/have
914
915 ngx_module_name=ngx_mail_ssl_module
916 ngx_module_deps=src/mail/ngx_mail_ssl_module.h
917 ngx_module_srcs=src/mail/ngx_mail_ssl_module.c
918
919 . auto/module
920 fi
921
922 if [ $MAIL_POP3 = YES ]; then
923 ngx_module_name=ngx_mail_pop3_module
924 ngx_module_deps=src/mail/ngx_mail_pop3_module.h
925 ngx_module_srcs="src/mail/ngx_mail_pop3_module.c \
926 src/mail/ngx_mail_pop3_handler.c"
927
928 . auto/module
929 fi
930
931 if [ $MAIL_IMAP = YES ]; then
932 ngx_module_name=ngx_mail_imap_module
933 ngx_module_deps=src/mail/ngx_mail_imap_module.h
934 ngx_module_srcs="src/mail/ngx_mail_imap_module.c \
935 src/mail/ngx_mail_imap_handler.c"
936
937 . auto/module
938 fi
939
940 if [ $MAIL_SMTP = YES ]; then
941 ngx_module_name=ngx_mail_smtp_module
942 ngx_module_deps=src/mail/ngx_mail_smtp_module.h
943 ngx_module_srcs="src/mail/ngx_mail_smtp_module.c \
944 src/mail/ngx_mail_smtp_handler.c"
945
946 . auto/module
947 fi
948
949 ngx_module_name=ngx_mail_auth_http_module
950 ngx_module_deps=
951 ngx_module_srcs=src/mail/ngx_mail_auth_http_module.c
952
953 . auto/module
954
955 ngx_module_name=ngx_mail_proxy_module
956 ngx_module_deps=
957 ngx_module_srcs=src/mail/ngx_mail_proxy_module.c
958
959 . auto/module
960fi
961
962
Maxim Dounince1c3bd2016-02-04 20:25:29 +0300963if [ $STREAM != NO ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +0300964 STREAM_MODULES=
965 STREAM_DEPS=
966 STREAM_INCS=
967
Maxim Dounin8298a222016-02-04 18:30:21 +0300968 ngx_module_type=STREAM
Maxim Dounin8298a222016-02-04 18:30:21 +0300969
Maxim Dounince1c3bd2016-02-04 20:25:29 +0300970 ngx_module_order=
971
Maxim Dounin8298a222016-02-04 18:30:21 +0300972 ngx_module_name="ngx_stream_module \
973 ngx_stream_core_module \
Vladimir Homutov74520332016-09-05 17:50:16 +0300974 ngx_stream_log_module \
Maxim Dounin8298a222016-02-04 18:30:21 +0300975 ngx_stream_proxy_module \
976 ngx_stream_upstream_module"
977 ngx_module_incs="src/stream"
978 ngx_module_deps="src/stream/ngx_stream.h \
Vladimir Homutov2132f0a2016-07-04 16:37:36 +0300979 src/stream/ngx_stream_variables.h \
980 src/stream/ngx_stream_script.h \
Maxim Dounin8298a222016-02-04 18:30:21 +0300981 src/stream/ngx_stream_upstream.h \
982 src/stream/ngx_stream_upstream_round_robin.h"
983 ngx_module_srcs="src/stream/ngx_stream.c \
Vladimir Homutov2132f0a2016-07-04 16:37:36 +0300984 src/stream/ngx_stream_variables.c \
985 src/stream/ngx_stream_script.c \
Maxim Dounin8298a222016-02-04 18:30:21 +0300986 src/stream/ngx_stream_handler.c \
987 src/stream/ngx_stream_core_module.c \
Vladimir Homutov74520332016-09-05 17:50:16 +0300988 src/stream/ngx_stream_log_module.c \
Maxim Dounin8298a222016-02-04 18:30:21 +0300989 src/stream/ngx_stream_proxy_module.c \
990 src/stream/ngx_stream_upstream.c \
991 src/stream/ngx_stream_upstream_round_robin.c"
992
993 . auto/module
994
995 ngx_module_incs=
996
997 if [ $STREAM_SSL = YES ]; then
998 USE_OPENSSL=YES
999 have=NGX_STREAM_SSL . auto/have
1000
1001 ngx_module_name=ngx_stream_ssl_module
1002 ngx_module_deps=src/stream/ngx_stream_ssl_module.h
1003 ngx_module_srcs=src/stream/ngx_stream_ssl_module.c
Vladimir Homutov5d249002016-07-12 12:38:01 +03001004 ngx_module_libs=
1005 ngx_module_link=$STREAM_SSL
Maxim Dounin8298a222016-02-04 18:30:21 +03001006
1007 . auto/module
1008 fi
1009
Dmitry Volyntsev5b441572016-09-01 14:45:33 +03001010 if [ $STREAM_REALIP = YES ]; then
1011 ngx_module_name=ngx_stream_realip_module
1012 ngx_module_deps=
1013 ngx_module_srcs=src/stream/ngx_stream_realip_module.c
1014 ngx_module_libs=
1015 ngx_module_link=$STREAM_REALIP
1016
1017 . auto/module
1018 fi
1019
Maxim Dounin8298a222016-02-04 18:30:21 +03001020 if [ $STREAM_LIMIT_CONN = YES ]; then
1021 ngx_module_name=ngx_stream_limit_conn_module
1022 ngx_module_deps=
1023 ngx_module_srcs=src/stream/ngx_stream_limit_conn_module.c
Vladimir Homutov5d249002016-07-12 12:38:01 +03001024 ngx_module_libs=
1025 ngx_module_link=$STREAM_LIMIT_CONN
Maxim Dounin8298a222016-02-04 18:30:21 +03001026
1027 . auto/module
1028 fi
1029
1030 if [ $STREAM_ACCESS = YES ]; then
1031 ngx_module_name=ngx_stream_access_module
1032 ngx_module_deps=
1033 ngx_module_srcs=src/stream/ngx_stream_access_module.c
Vladimir Homutov5d249002016-07-12 12:38:01 +03001034 ngx_module_libs=
1035 ngx_module_link=$STREAM_ACCESS
Maxim Dounin8298a222016-02-04 18:30:21 +03001036
1037 . auto/module
1038 fi
1039
Vladimir Homutov59decfe2016-06-30 16:12:50 +03001040 if [ $STREAM_GEO = YES ]; then
1041 ngx_module_name=ngx_stream_geo_module
1042 ngx_module_deps=
1043 ngx_module_srcs=src/stream/ngx_stream_geo_module.c
1044 ngx_module_libs=
1045 ngx_module_link=$STREAM_GEO
1046
1047 . auto/module
1048 fi
1049
Vladimir Homutovb0d41a02016-07-12 17:34:43 +03001050 if [ $STREAM_GEOIP != NO ]; then
1051 ngx_module_name=ngx_stream_geoip_module
1052 ngx_module_deps=
1053 ngx_module_srcs=src/stream/ngx_stream_geoip_module.c
1054 ngx_module_libs=GEOIP
1055 ngx_module_link=$STREAM_GEOIP
1056
1057 . auto/module
1058 fi
1059
Vladimir Homutovb55388d2016-06-29 12:46:12 +03001060 if [ $STREAM_MAP = YES ]; then
1061 ngx_module_name=ngx_stream_map_module
1062 ngx_module_deps=
1063 ngx_module_srcs=src/stream/ngx_stream_map_module.c
Vladimir Homutov5d249002016-07-12 12:38:01 +03001064 ngx_module_libs=
1065 ngx_module_link=$STREAM_MAP
Vladimir Homutovb55388d2016-06-29 12:46:12 +03001066
1067 . auto/module
1068 fi
1069
Vladimir Homutov66030bd2016-07-12 17:34:52 +03001070 if [ $STREAM_SPLIT_CLIENTS = YES ]; then
1071 ngx_module_name=ngx_stream_split_clients_module
1072 ngx_module_deps=
1073 ngx_module_srcs=src/stream/ngx_stream_split_clients_module.c
1074 ngx_module_libs=
1075 ngx_module_link=$STREAM_SPLIT_CLIENTS
1076
1077 . auto/module
1078 fi
1079
Roman Arutyunyand4488652016-05-18 22:08:49 +03001080 if [ $STREAM_RETURN = YES ]; then
1081 ngx_module_name=ngx_stream_return_module
1082 ngx_module_deps=
1083 ngx_module_srcs=src/stream/ngx_stream_return_module.c
Vladimir Homutov5d249002016-07-12 12:38:01 +03001084 ngx_module_libs=
1085 ngx_module_link=$STREAM_RETURN
Roman Arutyunyand4488652016-05-18 22:08:49 +03001086
1087 . auto/module
1088 fi
1089
Maxim Dounin8298a222016-02-04 18:30:21 +03001090 if [ $STREAM_UPSTREAM_HASH = YES ]; then
1091 ngx_module_name=ngx_stream_upstream_hash_module
1092 ngx_module_deps=
1093 ngx_module_srcs=src/stream/ngx_stream_upstream_hash_module.c
Vladimir Homutov5d249002016-07-12 12:38:01 +03001094 ngx_module_libs=
1095 ngx_module_link=$STREAM_UPSTREAM_HASH
Maxim Dounin8298a222016-02-04 18:30:21 +03001096
1097 . auto/module
1098 fi
1099
1100 if [ $STREAM_UPSTREAM_LEAST_CONN = YES ]; then
1101 ngx_module_name=ngx_stream_upstream_least_conn_module
1102 ngx_module_deps=
1103 ngx_module_srcs=src/stream/ngx_stream_upstream_least_conn_module.c
Vladimir Homutov5d249002016-07-12 12:38:01 +03001104 ngx_module_libs=
1105 ngx_module_link=$STREAM_UPSTREAM_LEAST_CONN
Maxim Dounin8298a222016-02-04 18:30:21 +03001106
1107 . auto/module
1108 fi
1109
1110 if [ $STREAM_UPSTREAM_ZONE = YES ]; then
1111 have=NGX_STREAM_UPSTREAM_ZONE . auto/have
1112
1113 ngx_module_name=ngx_stream_upstream_zone_module
1114 ngx_module_deps=
1115 ngx_module_srcs=src/stream/ngx_stream_upstream_zone_module.c
Vladimir Homutov5d249002016-07-12 12:38:01 +03001116 ngx_module_libs=
1117 ngx_module_link=$STREAM_UPSTREAM_ZONE
Maxim Dounin8298a222016-02-04 18:30:21 +03001118
1119 . auto/module
1120 fi
1121fi
1122
1123
Igor Sysoev1ebfead2005-02-16 13:40:36 +00001124#if [ -r $NGX_OBJS/auto ]; then
1125# . $NGX_OBJS/auto
1126#fi
1127
1128
1129if test -n "$NGX_ADDONS"; then
1130
1131 echo configuring additional modules
1132
1133 for ngx_addon_dir in $NGX_ADDONS
1134 do
1135 echo "adding module in $ngx_addon_dir"
1136
Maxim Dounin8298a222016-02-04 18:30:21 +03001137 ngx_module_type=
1138 ngx_module_name=
1139 ngx_module_incs=
1140 ngx_module_deps=
1141 ngx_module_srcs=
1142 ngx_module_libs=
Maxim Dounince1c3bd2016-02-04 20:25:29 +03001143 ngx_module_order=
Maxim Dounin8298a222016-02-04 18:30:21 +03001144 ngx_module_link=ADDON
1145
Igor Sysoev1ebfead2005-02-16 13:40:36 +00001146 if test -f $ngx_addon_dir/config; then
1147 . $ngx_addon_dir/config
1148
1149 echo " + $ngx_addon_name was configured"
1150
1151 else
1152 echo "$0: error: no $ngx_addon_dir/config was found"
1153 exit 1
1154 fi
1155 done
Igor Sysoevab517d52004-05-18 15:29:08 +00001156fi
Igor Sysoevab9d5fd2004-03-05 08:34:24 +00001157
Igor Sysoev1ebfead2005-02-16 13:40:36 +00001158
Maxim Dounince1c3bd2016-02-04 20:25:29 +03001159if test -n "$DYNAMIC_ADDONS"; then
1160
1161 echo configuring additional dynamic modules
1162
1163 for ngx_addon_dir in $DYNAMIC_ADDONS
1164 do
1165 echo "adding module in $ngx_addon_dir"
1166
1167 ngx_module_type=
1168 ngx_module_name=
1169 ngx_module_incs=
1170 ngx_module_deps=
1171 ngx_module_srcs=
1172 ngx_module_libs=
1173 ngx_module_order=
1174 ngx_module_link=DYNAMIC
1175
1176 if test -f $ngx_addon_dir/config; then
1177 . $ngx_addon_dir/config
1178
1179 echo " + $ngx_addon_name was configured"
1180
1181 else
1182 echo "$0: error: no $ngx_addon_dir/config was found"
1183 exit 1
1184 fi
1185 done
1186fi
1187
1188
Maxim Dounin8298a222016-02-04 18:30:21 +03001189if [ $USE_OPENSSL = YES ]; then
1190 ngx_module_type=CORE
1191 ngx_module_name=ngx_openssl_module
1192 ngx_module_incs=
1193 ngx_module_deps=src/event/ngx_event_openssl.h
1194 ngx_module_srcs="src/event/ngx_event_openssl.c
1195 src/event/ngx_event_openssl_stapling.c"
1196 ngx_module_libs=
1197 ngx_module_link=YES
Maxim Dounince1c3bd2016-02-04 20:25:29 +03001198 ngx_module_order=
Maxim Dounin8298a222016-02-04 18:30:21 +03001199
1200 . auto/module
Igor Sysoeve5733802005-09-08 14:36:09 +00001201fi
1202
1203
Maxim Dounin8298a222016-02-04 18:30:21 +03001204if [ $USE_PCRE = YES ]; then
1205 ngx_module_type=CORE
1206 ngx_module_name=ngx_regex_module
1207 ngx_module_incs=
1208 ngx_module_deps=src/core/ngx_regex.h
1209 ngx_module_srcs=src/core/ngx_regex.c
1210 ngx_module_libs=
1211 ngx_module_link=YES
Maxim Dounince1c3bd2016-02-04 20:25:29 +03001212 ngx_module_order=
Maxim Dounin8298a222016-02-04 18:30:21 +03001213
1214 . auto/module
Ruslan Ermilov472f0fa2015-04-20 13:05:11 +03001215fi
1216
1217
Igor Sysoev980a9242004-09-05 19:54:02 +00001218modules="$CORE_MODULES $EVENT_MODULES"
1219
Igor Sysoeve5733802005-09-08 14:36:09 +00001220
Valentin Bartenev27e49d72015-03-14 17:37:07 +03001221# thread pool module should be initialized after events
1222if [ $USE_THREADS = YES ]; then
1223 modules="$modules $THREAD_POOL_MODULE"
1224fi
1225
1226
Igor Sysoev980a9242004-09-05 19:54:02 +00001227if [ $HTTP = YES ]; then
1228 modules="$modules $HTTP_MODULES $HTTP_FILTER_MODULES \
Maxim Douninb07c1812016-02-04 18:30:21 +03001229 $HTTP_AUX_FILTER_MODULES $HTTP_INIT_FILTER_MODULES"
Igor Sysoev1ebfead2005-02-16 13:40:36 +00001230
1231 NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(HTTP_DEPS)"
Igor Sysoev980a9242004-09-05 19:54:02 +00001232fi
Igor Sysoevab9d5fd2004-03-05 08:34:24 +00001233
Igor Sysoev1ebfead2005-02-16 13:40:36 +00001234
Maxim Dounince1c3bd2016-02-04 20:25:29 +03001235if [ $MAIL != NO ]; then
1236
1237 if [ $MAIL = YES ]; then
1238 modules="$modules $MAIL_MODULES"
1239
1240 elif [ $MAIL = DYNAMIC ]; then
1241 ngx_module_name=$MAIL_MODULES
1242 ngx_module_incs=
1243 ngx_module_deps=$MAIL_DEPS
1244 ngx_module_srcs=$MAIL_SRCS
1245 ngx_module_libs=
1246 ngx_module_link=DYNAMIC
1247
1248 . auto/module
1249 fi
1250
Maxim Douninf86169a2013-09-30 22:09:54 +04001251 NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(MAIL_DEPS)"
Igor Sysoev59cf56c2004-09-07 15:29:22 +00001252fi
1253
Igor Sysoevab9d5fd2004-03-05 08:34:24 +00001254
Maxim Dounince1c3bd2016-02-04 20:25:29 +03001255if [ $STREAM != NO ]; then
1256
1257 if [ $STREAM = YES ]; then
1258 modules="$modules $STREAM_MODULES"
1259
1260 elif [ $STREAM = DYNAMIC ]; then
1261 ngx_module_name=$STREAM_MODULES
1262 ngx_module_incs=
1263 ngx_module_deps=$STREAM_DEPS
1264 ngx_module_srcs=$STREAM_SRCS
1265 ngx_module_libs=
1266 ngx_module_link=DYNAMIC
1267
1268 . auto/module
1269 fi
1270
Ruslan Ermilov472f0fa2015-04-20 13:05:11 +03001271 NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(STREAM_DEPS)"
1272fi
1273
1274
Maxim Dounin8298a222016-02-04 18:30:21 +03001275ngx_module_type=MISC
1276MISC_MODULES=
Igor Sysoev85dd8fc2008-03-18 10:36:27 +00001277
Maxim Dounin8298a222016-02-04 18:30:21 +03001278if [ $NGX_GOOGLE_PERFTOOLS = YES ]; then
1279 ngx_module_name=ngx_google_perftools_module
1280 ngx_module_incs=
1281 ngx_module_deps=
1282 ngx_module_srcs=src/misc/ngx_google_perftools_module.c
1283 ngx_module_libs=
1284 ngx_module_link=$NGX_GOOGLE_PERFTOOLS
1285
1286 . auto/module
1287fi
Igor Sysoev85dd8fc2008-03-18 10:36:27 +00001288
Igor Sysoev49f06852008-08-13 08:29:27 +00001289if [ $NGX_CPP_TEST = YES ]; then
Maxim Dounin8298a222016-02-04 18:30:21 +03001290 ngx_module_name=
1291 ngx_module_incs=
1292 ngx_module_deps=
1293 ngx_module_srcs=src/misc/ngx_cpp_test_module.cpp
1294 ngx_module_libs=-lstdc++
1295 ngx_module_link=$NGX_CPP_TEST
1296
1297 . auto/module
Igor Sysoeve24b57a2008-08-05 19:32:50 +00001298fi
1299
Maxim Dounin8298a222016-02-04 18:30:21 +03001300modules="$modules $MISC_MODULES"
1301
Igor Sysoeve24b57a2008-08-05 19:32:50 +00001302
Igor Sysoev1b735832004-11-11 14:07:14 +00001303cat << END > $NGX_MODULES_C
1304
1305#include <ngx_config.h>
1306#include <ngx_core.h>
1307
1308$NGX_PRAGMA
1309
1310END
Igor Sysoevab9d5fd2004-03-05 08:34:24 +00001311
1312for mod in $modules
1313do
1314 echo "extern ngx_module_t $mod;" >> $NGX_MODULES_C
1315done
1316
1317echo >> $NGX_MODULES_C
1318echo 'ngx_module_t *ngx_modules[] = {' >> $NGX_MODULES_C
1319
1320for mod in $modules
1321do
1322 echo " &$mod," >> $NGX_MODULES_C
1323done
1324
Igor Sysoev1b735832004-11-11 14:07:14 +00001325cat << END >> $NGX_MODULES_C
1326 NULL
1327};
1328
1329END
Maxim Dounince1c3bd2016-02-04 20:25:29 +03001330
1331echo 'char *ngx_module_names[] = {' >> $NGX_MODULES_C
1332
1333for mod in $modules
1334do
1335 echo " \"$mod\"," >> $NGX_MODULES_C
1336done
1337
1338cat << END >> $NGX_MODULES_C
1339 NULL
1340};
1341
1342END