Update and clean Tomato RAF files
[tomato.git] / release / src / router / nginx / auto / modules
bloba78e785e5c0d1e139a7ec15e541d064d46222f19
2 # Copyright (C) Igor Sysoev
3 # Copyright (C) Nginx, Inc.
6 if [ $EVENT_SELECT = NO -a $EVENT_FOUND = NO ]; then
7     EVENT_SELECT=YES
8 fi
10 if [ $EVENT_SELECT = YES ]; then
11     have=NGX_HAVE_SELECT . auto/have
12     CORE_SRCS="$CORE_SRCS $SELECT_SRCS"
13     EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE"
17 if [ $EVENT_POLL = NO -a $EVENT_FOUND = NO ]; then
18     EVENT_POLL=YES
21 if [ $EVENT_POLL = YES ]; then
22     have=NGX_HAVE_POLL . auto/have
23     CORE_SRCS="$CORE_SRCS $POLL_SRCS"
24     EVENT_MODULES="$EVENT_MODULES $POLL_MODULE"
28 if [ $NGX_TEST_BUILD_DEVPOLL = YES ]; then
29     have=NGX_HAVE_DEVPOLL . auto/have
30     have=NGX_TEST_BUILD_DEVPOLL . auto/have
31     EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE"
32     CORE_SRCS="$CORE_SRCS $DEVPOLL_SRCS"
36 if [ $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"
43 if [ $NGX_TEST_BUILD_EPOLL = YES ]; then
44     have=NGX_HAVE_EPOLL . auto/have
45     have=NGX_HAVE_EVENTFD . auto/have
46     have=NGX_TEST_BUILD_EPOLL . auto/have
47     EVENT_MODULES="$EVENT_MODULES $EPOLL_MODULE"
48     CORE_SRCS="$CORE_SRCS $EPOLL_SRCS"
51 if [ $NGX_TEST_BUILD_RTSIG = YES ]; then
52     have=NGX_HAVE_RTSIG . auto/have
53     have=NGX_TEST_BUILD_RTSIG . auto/have
54     EVENT_MODULES="$EVENT_MODULES $RTSIG_MODULE"
55     CORE_SRCS="$CORE_SRCS $RTSIG_SRCS"
58 if [ $NGX_TEST_BUILD_SOLARIS_SENDFILEV = YES ]; then
59     have=NGX_TEST_BUILD_SOLARIS_SENDFILEV . auto/have
60     CORE_SRCS="$CORE_SRCS $SOLARIS_SENDFILEV_SRCS"
64 if [ $HTTP != YES ]; then
65     have=NGX_CRYPT . auto/nohave
66     CRYPT_LIB=
70 if [ $HTTP_CACHE = YES ]; then
71     USE_MD5=YES
72     have=NGX_HTTP_CACHE . auto/have
73     HTTP_SRCS="$HTTP_SRCS $HTTP_FILE_CACHE_SRCS"
77 if [ $HTTP_SSI = YES ]; then
78     HTTP_POSTPONE=YES
82 if [ $HTTP_ADDITION = YES ]; then
83     HTTP_POSTPONE=YES
87 # the module order is important
88 #     ngx_http_static_module
89 #     ngx_http_gzip_static_module
90 #     ngx_http_dav_module
91 #     ngx_http_autoindex_module
92 #     ngx_http_index_module
93 #     ngx_http_random_index_module
95 #     ngx_http_access_module
96 #     ngx_http_realip_module
99 # the filter order is important
100 #     ngx_http_write_filter
101 #     ngx_http_header_filter
102 #     ngx_http_chunked_filter
103 #     ngx_http_spdy_filter
104 #     ngx_http_range_header_filter
105 #     ngx_http_gzip_filter
106 #     ngx_http_postpone_filter
107 #     ngx_http_ssi_filter
108 #     ngx_http_charset_filter
109 #         ngx_http_xslt_filter
110 #         ngx_http_image_filter
111 #         ngx_http_sub_filter
112 #         ngx_http_addition_filter
113 #         ngx_http_gunzip_filter
114 #         ngx_http_userid_filter
115 #         ngx_http_headers_filter
116 #     ngx_http_copy_filter
117 #     ngx_http_range_body_filter
118 #     ngx_http_not_modified_filter
120 HTTP_FILTER_MODULES="$HTTP_WRITE_FILTER_MODULE \
121                      $HTTP_HEADER_FILTER_MODULE \
122                      $HTTP_CHUNKED_FILTER_MODULE"
124 if [ $HTTP_SPDY = YES ]; then
125     HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_SPDY_FILTER_MODULE"
128 HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_RANGE_HEADER_FILTER_MODULE"
130 if [ $HTTP_GZIP = YES ]; then
131     have=NGX_HTTP_GZIP . auto/have
132     USE_ZLIB=YES
133     HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_GZIP_FILTER_MODULE"
134     HTTP_SRCS="$HTTP_SRCS $HTTP_GZIP_SRCS"
137 if [ $HTTP_POSTPONE = YES ]; then
138     HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_POSTPONE_FILTER_MODULE"
139     HTTP_SRCS="$HTTP_SRCS $HTTP_POSTPONE_FILTER_SRCS"
142 if [ $HTTP_SSI = YES ]; then
143     have=NGX_HTTP_SSI . auto/have
144     HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_SSI_FILTER_MODULE"
145     HTTP_DEPS="$HTTP_DEPS $HTTP_SSI_DEPS"
146     HTTP_SRCS="$HTTP_SRCS $HTTP_SSI_SRCS"
149 if [ $HTTP_CHARSET = YES ]; then
150     HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_CHARSET_FILTER_MODULE"
151     HTTP_SRCS="$HTTP_SRCS $HTTP_CHARSET_SRCS"
154 if [ $HTTP_XSLT = YES ]; then
155     USE_LIBXSLT=YES
156     HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_XSLT_FILTER_MODULE"
157     HTTP_SRCS="$HTTP_SRCS $HTTP_XSLT_SRCS"
160 if [ $HTTP_IMAGE_FILTER = YES ]; then
161     USE_LIBGD=YES
162     HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_IMAGE_FILTER_MODULE"
163     HTTP_SRCS="$HTTP_SRCS $HTTP_IMAGE_SRCS"
166 if [ $HTTP_SUB = YES ]; then
167     HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_SUB_FILTER_MODULE"
168     HTTP_SRCS="$HTTP_SRCS $HTTP_SUB_SRCS"
171 if [ $HTTP_ADDITION = YES ]; then
172     HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_ADDITION_FILTER_MODULE"
173     HTTP_SRCS="$HTTP_SRCS $HTTP_ADDITION_SRCS"
176 if [ $HTTP_GUNZIP = YES ]; then
177     have=NGX_HTTP_GZIP . auto/have
178     USE_ZLIB=YES
179     HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_GUNZIP_FILTER_MODULE"
180     HTTP_SRCS="$HTTP_SRCS $HTTP_GUNZIP_SRCS"
183 if [ $HTTP_USERID = YES ]; then
184     HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_USERID_FILTER_MODULE"
185     HTTP_SRCS="$HTTP_SRCS $HTTP_USERID_SRCS"
189 if [ $HTTP_SPDY = YES ]; then
190     have=NGX_HTTP_SPDY . auto/have
191     USE_ZLIB=YES
192     HTTP_MODULES="$HTTP_MODULES $HTTP_SPDY_MODULE"
193     HTTP_DEPS="$HTTP_DEPS $HTTP_SPDY_DEPS"
194     HTTP_SRCS="$HTTP_SRCS $HTTP_SPDY_SRCS"
197 HTTP_MODULES="$HTTP_MODULES $HTTP_STATIC_MODULE"
199 if [ $HTTP_GZIP_STATIC = YES ]; then
200     have=NGX_HTTP_GZIP . auto/have
201     HTTP_MODULES="$HTTP_MODULES $HTTP_GZIP_STATIC_MODULE"
202     HTTP_SRCS="$HTTP_SRCS $HTTP_GZIP_STATIC_SRCS"
205 if [ $HTTP_DAV = YES ]; then
206     have=NGX_HTTP_DAV . auto/have
207     HTTP_MODULES="$HTTP_MODULES $HTTP_DAV_MODULE"
208     HTTP_SRCS="$HTTP_SRCS $HTTP_DAV_SRCS"
211 if [ $HTTP_AUTOINDEX = YES ]; then
212     HTTP_MODULES="$HTTP_MODULES $HTTP_AUTOINDEX_MODULE"
213     HTTP_SRCS="$HTTP_SRCS $HTTP_AUTOINDEX_SRCS"
216 HTTP_MODULES="$HTTP_MODULES $HTTP_INDEX_MODULE"
218 if [ $HTTP_RANDOM_INDEX = YES ]; then
219     HTTP_MODULES="$HTTP_MODULES $HTTP_RANDOM_INDEX_MODULE"
220     HTTP_SRCS="$HTTP_SRCS $HTTP_RANDOM_INDEX_SRCS"
223 if [ $HTTP_AUTH_BASIC = YES ]; then
224     USE_MD5=YES
225     USE_SHA1=YES
226     have=NGX_CRYPT . auto/have
227     HTTP_MODULES="$HTTP_MODULES $HTTP_AUTH_BASIC_MODULE"
228     HTTP_SRCS="$HTTP_SRCS $HTTP_AUTH_BASIC_SRCS"
229     CORE_LIBS="$CORE_LIBS $CRYPT_LIB"
232 if [ $HTTP_ACCESS = YES ]; then
233     HTTP_MODULES="$HTTP_MODULES $HTTP_ACCESS_MODULE"
234     HTTP_SRCS="$HTTP_SRCS $HTTP_ACCESS_SRCS"
237 if [ $HTTP_LIMIT_CONN = YES ]; then
238     HTTP_MODULES="$HTTP_MODULES $HTTP_LIMIT_CONN_MODULE"
239     HTTP_SRCS="$HTTP_SRCS $HTTP_LIMIT_CONN_SRCS"
242 if [ $HTTP_LIMIT_REQ = YES ]; then
243     HTTP_MODULES="$HTTP_MODULES $HTTP_LIMIT_REQ_MODULE"
244     HTTP_SRCS="$HTTP_SRCS $HTTP_LIMIT_REQ_SRCS"
247 if [ $HTTP_REALIP = YES ]; then
248     have=NGX_HTTP_REALIP . auto/have
249     have=NGX_HTTP_X_FORWARDED_FOR . auto/have
250     HTTP_MODULES="$HTTP_MODULES $HTTP_REALIP_MODULE"
251     HTTP_SRCS="$HTTP_SRCS $HTTP_REALIP_SRCS"
254 if [ $HTTP_STATUS = YES ]; then
255     HTTP_MODULES="$HTTP_MODULES $HTTP_STATUS_MODULE"
256     HTTP_SRCS="$HTTP_SRCS $HTTP_STATUS_SRCS"
259 if [ $HTTP_GEO = YES ]; then
260     have=NGX_HTTP_X_FORWARDED_FOR . auto/have
261     HTTP_MODULES="$HTTP_MODULES $HTTP_GEO_MODULE"
262     HTTP_SRCS="$HTTP_SRCS $HTTP_GEO_SRCS"
265 if [ $HTTP_GEOIP = YES ]; then
266     have=NGX_HTTP_X_FORWARDED_FOR . auto/have
267     HTTP_MODULES="$HTTP_MODULES $HTTP_GEOIP_MODULE"
268     HTTP_SRCS="$HTTP_SRCS $HTTP_GEOIP_SRCS"
271 if [ $HTTP_MAP = YES ]; then
272     HTTP_MODULES="$HTTP_MODULES $HTTP_MAP_MODULE"
273     HTTP_SRCS="$HTTP_SRCS $HTTP_MAP_SRCS"
276 if [ $HTTP_SPLIT_CLIENTS = YES ]; then
277     HTTP_MODULES="$HTTP_MODULES $HTTP_SPLIT_CLIENTS_MODULE"
278     HTTP_SRCS="$HTTP_SRCS $HTTP_SPLIT_CLIENTS_SRCS"
281 if [ $HTTP_REFERER = YES ]; then
282     HTTP_MODULES="$HTTP_MODULES $HTTP_REFERER_MODULE"
283     HTTP_SRCS="$HTTP_SRCS $HTTP_REFERER_SRCS"
286 if [ $HTTP_REWRITE = YES -a $USE_PCRE != DISABLED ]; then
287     USE_PCRE=YES
288     HTTP_MODULES="$HTTP_MODULES $HTTP_REWRITE_MODULE"
289     HTTP_SRCS="$HTTP_SRCS $HTTP_REWRITE_SRCS"
292 if [ $HTTP_SSL = YES ]; then
293     USE_OPENSSL=YES
294     have=NGX_HTTP_SSL . auto/have
295     HTTP_MODULES="$HTTP_MODULES $HTTP_SSL_MODULE"
296     HTTP_DEPS="$HTTP_DEPS $HTTP_SSL_DEPS"
297     HTTP_SRCS="$HTTP_SRCS $HTTP_SSL_SRCS"
300 if [ $HTTP_PROXY = YES ]; then
301     have=NGX_HTTP_X_FORWARDED_FOR . auto/have
302     #USE_MD5=YES
303     HTTP_MODULES="$HTTP_MODULES $HTTP_PROXY_MODULE"
304     HTTP_DEPS="$HTTP_DEPS $HTTP_PROXY_DEPS"
305     HTTP_SRCS="$HTTP_SRCS $HTTP_PROXY_SRCS"
308 if [ $HTTP_FASTCGI = YES ]; then
309     HTTP_MODULES="$HTTP_MODULES $HTTP_FASTCGI_MODULE"
310     HTTP_SRCS="$HTTP_SRCS $HTTP_FASTCGI_SRCS"
313 if [ $HTTP_UWSGI = YES ]; then
314     HTTP_MODULES="$HTTP_MODULES $HTTP_UWSGI_MODULE"
315     HTTP_SRCS="$HTTP_SRCS $HTTP_UWSGI_SRCS"
318 if [ $HTTP_SCGI = YES ]; then
319     HTTP_MODULES="$HTTP_MODULES $HTTP_SCGI_MODULE"
320     HTTP_SRCS="$HTTP_SRCS $HTTP_SCGI_SRCS"
323 if [ $HTTP_PERL = YES ]; then
324     USE_PERL=YES
325     HTTP_MODULES="$HTTP_MODULES $HTTP_PERL_MODULE"
326     HTTP_INCS="$HTTP_INCS $HTTP_PERL_INCS"
327     HTTP_DEPS="$HTTP_DEPS $HTTP_PERL_DEPS"
328     HTTP_SRCS="$HTTP_SRCS $HTTP_PERL_SRCS"
331 if [ $HTTP_MEMCACHED = YES ]; then
332     HTTP_MODULES="$HTTP_MODULES $HTTP_MEMCACHED_MODULE"
333     HTTP_SRCS="$HTTP_SRCS $HTTP_MEMCACHED_SRCS"
336 if [ $HTTP_EMPTY_GIF = YES ]; then
337     HTTP_MODULES="$HTTP_MODULES $HTTP_EMPTY_GIF_MODULE"
338     HTTP_SRCS="$HTTP_SRCS $HTTP_EMPTY_GIF_SRCS"
341 if [ $HTTP_BROWSER = YES ]; then
342     HTTP_MODULES="$HTTP_MODULES $HTTP_BROWSER_MODULE"
343     HTTP_SRCS="$HTTP_SRCS $HTTP_BROWSER_SRCS"
346 if [ $HTTP_SECURE_LINK = YES ]; then
347     USE_MD5=YES
348     HTTP_MODULES="$HTTP_MODULES $HTTP_SECURE_LINK_MODULE"
349     HTTP_SRCS="$HTTP_SRCS $HTTP_SECURE_LINK_SRCS"
352 if [ $HTTP_DEGRADATION = YES ]; then
353     have=NGX_HTTP_DEGRADATION . auto/have
354     HTTP_MODULES="$HTTP_MODULES $HTTP_DEGRADATION_MODULE"
355     HTTP_SRCS="$HTTP_SRCS $HTTP_DEGRADATION_SRCS"
358 if [ $HTTP_FLV = YES ]; then
359     HTTP_MODULES="$HTTP_MODULES $HTTP_FLV_MODULE"
360     HTTP_SRCS="$HTTP_SRCS $HTTP_FLV_SRCS"
363 if [ $HTTP_MP4 = YES ]; then
364     HTTP_MODULES="$HTTP_MODULES $HTTP_MP4_MODULE"
365     HTTP_SRCS="$HTTP_SRCS $HTTP_MP4_SRCS"
368 if [ $HTTP_UPSTREAM_IP_HASH = YES ]; then
369     HTTP_MODULES="$HTTP_MODULES $HTTP_UPSTREAM_IP_HASH_MODULE"
370     HTTP_SRCS="$HTTP_SRCS $HTTP_UPSTREAM_IP_HASH_SRCS"
373 if [ $HTTP_UPSTREAM_LEAST_CONN = YES ]; then
374     HTTP_MODULES="$HTTP_MODULES $HTTP_UPSTREAM_LEAST_CONN_MODULE"
375     HTTP_SRCS="$HTTP_SRCS $HTTP_UPSTREAM_LEAST_CONN_SRCS"
378 if [ $HTTP_UPSTREAM_KEEPALIVE = YES ]; then
379     HTTP_MODULES="$HTTP_MODULES $HTTP_UPSTREAM_KEEPALIVE_MODULE"
380     HTTP_SRCS="$HTTP_SRCS $HTTP_UPSTREAM_KEEPALIVE_SRCS"
383 if [ $HTTP_STUB_STATUS = YES ]; then
384     have=NGX_STAT_STUB . auto/have
385     HTTP_MODULES="$HTTP_MODULES ngx_http_stub_status_module"
386     HTTP_SRCS="$HTTP_SRCS src/http/modules/ngx_http_stub_status_module.c"
389 #if [ -r $NGX_OBJS/auto ]; then
390 #    . $NGX_OBJS/auto
394 if test -n "$NGX_ADDONS"; then
396     echo configuring additional modules
398     for ngx_addon_dir in $NGX_ADDONS
399     do
400         echo "adding module in $ngx_addon_dir"
402         if test -f $ngx_addon_dir/config; then
403             . $ngx_addon_dir/config
405             echo " + $ngx_addon_name was configured"
407         else
408             echo "$0: error: no $ngx_addon_dir/config was found"
409             exit 1
410         fi
411     done
415 if [ $MAIL_SSL = YES ]; then
416     have=NGX_MAIL_SSL . auto/have
417     USE_OPENSSL=YES
421 modules="$CORE_MODULES $EVENT_MODULES"
424 if [ $USE_OPENSSL = YES ]; then
425     modules="$modules $OPENSSL_MODULE"
426     CORE_DEPS="$CORE_DEPS $OPENSSL_DEPS"
427     CORE_SRCS="$CORE_SRCS $OPENSSL_SRCS"
430 if [ $USE_PCRE = YES ]; then
431     modules="$modules $REGEX_MODULE"
432     CORE_DEPS="$CORE_DEPS $REGEX_DEPS"
433     CORE_SRCS="$CORE_SRCS $REGEX_SRCS"
436 if [ $HTTP = YES ]; then
437     modules="$modules $HTTP_MODULES $HTTP_FILTER_MODULES \
438              $HTTP_HEADERS_FILTER_MODULE \
439              $HTTP_AUX_FILTER_MODULES \
440              $HTTP_COPY_FILTER_MODULE \
441              $HTTP_RANGE_BODY_FILTER_MODULE \
442              $HTTP_NOT_MODIFIED_FILTER_MODULE"
444     NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(HTTP_DEPS)"
448 if [ $MAIL = YES ]; then
449     modules="$modules $MAIL_MODULES"
451     if [ $MAIL_SSL = YES ]; then
452         modules="$modules $MAIL_SSL_MODULE"
453         MAIL_DEPS="$MAIL_DEPS $MAIL_SSL_DEPS"
454         MAIL_SRCS="$MAIL_SRCS $MAIL_SSL_SRCS"
455     fi
457     if [ $MAIL_POP3 = YES ]; then
458         modules="$modules $MAIL_POP3_MODULE"
459         MAIL_DEPS="$MAIL_DEPS $MAIL_POP3_DEPS"
460         MAIL_SRCS="$MAIL_SRCS $MAIL_POP3_SRCS"
461     fi
463     if [ $MAIL_IMAP = YES ]; then
464         modules="$modules $MAIL_IMAP_MODULE"
465         MAIL_DEPS="$MAIL_DEPS $MAIL_IMAP_DEPS"
466         MAIL_SRCS="$MAIL_SRCS $MAIL_IMAP_SRCS"
467     fi
469     if [ $MAIL_SMTP = YES ]; then
470         modules="$modules $MAIL_SMTP_MODULE"
471         MAIL_DEPS="$MAIL_DEPS $MAIL_SMTP_DEPS"
472         MAIL_SRCS="$MAIL_SRCS $MAIL_SMTP_SRCS"
473     fi
475     modules="$modules $MAIL_AUTH_HTTP_MODULE"
476     MAIL_SRCS="$MAIL_SRCS $MAIL_AUTH_HTTP_SRCS"
478     modules="$modules $MAIL_PROXY_MODULE"
479     MAIL_SRCS="$MAIL_SRCS $MAIL_PROXY_SRCS"
483 if [ $NGX_GOOGLE_PERFTOOLS = YES ]; then
484     modules="$modules $NGX_GOOGLE_PERFTOOLS_MODULE"
485     NGX_MISC_SRCS="$NGX_MISC_SRCS $NGX_GOOGLE_PERFTOOLS_SRCS"
489 if [ $NGX_CPP_TEST = YES ]; then
490     NGX_MISC_SRCS="$NGX_MISC_SRCS $NGX_CPP_TEST_SRCS"
491     CORE_LIBS="$CORE_LIBS -lstdc++"
495 cat << END                                    > $NGX_MODULES_C
497 #include <ngx_config.h>
498 #include <ngx_core.h>
500 $NGX_PRAGMA
504 for mod in $modules
506     echo "extern ngx_module_t  $mod;"         >> $NGX_MODULES_C
507 done
509 echo                                          >> $NGX_MODULES_C
510 echo 'ngx_module_t *ngx_modules[] = {'        >> $NGX_MODULES_C
512 for mod in $modules
514     echo "    &$mod,"                         >> $NGX_MODULES_C
515 done
517 cat << END                                    >> $NGX_MODULES_C
518     NULL