blob: 02a5bdf530799c7a11149d5926c211ed694cdf81 [file] [log] [blame]
Igor Sysoeva4b16df2004-02-02 21:19:52 +00001
Igor Sysoevff8da912004-09-29 16:00:49 +00002# Copyright (C) Igor Sysoev
3
4
Igor Sysoeve9b2cb12004-02-09 20:47:18 +00005if [ $EVENT_SELECT = NO -a $EVENT_FOUND = NO ]; then
6 EVENT_SELECT=YES
7fi
8
9if [ $EVENT_SELECT = YES ]; then
Igor Sysoevf6906042004-11-25 16:17:31 +000010 have=NGX_HAVE_SELECT . auto/have
Igor Sysoeve9b2cb12004-02-09 20:47:18 +000011 CORE_SRCS="$CORE_SRCS $SELECT_SRCS"
12 EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE"
13fi
14
15
16if [ $EVENT_POLL = NO -a $EVENT_FOUND = NO ]; then
17 EVENT_POLL=YES
18fi
19
20if [ $EVENT_POLL = YES ]; then
Igor Sysoevf6906042004-11-25 16:17:31 +000021 have=NGX_HAVE_POLL . auto/have
Igor Sysoeve9b2cb12004-02-09 20:47:18 +000022 CORE_SRCS="$CORE_SRCS $POLL_SRCS"
23 EVENT_MODULES="$EVENT_MODULES $POLL_MODULE"
24fi
25
26
Igor Sysoevf6906042004-11-25 16:17:31 +000027if [ $NGX_TEST_BUILD_DEVPOLL = YES ]; then
28 have=NGX_HAVE_DEVPOLL . auto/have
29 have=NGX_TEST_BUILD_DEVPOLL . auto/have
Igor Sysoeve9b2cb12004-02-09 20:47:18 +000030 EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE"
31 CORE_SRCS="$CORE_SRCS $DEVPOLL_SRCS"
32fi
33
Igor Sysoev4524fb02006-09-26 12:20:12 +000034
35if [ $NGX_TEST_BUILD_EVENTPORT = YES ]; then
36 have=NGX_HAVE_EVENTPORT . auto/have
37 have=NGX_TEST_BUILD_EVENTPORT . auto/have
38 EVENT_MODULES="$EVENT_MODULES $EVENTPORT_MODULE"
39 CORE_SRCS="$CORE_SRCS $EVENTPORT_SRCS"
40fi
41
Igor Sysoevf6906042004-11-25 16:17:31 +000042if [ $NGX_TEST_BUILD_EPOLL = YES ]; then
43 have=NGX_HAVE_EPOLL . auto/have
Igor Sysoeva9625062009-08-28 08:12:35 +000044 have=NGX_HAVE_EVENTFD . auto/have
Igor Sysoevf6906042004-11-25 16:17:31 +000045 have=NGX_TEST_BUILD_EPOLL . auto/have
Igor Sysoeve9b2cb12004-02-09 20:47:18 +000046 EVENT_MODULES="$EVENT_MODULES $EPOLL_MODULE"
47 CORE_SRCS="$CORE_SRCS $EPOLL_SRCS"
48fi
49
Igor Sysoevf6906042004-11-25 16:17:31 +000050if [ $NGX_TEST_BUILD_RTSIG = YES ]; then
51 have=NGX_HAVE_RTSIG . auto/have
52 have=NGX_TEST_BUILD_RTSIG . auto/have
Igor Sysoev9139cd22004-02-17 17:53:12 +000053 EVENT_MODULES="$EVENT_MODULES $RTSIG_MODULE"
54 CORE_SRCS="$CORE_SRCS $RTSIG_SRCS"
Igor Sysoeve9b2cb12004-02-09 20:47:18 +000055fi
56
Igor Sysoev42b12b32004-12-02 18:40:46 +000057if [ $NGX_TEST_BUILD_SOLARIS_SENDFILEV = YES ]; then
58 have=NGX_TEST_BUILD_SOLARIS_SENDFILEV . auto/have
59 CORE_SRCS="$CORE_SRCS $SOLARIS_SENDFILEV_SRCS"
60fi
61
Igor Sysoeve9b2cb12004-02-09 20:47:18 +000062
Igor Sysoev7b190b42005-06-07 15:56:31 +000063if [ $HTTP != YES ]; then
64 have=NGX_CRYPT . auto/nohave
65 CRYPT_LIB=
66fi
67
68
Igor Sysoev52859f22009-03-23 13:14:51 +000069if [ $HTTP_CACHE = YES ]; then
70 USE_MD5=YES
71 have=NGX_HTTP_CACHE . auto/have
72 HTTP_SRCS="$HTTP_SRCS $HTTP_FILE_CACHE_SRCS"
73fi
74
75
Igor Sysoev899b44e2005-05-12 14:58:06 +000076if [ $HTTP_SSI = YES ]; then
77 HTTP_POSTPONE=YES
78fi
79
Igor Sysoev7f7846d2006-04-26 09:52:47 +000080
81if [ $HTTP_ADDITION = YES ]; then
82 HTTP_POSTPONE=YES
83fi
84
85
Igor Sysoeve5733802005-09-08 14:36:09 +000086# the module order is important
Igor Sysoev1ae389d2008-08-04 14:48:15 +000087# ngx_http_static_module
88# ngx_http_gzip_static_module
89# ngx_http_dav_module
Igor Sysoeve5733802005-09-08 14:36:09 +000090# ngx_http_autoindex_module
91# ngx_http_index_module
Igor Sysoev2e2b81d2008-09-05 15:45:55 +000092# ngx_http_random_index_module
Igor Sysoeve5733802005-09-08 14:36:09 +000093#
Igor Sysoev0e5dc5c2005-11-15 13:30:52 +000094# ngx_http_access_module
95# ngx_http_realip_module
96#
Igor Sysoeve5733802005-09-08 14:36:09 +000097#
Igor Sysoev7823cc32004-07-14 16:01:42 +000098# the filter order is important
99# ngx_http_write_filter
Igor Sysoev7823cc32004-07-14 16:01:42 +0000100# ngx_http_header_filter
101# ngx_http_chunked_filter
102# ngx_http_range_header_filter
103# ngx_http_gzip_filter
Igor Sysoev899b44e2005-05-12 14:58:06 +0000104# ngx_http_postpone_filter
Igor Sysoev7823cc32004-07-14 16:01:42 +0000105# ngx_http_ssi_filter
Igor Sysoev5cc7eaa2010-04-01 10:19:02 +0000106# ngx_http_charset_filter
Igor Sysoev1ae389d2008-08-04 14:48:15 +0000107# ngx_http_xslt_filter
Igor Sysoeva40c3952010-03-30 15:04:41 +0000108# ngx_http_image_filter
Igor Sysoev1ae389d2008-08-04 14:48:15 +0000109# ngx_http_sub_filter
Igor Sysoev6d16e1e2006-04-05 13:40:54 +0000110# ngx_http_addition_filter
Igor Sysoeve5733802005-09-08 14:36:09 +0000111# ngx_http_userid_filter
112# ngx_http_headers_filter
Igor Sysoev7823cc32004-07-14 16:01:42 +0000113# ngx_http_copy_filter
114# ngx_http_range_body_filter
115# ngx_http_not_modified_filter
116
Igor Sysoev4aa88882004-07-14 20:07:58 +0000117HTTP_FILTER_MODULES="$HTTP_WRITE_FILTER_MODULE \
118 $HTTP_HEADER_FILTER_MODULE \
119 $HTTP_CHUNKED_FILTER_MODULE \
120 $HTTP_RANGE_HEADER_FILTER_MODULE"
Igor Sysoev7823cc32004-07-14 16:01:42 +0000121
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000122if [ $HTTP_GZIP = YES ]; then
Igor Sysoeva893eab2004-03-11 21:34:52 +0000123 have=NGX_HTTP_GZIP . auto/have
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000124 USE_ZLIB=YES
125 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_GZIP_FILTER_MODULE"
126 HTTP_SRCS="$HTTP_SRCS $HTTP_GZIP_SRCS"
127fi
128
Igor Sysoev899b44e2005-05-12 14:58:06 +0000129if [ $HTTP_POSTPONE = YES ]; then
130 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_POSTPONE_FILTER_MODULE"
Igor Sysoev6b0de802008-03-12 21:10:48 +0000131 HTTP_SRCS="$HTTP_SRCS $HTTP_POSTPONE_FILTER_SRCS"
Igor Sysoev899b44e2005-05-12 14:58:06 +0000132fi
133
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000134if [ $HTTP_SSI = YES ]; then
Igor Sysoeva893eab2004-03-11 21:34:52 +0000135 have=NGX_HTTP_SSI . auto/have
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000136 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_SSI_FILTER_MODULE"
Igor Sysoevdf3254a2006-01-11 15:26:57 +0000137 HTTP_DEPS="$HTTP_DEPS $HTTP_SSI_DEPS"
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000138 HTTP_SRCS="$HTTP_SRCS $HTTP_SSI_SRCS"
139fi
140
Igor Sysoev5cc7eaa2010-04-01 10:19:02 +0000141if [ $HTTP_CHARSET = YES ]; then
Igor Sysoev5cc7eaa2010-04-01 10:19:02 +0000142 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_CHARSET_FILTER_MODULE"
143 HTTP_SRCS="$HTTP_SRCS $HTTP_CHARSET_SRCS"
144fi
145
Igor Sysoev1ae389d2008-08-04 14:48:15 +0000146if [ $HTTP_XSLT = YES ]; then
147 USE_LIBXSLT=YES
148 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_XSLT_FILTER_MODULE"
149 HTTP_SRCS="$HTTP_SRCS $HTTP_XSLT_SRCS"
150fi
151
Igor Sysoeve2ada612009-05-01 18:42:09 +0000152if [ $HTTP_IMAGE_FILTER = YES ]; then
153 USE_LIBGD=YES
154 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_IMAGE_FILTER_MODULE"
155 HTTP_SRCS="$HTTP_SRCS $HTTP_IMAGE_SRCS"
156fi
157
Igor Sysoevd9bb8e32007-04-19 17:54:23 +0000158if [ $HTTP_SUB = YES ]; then
159 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_SUB_FILTER_MODULE"
160 HTTP_SRCS="$HTTP_SRCS $HTTP_SUB_SRCS"
161fi
162
Igor Sysoev6d16e1e2006-04-05 13:40:54 +0000163if [ $HTTP_ADDITION = YES ]; then
164 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_ADDITION_FILTER_MODULE"
165 HTTP_SRCS="$HTTP_SRCS $HTTP_ADDITION_SRCS"
166fi
167
Igor Sysoeva7c4a2a2004-08-29 03:55:41 +0000168if [ $HTTP_USERID = YES ]; then
169 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_USERID_FILTER_MODULE"
170 HTTP_SRCS="$HTTP_SRCS $HTTP_USERID_SRCS"
171fi
172
Igor Sysoev723e6cc2004-10-25 15:29:23 +0000173HTTP_MODULES="$HTTP_MODULES $HTTP_STATIC_MODULE"
174
Igor Sysoeve19a5f92007-12-29 08:38:42 +0000175if [ $HTTP_GZIP_STATIC = YES ]; then
176 have=NGX_HTTP_GZIP . auto/have
177 HTTP_MODULES="$HTTP_MODULES $HTTP_GZIP_STATIC_MODULE"
178 HTTP_SRCS="$HTTP_SRCS $HTTP_GZIP_STATIC_SRCS"
179fi
180
Igor Sysoev8a2b2fb2006-04-14 09:53:38 +0000181if [ $HTTP_DAV = YES ]; then
Igor Sysoev7bdb7202006-04-19 15:30:56 +0000182 have=NGX_HTTP_DAV . auto/have
Igor Sysoev8a2b2fb2006-04-14 09:53:38 +0000183 HTTP_MODULES="$HTTP_MODULES $HTTP_DAV_MODULE"
184 HTTP_SRCS="$HTTP_SRCS $HTTP_DAV_SRCS"
185fi
186
Igor Sysoev723e6cc2004-10-25 15:29:23 +0000187if [ $HTTP_AUTOINDEX = YES ]; then
Igor Sysoev723e6cc2004-10-25 15:29:23 +0000188 HTTP_MODULES="$HTTP_MODULES $HTTP_AUTOINDEX_MODULE"
189 HTTP_SRCS="$HTTP_SRCS $HTTP_AUTOINDEX_SRCS"
190fi
191
192HTTP_MODULES="$HTTP_MODULES $HTTP_INDEX_MODULE"
Igor Sysoev3d5c0fc2004-06-22 16:43:09 +0000193
Igor Sysoev2e2b81d2008-09-05 15:45:55 +0000194if [ $HTTP_RANDOM_INDEX = YES ]; then
Igor Sysoev2e2b81d2008-09-05 15:45:55 +0000195 HTTP_MODULES="$HTTP_MODULES $HTTP_RANDOM_INDEX_MODULE"
196 HTTP_SRCS="$HTTP_SRCS $HTTP_RANDOM_INDEX_SRCS"
197fi
198
Igor Sysoev4d656dc2005-03-22 16:02:46 +0000199if [ $HTTP_AUTH_BASIC = YES ]; then
Igor Sysoev4d656dc2005-03-22 16:02:46 +0000200 have=NGX_CRYPT . auto/have
201 HTTP_MODULES="$HTTP_MODULES $HTTP_AUTH_BASIC_MODULE"
202 HTTP_SRCS="$HTTP_SRCS $HTTP_AUTH_BASIC_SRCS"
203 CORE_LIBS="$CORE_LIBS $CRYPT_LIB"
204fi
205
Igor Sysoev59f3aa32004-06-24 16:07:04 +0000206if [ $HTTP_ACCESS = YES ]; then
Igor Sysoev59f3aa32004-06-24 16:07:04 +0000207 HTTP_MODULES="$HTTP_MODULES $HTTP_ACCESS_MODULE"
208 HTTP_SRCS="$HTTP_SRCS $HTTP_ACCESS_SRCS"
209fi
210
Igor Sysoev684f9552007-01-07 18:09:58 +0000211if [ $HTTP_LIMIT_ZONE = YES ]; then
212 HTTP_MODULES="$HTTP_MODULES $HTTP_LIMIT_ZONE_MODULE"
213 HTTP_SRCS="$HTTP_SRCS $HTTP_LIMIT_ZONE_SRCS"
214fi
215
Igor Sysoevabe378e2008-11-10 15:22:33 +0000216if [ $HTTP_LIMIT_REQ = YES ]; then
217 HTTP_MODULES="$HTTP_MODULES $HTTP_LIMIT_REQ_MODULE"
218 HTTP_SRCS="$HTTP_SRCS $HTTP_LIMIT_REQ_SRCS"
219fi
220
Igor Sysoev09c684b2005-11-09 17:25:55 +0000221if [ $HTTP_REALIP = YES ]; then
222 have=NGX_HTTP_REALIP . auto/have
223 HTTP_MODULES="$HTTP_MODULES $HTTP_REALIP_MODULE"
224 HTTP_SRCS="$HTTP_SRCS $HTTP_REALIP_SRCS"
225fi
226
Igor Sysoevc83f6832004-06-24 07:53:37 +0000227if [ $HTTP_STATUS = YES ]; then
Igor Sysoevc83f6832004-06-24 07:53:37 +0000228 HTTP_MODULES="$HTTP_MODULES $HTTP_STATUS_MODULE"
229 HTTP_SRCS="$HTTP_SRCS $HTTP_STATUS_SRCS"
230fi
231
Igor Sysoev805d9db2005-02-03 19:33:37 +0000232if [ $HTTP_GEO = YES ]; then
233 have=NGX_HTTP_GEO . auto/have
234 HTTP_MODULES="$HTTP_MODULES $HTTP_GEO_MODULE"
235 HTTP_SRCS="$HTTP_SRCS $HTTP_GEO_SRCS"
236fi
237
Igor Sysoevbc101472009-07-20 07:10:43 +0000238if [ $HTTP_GEOIP = YES ]; then
Igor Sysoevbc101472009-07-20 07:10:43 +0000239 HTTP_MODULES="$HTTP_MODULES $HTTP_GEOIP_MODULE"
240 HTTP_SRCS="$HTTP_SRCS $HTTP_GEOIP_SRCS"
241fi
242
Igor Sysoev24025022005-12-16 15:07:08 +0000243if [ $HTTP_MAP = YES ]; then
Igor Sysoev24025022005-12-16 15:07:08 +0000244 HTTP_MODULES="$HTTP_MODULES $HTTP_MAP_MODULE"
245 HTTP_SRCS="$HTTP_SRCS $HTTP_MAP_SRCS"
246fi
247
Igor Sysoevfadd4bd2010-05-14 09:02:10 +0000248if [ $HTTP_SPLIT_CLIENTS = YES ]; then
249 HTTP_MODULES="$HTTP_MODULES $HTTP_SPLIT_CLIENTS_MODULE"
250 HTTP_SRCS="$HTTP_SRCS $HTTP_SPLIT_CLIENTS_SRCS"
251fi
252
Igor Sysoev0e5dc5c2005-11-15 13:30:52 +0000253if [ $HTTP_REFERER = YES ]; then
254 HTTP_MODULES="$HTTP_MODULES $HTTP_REFERER_MODULE"
255 HTTP_SRCS="$HTTP_SRCS $HTTP_REFERER_SRCS"
256fi
257
Igor Sysoev3d5c0fc2004-06-22 16:43:09 +0000258if [ $HTTP_REWRITE = YES -a $USE_PCRE != DISABLED ]; then
Igor Sysoev3d5c0fc2004-06-22 16:43:09 +0000259 USE_PCRE=YES
260 HTTP_MODULES="$HTTP_MODULES $HTTP_REWRITE_MODULE"
261 HTTP_SRCS="$HTTP_SRCS $HTTP_REWRITE_SRCS"
262fi
263
Igor Sysoevf38e0462004-07-16 17:11:43 +0000264if [ $HTTP_SSL = YES ]; then
Igor Sysoev0599b112004-07-25 18:34:14 +0000265 USE_OPENSSL=YES
266 have=NGX_HTTP_SSL . auto/have
Igor Sysoevf38e0462004-07-16 17:11:43 +0000267 HTTP_MODULES="$HTTP_MODULES $HTTP_SSL_MODULE"
268 HTTP_DEPS="$HTTP_DEPS $HTTP_SSL_DEPS"
269 HTTP_SRCS="$HTTP_SRCS $HTTP_SSL_SRCS"
Igor Sysoevf38e0462004-07-16 17:11:43 +0000270fi
271
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000272if [ $HTTP_PROXY = YES ]; then
Igor Sysoeva893eab2004-03-11 21:34:52 +0000273 have=NGX_HTTP_PROXY . auto/have
Igor Sysoev0bc87e92004-09-30 15:30:54 +0000274 #USE_MD5=YES
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000275 HTTP_MODULES="$HTTP_MODULES $HTTP_PROXY_MODULE"
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000276 HTTP_DEPS="$HTTP_DEPS $HTTP_PROXY_DEPS"
277 HTTP_SRCS="$HTTP_SRCS $HTTP_PROXY_SRCS"
278fi
Igor Sysoevab9d5fd2004-03-05 08:34:24 +0000279
Igor Sysoev02025fd2005-01-18 13:03:58 +0000280if [ $HTTP_FASTCGI = YES ]; then
281 HTTP_MODULES="$HTTP_MODULES $HTTP_FASTCGI_MODULE"
282 HTTP_SRCS="$HTTP_SRCS $HTTP_FASTCGI_SRCS"
283fi
284
Igor Sysoev9bf11aa2006-01-16 14:56:53 +0000285if [ $HTTP_PERL = YES ]; then
286 USE_PERL=YES
Igor Sysoev9bf11aa2006-01-16 14:56:53 +0000287 HTTP_MODULES="$HTTP_MODULES $HTTP_PERL_MODULE"
288 HTTP_INCS="$HTTP_INCS $HTTP_PERL_INCS"
289 HTTP_DEPS="$HTTP_DEPS $HTTP_PERL_DEPS"
290 HTTP_SRCS="$HTTP_SRCS $HTTP_PERL_SRCS"
291fi
292
Igor Sysoevc31a9bb2005-11-26 10:11:11 +0000293if [ $HTTP_MEMCACHED = YES ]; then
294 HTTP_MODULES="$HTTP_MODULES $HTTP_MEMCACHED_MODULE"
295 HTTP_SRCS="$HTTP_SRCS $HTTP_MEMCACHED_SRCS"
296fi
297
Igor Sysoev0e5dc5c2005-11-15 13:30:52 +0000298if [ $HTTP_EMPTY_GIF = YES ]; then
299 HTTP_MODULES="$HTTP_MODULES $HTTP_EMPTY_GIF_MODULE"
300 HTTP_SRCS="$HTTP_SRCS $HTTP_EMPTY_GIF_SRCS"
301fi
302
Igor Sysoev3383ff62006-09-18 12:25:07 +0000303if [ $HTTP_BROWSER = YES ]; then
304 HTTP_MODULES="$HTTP_MODULES $HTTP_BROWSER_MODULE"
305 HTTP_SRCS="$HTTP_SRCS $HTTP_BROWSER_SRCS"
306fi
307
Igor Sysoeve52991e2008-09-27 13:22:10 +0000308if [ $HTTP_SECURE_LINK = YES ]; then
309 USE_MD5=YES
310 HTTP_MODULES="$HTTP_MODULES $HTTP_SECURE_LINK_MODULE"
311 HTTP_SRCS="$HTTP_SRCS $HTTP_SECURE_LINK_SRCS"
312fi
313
Igor Sysoev49851092009-11-16 12:20:00 +0000314if [ $HTTP_DEGRADATION = YES ]; then
315 HTTP_MODULES="$HTTP_MODULES $HTTP_DEGRADATION_MODULE"
316 HTTP_SRCS="$HTTP_SRCS $HTTP_DEGRADATION_SRCS"
317fi
318
Igor Sysoevb5050062006-10-09 14:17:36 +0000319if [ $HTTP_FLV = YES ]; then
320 HTTP_MODULES="$HTTP_MODULES $HTTP_FLV_MODULE"
321 HTTP_SRCS="$HTTP_SRCS $HTTP_FLV_SRCS"
322fi
323
Igor Sysoev3d2fd182006-12-04 16:46:13 +0000324if [ $HTTP_UPSTREAM_IP_HASH = YES ]; then
325 HTTP_MODULES="$HTTP_MODULES $HTTP_UPSTREAM_IP_HASH_MODULE"
326 HTTP_SRCS="$HTTP_SRCS $HTTP_UPSTREAM_IP_HASH_SRCS"
327fi
328
Igor Sysoevaa828612005-02-09 14:31:07 +0000329if [ $HTTP_STUB_STATUS = YES ]; then
330 have=NGX_STAT_STUB . auto/have
331 HTTP_MODULES="$HTTP_MODULES ngx_http_stub_status_module"
332 HTTP_SRCS="$HTTP_SRCS src/http/modules/ngx_http_stub_status_module.c"
333fi
334
Igor Sysoev1ebfead2005-02-16 13:40:36 +0000335#if [ -r $NGX_OBJS/auto ]; then
336# . $NGX_OBJS/auto
337#fi
338
339
340if test -n "$NGX_ADDONS"; then
341
342 echo configuring additional modules
343
344 for ngx_addon_dir in $NGX_ADDONS
345 do
346 echo "adding module in $ngx_addon_dir"
347
348 if test -f $ngx_addon_dir/config; then
349 . $ngx_addon_dir/config
350
351 echo " + $ngx_addon_name was configured"
352
353 else
354 echo "$0: error: no $ngx_addon_dir/config was found"
355 exit 1
356 fi
357 done
Igor Sysoevab517d52004-05-18 15:29:08 +0000358fi
Igor Sysoevab9d5fd2004-03-05 08:34:24 +0000359
Igor Sysoev1ebfead2005-02-16 13:40:36 +0000360
Igor Sysoev02c8d182007-03-19 13:36:56 +0000361if [ $MAIL_SSL = YES ]; then
Igor Sysoev02c8d182007-03-19 13:36:56 +0000362 have=NGX_MAIL_SSL . auto/have
Igor Sysoeve5733802005-09-08 14:36:09 +0000363 USE_OPENSSL=YES
364fi
365
366
Igor Sysoev980a9242004-09-05 19:54:02 +0000367modules="$CORE_MODULES $EVENT_MODULES"
368
Igor Sysoeve5733802005-09-08 14:36:09 +0000369
370if [ $USE_OPENSSL = YES ]; then
371 modules="$modules $OPENSSL_MODULE"
372 CORE_DEPS="$CORE_DEPS $OPENSSL_DEPS"
373 CORE_SRCS="$CORE_SRCS $OPENSSL_SRCS"
374fi
375
Igor Sysoev980a9242004-09-05 19:54:02 +0000376if [ $HTTP = YES ]; then
377 modules="$modules $HTTP_MODULES $HTTP_FILTER_MODULES \
378 $HTTP_HEADERS_FILTER_MODULE \
Igor Sysoev0e5dc5c2005-11-15 13:30:52 +0000379 $HTTP_AUX_FILTER_MODULES \
Igor Sysoev980a9242004-09-05 19:54:02 +0000380 $HTTP_COPY_FILTER_MODULE \
381 $HTTP_RANGE_BODY_FILTER_MODULE \
382 $HTTP_NOT_MODIFIED_FILTER_MODULE"
Igor Sysoev1ebfead2005-02-16 13:40:36 +0000383
384 NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(HTTP_DEPS)"
Igor Sysoev980a9242004-09-05 19:54:02 +0000385fi
Igor Sysoevab9d5fd2004-03-05 08:34:24 +0000386
Igor Sysoev1ebfead2005-02-16 13:40:36 +0000387
Igor Sysoev02c8d182007-03-19 13:36:56 +0000388if [ $MAIL = YES ]; then
389 modules="$modules $MAIL_MODULES"
Igor Sysoev7b190b42005-06-07 15:56:31 +0000390
Igor Sysoev02c8d182007-03-19 13:36:56 +0000391 if [ $MAIL_SSL = YES ]; then
392 modules="$modules $MAIL_SSL_MODULE"
Igor Sysoev48714082007-09-15 16:51:16 +0000393 MAIL_DEPS="$MAIL_DEPS $MAIL_SSL_DEPS"
394 MAIL_SRCS="$MAIL_SRCS $MAIL_SSL_SRCS"
395 fi
396
397 if [ $MAIL_POP3 = YES ]; then
398 modules="$modules $MAIL_POP3_MODULE"
399 MAIL_DEPS="$MAIL_DEPS $MAIL_POP3_DEPS"
400 MAIL_SRCS="$MAIL_SRCS $MAIL_POP3_SRCS"
401 fi
402
403 if [ $MAIL_IMAP = YES ]; then
404 modules="$modules $MAIL_IMAP_MODULE"
405 MAIL_DEPS="$MAIL_DEPS $MAIL_IMAP_DEPS"
406 MAIL_SRCS="$MAIL_SRCS $MAIL_IMAP_SRCS"
407 fi
408
409 if [ $MAIL_SMTP = YES ]; then
410 modules="$modules $MAIL_SMTP_MODULE"
411 MAIL_DEPS="$MAIL_DEPS $MAIL_SMTP_DEPS"
412 MAIL_SRCS="$MAIL_SRCS $MAIL_SMTP_SRCS"
Igor Sysoevceb99292005-09-06 16:09:32 +0000413 fi
414
Igor Sysoev02c8d182007-03-19 13:36:56 +0000415 modules="$modules $MAIL_AUTH_HTTP_MODULE"
416 MAIL_SRCS="$MAIL_SRCS $MAIL_AUTH_HTTP_SRCS"
Igor Sysoev7b190b42005-06-07 15:56:31 +0000417
Igor Sysoev02c8d182007-03-19 13:36:56 +0000418 modules="$modules $MAIL_PROXY_MODULE"
419 MAIL_SRCS="$MAIL_SRCS $MAIL_PROXY_SRCS"
Igor Sysoev59cf56c2004-09-07 15:29:22 +0000420fi
421
Igor Sysoevab9d5fd2004-03-05 08:34:24 +0000422
Igor Sysoev85dd8fc2008-03-18 10:36:27 +0000423if [ $NGX_GOOGLE_PERFTOOLS = YES ]; then
424 modules="$modules $NGX_GOOGLE_PERFTOOLS_MODULE"
425 NGX_MISC_SRCS="$NGX_MISC_SRCS $NGX_GOOGLE_PERFTOOLS_SRCS"
426fi
427
428
Igor Sysoev49f06852008-08-13 08:29:27 +0000429if [ $NGX_CPP_TEST = YES ]; then
Igor Sysoeve24b57a2008-08-05 19:32:50 +0000430 NGX_MISC_SRCS="$NGX_MISC_SRCS $NGX_CPP_TEST_SRCS"
431fi
432
433
Igor Sysoev1b735832004-11-11 14:07:14 +0000434cat << END > $NGX_MODULES_C
435
436#include <ngx_config.h>
437#include <ngx_core.h>
438
439$NGX_PRAGMA
440
441END
Igor Sysoevab9d5fd2004-03-05 08:34:24 +0000442
443for mod in $modules
444do
445 echo "extern ngx_module_t $mod;" >> $NGX_MODULES_C
446done
447
448echo >> $NGX_MODULES_C
449echo 'ngx_module_t *ngx_modules[] = {' >> $NGX_MODULES_C
450
451for mod in $modules
452do
453 echo " &$mod," >> $NGX_MODULES_C
454done
455
Igor Sysoev1b735832004-11-11 14:07:14 +0000456cat << END >> $NGX_MODULES_C
457 NULL
458};
459
460END