blob: 78859676357efe2d55440837cbc0337e416488ec [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
Igor Sysoeva9625062009-08-28 08:12:35 +000046 have=NGX_HAVE_EVENTFD . auto/have
Igor Sysoevf6906042004-11-25 16:17:31 +000047 have=NGX_TEST_BUILD_EPOLL . auto/have
Igor Sysoeve9b2cb12004-02-09 20:47:18 +000048 EVENT_MODULES="$EVENT_MODULES $EPOLL_MODULE"
49 CORE_SRCS="$CORE_SRCS $EPOLL_SRCS"
50fi
51
Igor Sysoevf6906042004-11-25 16:17:31 +000052if [ $NGX_TEST_BUILD_RTSIG = YES ]; then
53 have=NGX_HAVE_RTSIG . auto/have
54 have=NGX_TEST_BUILD_RTSIG . auto/have
Igor Sysoev9139cd22004-02-17 17:53:12 +000055 EVENT_MODULES="$EVENT_MODULES $RTSIG_MODULE"
56 CORE_SRCS="$CORE_SRCS $RTSIG_SRCS"
Igor Sysoeve9b2cb12004-02-09 20:47:18 +000057fi
58
Igor Sysoev42b12b32004-12-02 18:40:46 +000059if [ $NGX_TEST_BUILD_SOLARIS_SENDFILEV = YES ]; then
60 have=NGX_TEST_BUILD_SOLARIS_SENDFILEV . auto/have
61 CORE_SRCS="$CORE_SRCS $SOLARIS_SENDFILEV_SRCS"
62fi
63
Igor Sysoeve9b2cb12004-02-09 20:47:18 +000064
Igor Sysoev7b190b42005-06-07 15:56:31 +000065if [ $HTTP != YES ]; then
66 have=NGX_CRYPT . auto/nohave
67 CRYPT_LIB=
68fi
69
70
Igor Sysoev52859f22009-03-23 13:14:51 +000071if [ $HTTP_CACHE = YES ]; then
72 USE_MD5=YES
73 have=NGX_HTTP_CACHE . auto/have
74 HTTP_SRCS="$HTTP_SRCS $HTTP_FILE_CACHE_SRCS"
75fi
76
77
Igor Sysoev899b44e2005-05-12 14:58:06 +000078if [ $HTTP_SSI = YES ]; then
79 HTTP_POSTPONE=YES
80fi
81
Igor Sysoev7f7846d2006-04-26 09:52:47 +000082
83if [ $HTTP_ADDITION = YES ]; then
84 HTTP_POSTPONE=YES
85fi
86
87
Igor Sysoeve5733802005-09-08 14:36:09 +000088# the module order is important
Igor Sysoev1ae389d2008-08-04 14:48:15 +000089# ngx_http_static_module
90# ngx_http_gzip_static_module
91# ngx_http_dav_module
Igor Sysoeve5733802005-09-08 14:36:09 +000092# ngx_http_autoindex_module
93# ngx_http_index_module
Igor Sysoev2e2b81d2008-09-05 15:45:55 +000094# ngx_http_random_index_module
Igor Sysoeve5733802005-09-08 14:36:09 +000095#
Igor Sysoev0e5dc5c2005-11-15 13:30:52 +000096# ngx_http_access_module
97# ngx_http_realip_module
98#
Igor Sysoeve5733802005-09-08 14:36:09 +000099#
Igor Sysoev7823cc32004-07-14 16:01:42 +0000100# the filter order is important
101# ngx_http_write_filter
Igor Sysoev7823cc32004-07-14 16:01:42 +0000102# ngx_http_header_filter
103# ngx_http_chunked_filter
Valentin Bartenev2686cb42013-03-20 10:36:57 +0000104# ngx_http_spdy_filter
Igor Sysoev7823cc32004-07-14 16:01:42 +0000105# ngx_http_range_header_filter
106# ngx_http_gzip_filter
Igor Sysoev899b44e2005-05-12 14:58:06 +0000107# ngx_http_postpone_filter
Igor Sysoev7823cc32004-07-14 16:01:42 +0000108# ngx_http_ssi_filter
Igor Sysoev5cc7eaa2010-04-01 10:19:02 +0000109# ngx_http_charset_filter
Igor Sysoev1ae389d2008-08-04 14:48:15 +0000110# ngx_http_xslt_filter
Igor Sysoeva40c3952010-03-30 15:04:41 +0000111# ngx_http_image_filter
Igor Sysoev1ae389d2008-08-04 14:48:15 +0000112# ngx_http_sub_filter
Igor Sysoev6d16e1e2006-04-05 13:40:54 +0000113# ngx_http_addition_filter
Maxim Dounin90bd33e2012-09-10 16:52:47 +0000114# ngx_http_gunzip_filter
Igor Sysoeve5733802005-09-08 14:36:09 +0000115# ngx_http_userid_filter
116# ngx_http_headers_filter
Igor Sysoev7823cc32004-07-14 16:01:42 +0000117# ngx_http_copy_filter
118# ngx_http_range_body_filter
119# ngx_http_not_modified_filter
120
Igor Sysoev4aa88882004-07-14 20:07:58 +0000121HTTP_FILTER_MODULES="$HTTP_WRITE_FILTER_MODULE \
122 $HTTP_HEADER_FILTER_MODULE \
Valentin Bartenev2686cb42013-03-20 10:36:57 +0000123 $HTTP_CHUNKED_FILTER_MODULE"
124
125if [ $HTTP_SPDY = YES ]; then
126 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_SPDY_FILTER_MODULE"
127fi
128
129HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_RANGE_HEADER_FILTER_MODULE"
Igor Sysoev7823cc32004-07-14 16:01:42 +0000130
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000131if [ $HTTP_GZIP = YES ]; then
Igor Sysoeva893eab2004-03-11 21:34:52 +0000132 have=NGX_HTTP_GZIP . auto/have
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000133 USE_ZLIB=YES
134 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_GZIP_FILTER_MODULE"
135 HTTP_SRCS="$HTTP_SRCS $HTTP_GZIP_SRCS"
136fi
137
Igor Sysoev899b44e2005-05-12 14:58:06 +0000138if [ $HTTP_POSTPONE = YES ]; then
139 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_POSTPONE_FILTER_MODULE"
Igor Sysoev6b0de802008-03-12 21:10:48 +0000140 HTTP_SRCS="$HTTP_SRCS $HTTP_POSTPONE_FILTER_SRCS"
Igor Sysoev899b44e2005-05-12 14:58:06 +0000141fi
142
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000143if [ $HTTP_SSI = YES ]; then
Igor Sysoeva893eab2004-03-11 21:34:52 +0000144 have=NGX_HTTP_SSI . auto/have
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000145 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_SSI_FILTER_MODULE"
Igor Sysoevdf3254a2006-01-11 15:26:57 +0000146 HTTP_DEPS="$HTTP_DEPS $HTTP_SSI_DEPS"
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000147 HTTP_SRCS="$HTTP_SRCS $HTTP_SSI_SRCS"
148fi
149
Igor Sysoev5cc7eaa2010-04-01 10:19:02 +0000150if [ $HTTP_CHARSET = YES ]; then
Igor Sysoev5cc7eaa2010-04-01 10:19:02 +0000151 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_CHARSET_FILTER_MODULE"
152 HTTP_SRCS="$HTTP_SRCS $HTTP_CHARSET_SRCS"
153fi
154
Igor Sysoev1ae389d2008-08-04 14:48:15 +0000155if [ $HTTP_XSLT = YES ]; then
156 USE_LIBXSLT=YES
157 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_XSLT_FILTER_MODULE"
158 HTTP_SRCS="$HTTP_SRCS $HTTP_XSLT_SRCS"
159fi
160
Igor Sysoeve2ada612009-05-01 18:42:09 +0000161if [ $HTTP_IMAGE_FILTER = YES ]; then
162 USE_LIBGD=YES
163 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_IMAGE_FILTER_MODULE"
164 HTTP_SRCS="$HTTP_SRCS $HTTP_IMAGE_SRCS"
165fi
166
Igor Sysoevd9bb8e32007-04-19 17:54:23 +0000167if [ $HTTP_SUB = YES ]; then
168 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_SUB_FILTER_MODULE"
169 HTTP_SRCS="$HTTP_SRCS $HTTP_SUB_SRCS"
170fi
171
Igor Sysoev6d16e1e2006-04-05 13:40:54 +0000172if [ $HTTP_ADDITION = YES ]; then
173 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_ADDITION_FILTER_MODULE"
174 HTTP_SRCS="$HTTP_SRCS $HTTP_ADDITION_SRCS"
175fi
176
Maxim Dounin90bd33e2012-09-10 16:52:47 +0000177if [ $HTTP_GUNZIP = YES ]; then
178 have=NGX_HTTP_GZIP . auto/have
179 USE_ZLIB=YES
180 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_GUNZIP_FILTER_MODULE"
181 HTTP_SRCS="$HTTP_SRCS $HTTP_GUNZIP_SRCS"
182fi
183
Igor Sysoeva7c4a2a2004-08-29 03:55:41 +0000184if [ $HTTP_USERID = YES ]; then
185 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_USERID_FILTER_MODULE"
186 HTTP_SRCS="$HTTP_SRCS $HTTP_USERID_SRCS"
187fi
188
Valentin Bartenev2686cb42013-03-20 10:36:57 +0000189
190if [ $HTTP_SPDY = YES ]; then
191 have=NGX_HTTP_SPDY . auto/have
192 USE_ZLIB=YES
193 HTTP_MODULES="$HTTP_MODULES $HTTP_SPDY_MODULE"
194 HTTP_DEPS="$HTTP_DEPS $HTTP_SPDY_DEPS"
195 HTTP_SRCS="$HTTP_SRCS $HTTP_SPDY_SRCS"
196fi
197
Igor Sysoev723e6cc2004-10-25 15:29:23 +0000198HTTP_MODULES="$HTTP_MODULES $HTTP_STATIC_MODULE"
199
Igor Sysoeve19a5f92007-12-29 08:38:42 +0000200if [ $HTTP_GZIP_STATIC = YES ]; then
201 have=NGX_HTTP_GZIP . auto/have
202 HTTP_MODULES="$HTTP_MODULES $HTTP_GZIP_STATIC_MODULE"
203 HTTP_SRCS="$HTTP_SRCS $HTTP_GZIP_STATIC_SRCS"
204fi
205
Igor Sysoev8a2b2fb2006-04-14 09:53:38 +0000206if [ $HTTP_DAV = YES ]; then
Igor Sysoev7bdb7202006-04-19 15:30:56 +0000207 have=NGX_HTTP_DAV . auto/have
Igor Sysoev8a2b2fb2006-04-14 09:53:38 +0000208 HTTP_MODULES="$HTTP_MODULES $HTTP_DAV_MODULE"
209 HTTP_SRCS="$HTTP_SRCS $HTTP_DAV_SRCS"
210fi
211
Igor Sysoev723e6cc2004-10-25 15:29:23 +0000212if [ $HTTP_AUTOINDEX = YES ]; then
Igor Sysoev723e6cc2004-10-25 15:29:23 +0000213 HTTP_MODULES="$HTTP_MODULES $HTTP_AUTOINDEX_MODULE"
214 HTTP_SRCS="$HTTP_SRCS $HTTP_AUTOINDEX_SRCS"
215fi
216
217HTTP_MODULES="$HTTP_MODULES $HTTP_INDEX_MODULE"
Igor Sysoev3d5c0fc2004-06-22 16:43:09 +0000218
Igor Sysoev2e2b81d2008-09-05 15:45:55 +0000219if [ $HTTP_RANDOM_INDEX = YES ]; then
Igor Sysoev2e2b81d2008-09-05 15:45:55 +0000220 HTTP_MODULES="$HTTP_MODULES $HTTP_RANDOM_INDEX_MODULE"
221 HTTP_SRCS="$HTTP_SRCS $HTTP_RANDOM_INDEX_SRCS"
222fi
223
Maxim Dounin4c53a382013-08-21 19:19:47 +0400224if [ $HTTP_AUTH_REQUEST = YES ]; then
225 HTTP_MODULES="$HTTP_MODULES $HTTP_AUTH_REQUEST_MODULE"
226 HTTP_SRCS="$HTTP_SRCS $HTTP_AUTH_REQUEST_SRCS"
227fi
228
Igor Sysoev4d656dc2005-03-22 16:02:46 +0000229if [ $HTTP_AUTH_BASIC = YES ]; then
Igor Sysoev5dc59452011-05-16 14:54:50 +0000230 USE_MD5=YES
231 USE_SHA1=YES
Igor Sysoev4d656dc2005-03-22 16:02:46 +0000232 have=NGX_CRYPT . auto/have
233 HTTP_MODULES="$HTTP_MODULES $HTTP_AUTH_BASIC_MODULE"
234 HTTP_SRCS="$HTTP_SRCS $HTTP_AUTH_BASIC_SRCS"
235 CORE_LIBS="$CORE_LIBS $CRYPT_LIB"
236fi
237
Igor Sysoev59f3aa32004-06-24 16:07:04 +0000238if [ $HTTP_ACCESS = YES ]; then
Igor Sysoev59f3aa32004-06-24 16:07:04 +0000239 HTTP_MODULES="$HTTP_MODULES $HTTP_ACCESS_MODULE"
240 HTTP_SRCS="$HTTP_SRCS $HTTP_ACCESS_SRCS"
241fi
242
Valentin Bartenev255e20a2011-11-14 14:04:42 +0000243if [ $HTTP_LIMIT_CONN = YES ]; then
244 HTTP_MODULES="$HTTP_MODULES $HTTP_LIMIT_CONN_MODULE"
245 HTTP_SRCS="$HTTP_SRCS $HTTP_LIMIT_CONN_SRCS"
Igor Sysoev684f9552007-01-07 18:09:58 +0000246fi
247
Igor Sysoevabe378e2008-11-10 15:22:33 +0000248if [ $HTTP_LIMIT_REQ = YES ]; then
249 HTTP_MODULES="$HTTP_MODULES $HTTP_LIMIT_REQ_MODULE"
250 HTTP_SRCS="$HTTP_SRCS $HTTP_LIMIT_REQ_SRCS"
251fi
252
Igor Sysoev09c684b2005-11-09 17:25:55 +0000253if [ $HTTP_REALIP = YES ]; then
254 have=NGX_HTTP_REALIP . auto/have
Ruslan Ermilov42444812012-06-21 11:02:22 +0000255 have=NGX_HTTP_X_FORWARDED_FOR . auto/have
Igor Sysoev09c684b2005-11-09 17:25:55 +0000256 HTTP_MODULES="$HTTP_MODULES $HTTP_REALIP_MODULE"
257 HTTP_SRCS="$HTTP_SRCS $HTTP_REALIP_SRCS"
258fi
259
Igor Sysoevc83f6832004-06-24 07:53:37 +0000260if [ $HTTP_STATUS = YES ]; then
Igor Sysoevc83f6832004-06-24 07:53:37 +0000261 HTTP_MODULES="$HTTP_MODULES $HTTP_STATUS_MODULE"
262 HTTP_SRCS="$HTTP_SRCS $HTTP_STATUS_SRCS"
263fi
264
Igor Sysoev805d9db2005-02-03 19:33:37 +0000265if [ $HTTP_GEO = YES ]; then
Ruslan Ermilov42444812012-06-21 11:02:22 +0000266 have=NGX_HTTP_X_FORWARDED_FOR . auto/have
Igor Sysoev805d9db2005-02-03 19:33:37 +0000267 HTTP_MODULES="$HTTP_MODULES $HTTP_GEO_MODULE"
268 HTTP_SRCS="$HTTP_SRCS $HTTP_GEO_SRCS"
269fi
270
Igor Sysoevbc101472009-07-20 07:10:43 +0000271if [ $HTTP_GEOIP = YES ]; then
Ruslan Ermilov42444812012-06-21 11:02:22 +0000272 have=NGX_HTTP_X_FORWARDED_FOR . auto/have
Igor Sysoevbc101472009-07-20 07:10:43 +0000273 HTTP_MODULES="$HTTP_MODULES $HTTP_GEOIP_MODULE"
274 HTTP_SRCS="$HTTP_SRCS $HTTP_GEOIP_SRCS"
275fi
276
Igor Sysoev24025022005-12-16 15:07:08 +0000277if [ $HTTP_MAP = YES ]; then
Igor Sysoev24025022005-12-16 15:07:08 +0000278 HTTP_MODULES="$HTTP_MODULES $HTTP_MAP_MODULE"
279 HTTP_SRCS="$HTTP_SRCS $HTTP_MAP_SRCS"
280fi
281
Igor Sysoevfadd4bd2010-05-14 09:02:10 +0000282if [ $HTTP_SPLIT_CLIENTS = YES ]; then
283 HTTP_MODULES="$HTTP_MODULES $HTTP_SPLIT_CLIENTS_MODULE"
284 HTTP_SRCS="$HTTP_SRCS $HTTP_SPLIT_CLIENTS_SRCS"
285fi
286
Igor Sysoev0e5dc5c2005-11-15 13:30:52 +0000287if [ $HTTP_REFERER = YES ]; then
288 HTTP_MODULES="$HTTP_MODULES $HTTP_REFERER_MODULE"
289 HTTP_SRCS="$HTTP_SRCS $HTTP_REFERER_SRCS"
290fi
291
Igor Sysoev3d5c0fc2004-06-22 16:43:09 +0000292if [ $HTTP_REWRITE = YES -a $USE_PCRE != DISABLED ]; then
Igor Sysoev3d5c0fc2004-06-22 16:43:09 +0000293 USE_PCRE=YES
294 HTTP_MODULES="$HTTP_MODULES $HTTP_REWRITE_MODULE"
295 HTTP_SRCS="$HTTP_SRCS $HTTP_REWRITE_SRCS"
296fi
297
Igor Sysoevf38e0462004-07-16 17:11:43 +0000298if [ $HTTP_SSL = YES ]; then
Igor Sysoev0599b112004-07-25 18:34:14 +0000299 USE_OPENSSL=YES
300 have=NGX_HTTP_SSL . auto/have
Igor Sysoevf38e0462004-07-16 17:11:43 +0000301 HTTP_MODULES="$HTTP_MODULES $HTTP_SSL_MODULE"
302 HTTP_DEPS="$HTTP_DEPS $HTTP_SSL_DEPS"
303 HTTP_SRCS="$HTTP_SRCS $HTTP_SSL_SRCS"
Igor Sysoevf38e0462004-07-16 17:11:43 +0000304fi
305
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000306if [ $HTTP_PROXY = YES ]; then
Ruslan Ermilov42444812012-06-21 11:02:22 +0000307 have=NGX_HTTP_X_FORWARDED_FOR . auto/have
Igor Sysoev0bc87e92004-09-30 15:30:54 +0000308 #USE_MD5=YES
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000309 HTTP_MODULES="$HTTP_MODULES $HTTP_PROXY_MODULE"
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000310 HTTP_DEPS="$HTTP_DEPS $HTTP_PROXY_DEPS"
311 HTTP_SRCS="$HTTP_SRCS $HTTP_PROXY_SRCS"
312fi
Igor Sysoevab9d5fd2004-03-05 08:34:24 +0000313
Igor Sysoev02025fd2005-01-18 13:03:58 +0000314if [ $HTTP_FASTCGI = YES ]; then
315 HTTP_MODULES="$HTTP_MODULES $HTTP_FASTCGI_MODULE"
316 HTTP_SRCS="$HTTP_SRCS $HTTP_FASTCGI_SRCS"
317fi
318
Igor Sysoev3a881d32010-06-01 15:53:11 +0000319if [ $HTTP_UWSGI = YES ]; then
320 HTTP_MODULES="$HTTP_MODULES $HTTP_UWSGI_MODULE"
321 HTTP_SRCS="$HTTP_SRCS $HTTP_UWSGI_SRCS"
322fi
323
Igor Sysoevee5f9e52010-06-18 15:51:14 +0000324if [ $HTTP_SCGI = YES ]; then
325 HTTP_MODULES="$HTTP_MODULES $HTTP_SCGI_MODULE"
326 HTTP_SRCS="$HTTP_SRCS $HTTP_SCGI_SRCS"
327fi
328
Igor Sysoev9bf11aa2006-01-16 14:56:53 +0000329if [ $HTTP_PERL = YES ]; then
330 USE_PERL=YES
Igor Sysoev9bf11aa2006-01-16 14:56:53 +0000331 HTTP_MODULES="$HTTP_MODULES $HTTP_PERL_MODULE"
332 HTTP_INCS="$HTTP_INCS $HTTP_PERL_INCS"
333 HTTP_DEPS="$HTTP_DEPS $HTTP_PERL_DEPS"
334 HTTP_SRCS="$HTTP_SRCS $HTTP_PERL_SRCS"
335fi
336
Igor Sysoevc31a9bb2005-11-26 10:11:11 +0000337if [ $HTTP_MEMCACHED = YES ]; then
338 HTTP_MODULES="$HTTP_MODULES $HTTP_MEMCACHED_MODULE"
339 HTTP_SRCS="$HTTP_SRCS $HTTP_MEMCACHED_SRCS"
340fi
341
Igor Sysoev0e5dc5c2005-11-15 13:30:52 +0000342if [ $HTTP_EMPTY_GIF = YES ]; then
343 HTTP_MODULES="$HTTP_MODULES $HTTP_EMPTY_GIF_MODULE"
344 HTTP_SRCS="$HTTP_SRCS $HTTP_EMPTY_GIF_SRCS"
345fi
346
Igor Sysoev3383ff62006-09-18 12:25:07 +0000347if [ $HTTP_BROWSER = YES ]; then
348 HTTP_MODULES="$HTTP_MODULES $HTTP_BROWSER_MODULE"
349 HTTP_SRCS="$HTTP_SRCS $HTTP_BROWSER_SRCS"
350fi
351
Igor Sysoeve52991e2008-09-27 13:22:10 +0000352if [ $HTTP_SECURE_LINK = YES ]; then
353 USE_MD5=YES
354 HTTP_MODULES="$HTTP_MODULES $HTTP_SECURE_LINK_MODULE"
355 HTTP_SRCS="$HTTP_SRCS $HTTP_SECURE_LINK_SRCS"
356fi
357
Igor Sysoev49851092009-11-16 12:20:00 +0000358if [ $HTTP_DEGRADATION = YES ]; then
Igor Sysoev5fffff92010-10-04 15:03:00 +0000359 have=NGX_HTTP_DEGRADATION . auto/have
Igor Sysoev49851092009-11-16 12:20:00 +0000360 HTTP_MODULES="$HTTP_MODULES $HTTP_DEGRADATION_MODULE"
361 HTTP_SRCS="$HTTP_SRCS $HTTP_DEGRADATION_SRCS"
362fi
363
Igor Sysoevb5050062006-10-09 14:17:36 +0000364if [ $HTTP_FLV = YES ]; then
365 HTTP_MODULES="$HTTP_MODULES $HTTP_FLV_MODULE"
366 HTTP_SRCS="$HTTP_SRCS $HTTP_FLV_SRCS"
367fi
368
Igor Sysoevdde4d7e2011-09-09 10:22:34 +0000369if [ $HTTP_MP4 = YES ]; then
370 HTTP_MODULES="$HTTP_MODULES $HTTP_MP4_MODULE"
371 HTTP_SRCS="$HTTP_SRCS $HTTP_MP4_SRCS"
372fi
373
Roman Arutyunyan9b5a17b2014-06-02 16:16:22 +0400374if [ $HTTP_UPSTREAM_HASH = YES ]; then
375 HTTP_MODULES="$HTTP_MODULES $HTTP_UPSTREAM_HASH_MODULE"
376 HTTP_SRCS="$HTTP_SRCS $HTTP_UPSTREAM_HASH_SRCS"
377fi
378
Igor Sysoev3d2fd182006-12-04 16:46:13 +0000379if [ $HTTP_UPSTREAM_IP_HASH = YES ]; then
380 HTTP_MODULES="$HTTP_MODULES $HTTP_UPSTREAM_IP_HASH_MODULE"
381 HTTP_SRCS="$HTTP_SRCS $HTTP_UPSTREAM_IP_HASH_SRCS"
382fi
383
Maxim Dounin4cb4e8d2012-06-03 23:21:26 +0000384if [ $HTTP_UPSTREAM_LEAST_CONN = YES ]; then
385 HTTP_MODULES="$HTTP_MODULES $HTTP_UPSTREAM_LEAST_CONN_MODULE"
386 HTTP_SRCS="$HTTP_SRCS $HTTP_UPSTREAM_LEAST_CONN_SRCS"
387fi
388
Maxim Dounin44002e52011-09-15 19:28:18 +0000389if [ $HTTP_UPSTREAM_KEEPALIVE = YES ]; then
390 HTTP_MODULES="$HTTP_MODULES $HTTP_UPSTREAM_KEEPALIVE_MODULE"
391 HTTP_SRCS="$HTTP_SRCS $HTTP_UPSTREAM_KEEPALIVE_SRCS"
392fi
393
Igor Sysoevaa828612005-02-09 14:31:07 +0000394if [ $HTTP_STUB_STATUS = YES ]; then
395 have=NGX_STAT_STUB . auto/have
396 HTTP_MODULES="$HTTP_MODULES ngx_http_stub_status_module"
397 HTTP_SRCS="$HTTP_SRCS src/http/modules/ngx_http_stub_status_module.c"
398fi
399
Igor Sysoev1ebfead2005-02-16 13:40:36 +0000400#if [ -r $NGX_OBJS/auto ]; then
401# . $NGX_OBJS/auto
402#fi
403
404
405if test -n "$NGX_ADDONS"; then
406
407 echo configuring additional modules
408
409 for ngx_addon_dir in $NGX_ADDONS
410 do
411 echo "adding module in $ngx_addon_dir"
412
413 if test -f $ngx_addon_dir/config; then
414 . $ngx_addon_dir/config
415
416 echo " + $ngx_addon_name was configured"
417
418 else
419 echo "$0: error: no $ngx_addon_dir/config was found"
420 exit 1
421 fi
422 done
Igor Sysoevab517d52004-05-18 15:29:08 +0000423fi
Igor Sysoevab9d5fd2004-03-05 08:34:24 +0000424
Igor Sysoev1ebfead2005-02-16 13:40:36 +0000425
Igor Sysoev02c8d182007-03-19 13:36:56 +0000426if [ $MAIL_SSL = YES ]; then
Igor Sysoev02c8d182007-03-19 13:36:56 +0000427 have=NGX_MAIL_SSL . auto/have
Igor Sysoeve5733802005-09-08 14:36:09 +0000428 USE_OPENSSL=YES
429fi
430
431
Igor Sysoev980a9242004-09-05 19:54:02 +0000432modules="$CORE_MODULES $EVENT_MODULES"
433
Igor Sysoeve5733802005-09-08 14:36:09 +0000434
435if [ $USE_OPENSSL = YES ]; then
436 modules="$modules $OPENSSL_MODULE"
437 CORE_DEPS="$CORE_DEPS $OPENSSL_DEPS"
438 CORE_SRCS="$CORE_SRCS $OPENSSL_SRCS"
439fi
440
Valentin Bartenevbc5191c2011-12-26 13:10:36 +0000441if [ $USE_PCRE = YES ]; then
442 modules="$modules $REGEX_MODULE"
443 CORE_DEPS="$CORE_DEPS $REGEX_DEPS"
444 CORE_SRCS="$CORE_SRCS $REGEX_SRCS"
445fi
446
Igor Sysoev980a9242004-09-05 19:54:02 +0000447if [ $HTTP = YES ]; then
448 modules="$modules $HTTP_MODULES $HTTP_FILTER_MODULES \
449 $HTTP_HEADERS_FILTER_MODULE \
Igor Sysoev0e5dc5c2005-11-15 13:30:52 +0000450 $HTTP_AUX_FILTER_MODULES \
Igor Sysoev980a9242004-09-05 19:54:02 +0000451 $HTTP_COPY_FILTER_MODULE \
452 $HTTP_RANGE_BODY_FILTER_MODULE \
453 $HTTP_NOT_MODIFIED_FILTER_MODULE"
Igor Sysoev1ebfead2005-02-16 13:40:36 +0000454
455 NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(HTTP_DEPS)"
Igor Sysoev980a9242004-09-05 19:54:02 +0000456fi
Igor Sysoevab9d5fd2004-03-05 08:34:24 +0000457
Igor Sysoev1ebfead2005-02-16 13:40:36 +0000458
Igor Sysoev02c8d182007-03-19 13:36:56 +0000459if [ $MAIL = YES ]; then
460 modules="$modules $MAIL_MODULES"
Igor Sysoev7b190b42005-06-07 15:56:31 +0000461
Igor Sysoev02c8d182007-03-19 13:36:56 +0000462 if [ $MAIL_SSL = YES ]; then
463 modules="$modules $MAIL_SSL_MODULE"
Igor Sysoev48714082007-09-15 16:51:16 +0000464 MAIL_DEPS="$MAIL_DEPS $MAIL_SSL_DEPS"
465 MAIL_SRCS="$MAIL_SRCS $MAIL_SSL_SRCS"
466 fi
467
468 if [ $MAIL_POP3 = YES ]; then
469 modules="$modules $MAIL_POP3_MODULE"
470 MAIL_DEPS="$MAIL_DEPS $MAIL_POP3_DEPS"
471 MAIL_SRCS="$MAIL_SRCS $MAIL_POP3_SRCS"
472 fi
473
474 if [ $MAIL_IMAP = YES ]; then
475 modules="$modules $MAIL_IMAP_MODULE"
476 MAIL_DEPS="$MAIL_DEPS $MAIL_IMAP_DEPS"
477 MAIL_SRCS="$MAIL_SRCS $MAIL_IMAP_SRCS"
478 fi
479
480 if [ $MAIL_SMTP = YES ]; then
481 modules="$modules $MAIL_SMTP_MODULE"
482 MAIL_DEPS="$MAIL_DEPS $MAIL_SMTP_DEPS"
483 MAIL_SRCS="$MAIL_SRCS $MAIL_SMTP_SRCS"
Igor Sysoevceb99292005-09-06 16:09:32 +0000484 fi
485
Igor Sysoev02c8d182007-03-19 13:36:56 +0000486 modules="$modules $MAIL_AUTH_HTTP_MODULE"
487 MAIL_SRCS="$MAIL_SRCS $MAIL_AUTH_HTTP_SRCS"
Igor Sysoev7b190b42005-06-07 15:56:31 +0000488
Igor Sysoev02c8d182007-03-19 13:36:56 +0000489 modules="$modules $MAIL_PROXY_MODULE"
490 MAIL_SRCS="$MAIL_SRCS $MAIL_PROXY_SRCS"
Maxim Douninf86169a2013-09-30 22:09:54 +0400491
492 NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(MAIL_DEPS)"
Igor Sysoev59cf56c2004-09-07 15:29:22 +0000493fi
494
Igor Sysoevab9d5fd2004-03-05 08:34:24 +0000495
Igor Sysoev85dd8fc2008-03-18 10:36:27 +0000496if [ $NGX_GOOGLE_PERFTOOLS = YES ]; then
497 modules="$modules $NGX_GOOGLE_PERFTOOLS_MODULE"
498 NGX_MISC_SRCS="$NGX_MISC_SRCS $NGX_GOOGLE_PERFTOOLS_SRCS"
499fi
500
501
Igor Sysoev49f06852008-08-13 08:29:27 +0000502if [ $NGX_CPP_TEST = YES ]; then
Igor Sysoeve24b57a2008-08-05 19:32:50 +0000503 NGX_MISC_SRCS="$NGX_MISC_SRCS $NGX_CPP_TEST_SRCS"
Valentin Bartenev430ab812012-05-17 15:12:45 +0000504 CORE_LIBS="$CORE_LIBS -lstdc++"
Igor Sysoeve24b57a2008-08-05 19:32:50 +0000505fi
506
507
Igor Sysoev1b735832004-11-11 14:07:14 +0000508cat << END > $NGX_MODULES_C
509
510#include <ngx_config.h>
511#include <ngx_core.h>
512
513$NGX_PRAGMA
514
515END
Igor Sysoevab9d5fd2004-03-05 08:34:24 +0000516
517for mod in $modules
518do
519 echo "extern ngx_module_t $mod;" >> $NGX_MODULES_C
520done
521
522echo >> $NGX_MODULES_C
523echo 'ngx_module_t *ngx_modules[] = {' >> $NGX_MODULES_C
524
525for mod in $modules
526do
527 echo " &$mod," >> $NGX_MODULES_C
528done
529
Igor Sysoev1b735832004-11-11 14:07:14 +0000530cat << END >> $NGX_MODULES_C
531 NULL
532};
533
534END