Back to home page

Nginx displayed by LXR

Source navigation ]
Diff markup ]
Identifier search ]
general search ]
 
 
Version: nginx-1.15.12 ]​[ nginx-1.16.0 ]​

0001 
0002 # Copyright (C) Igor Sysoev
0003 # Copyright (C) Nginx, Inc.
0004 
0005 
0006 if [ $EVENT_SELECT = NO -a $EVENT_FOUND = NO ]; then
0007     EVENT_SELECT=YES
0008 fi
0009 
0010 if [ $EVENT_SELECT = YES ]; then
0011     have=NGX_HAVE_SELECT . auto/have
0012     CORE_SRCS="$CORE_SRCS $SELECT_SRCS"
0013     EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE"
0014 fi
0015 
0016 
0017 if [ $EVENT_POLL = NO -a $EVENT_FOUND = NO ]; then
0018     EVENT_POLL=YES
0019 fi
0020 
0021 if [ $EVENT_POLL = YES ]; then
0022     have=NGX_HAVE_POLL . auto/have
0023     CORE_SRCS="$CORE_SRCS $POLL_SRCS"
0024     EVENT_MODULES="$EVENT_MODULES $POLL_MODULE"
0025 fi
0026 
0027 
0028 if [ $NGX_TEST_BUILD_DEVPOLL = YES ]; then
0029     have=NGX_HAVE_DEVPOLL . auto/have
0030     have=NGX_TEST_BUILD_DEVPOLL . auto/have
0031     EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE"
0032     CORE_SRCS="$CORE_SRCS $DEVPOLL_SRCS"
0033 fi
0034 
0035 
0036 if [ $NGX_TEST_BUILD_EVENTPORT = YES ]; then
0037     have=NGX_HAVE_EVENTPORT . auto/have
0038     have=NGX_TEST_BUILD_EVENTPORT . auto/have
0039     EVENT_MODULES="$EVENT_MODULES $EVENTPORT_MODULE"
0040     CORE_SRCS="$CORE_SRCS $EVENTPORT_SRCS"
0041 fi
0042 
0043 if [ $NGX_TEST_BUILD_EPOLL = YES ]; then
0044     have=NGX_HAVE_EPOLL . auto/have
0045     have=NGX_HAVE_EPOLLRDHUP . auto/have
0046     have=NGX_HAVE_EPOLLEXCLUSIVE . auto/have
0047     have=NGX_HAVE_EVENTFD . auto/have
0048     have=NGX_TEST_BUILD_EPOLL . auto/have
0049     EVENT_MODULES="$EVENT_MODULES $EPOLL_MODULE"
0050     CORE_SRCS="$CORE_SRCS $EPOLL_SRCS"
0051 fi
0052 
0053 if [ $NGX_TEST_BUILD_SOLARIS_SENDFILEV = YES ]; then
0054     have=NGX_TEST_BUILD_SOLARIS_SENDFILEV . auto/have
0055     CORE_SRCS="$CORE_SRCS $SOLARIS_SENDFILEV_SRCS"
0056 fi
0057 
0058 
0059 if [ $HTTP = YES ]; then
0060     HTTP_MODULES=
0061     HTTP_DEPS=
0062     HTTP_INCS=
0063 
0064     ngx_module_type=HTTP
0065 
0066     if :; then
0067         ngx_module_name="ngx_http_module \
0068                          ngx_http_core_module \
0069                          ngx_http_log_module \
0070                          ngx_http_upstream_module"
0071         ngx_module_incs="src/http src/http/modules"
0072         ngx_module_deps="src/http/ngx_http.h \
0073                          src/http/ngx_http_request.h \
0074                          src/http/ngx_http_config.h \
0075                          src/http/ngx_http_core_module.h \
0076                          src/http/ngx_http_cache.h \
0077                          src/http/ngx_http_variables.h \
0078                          src/http/ngx_http_script.h \
0079                          src/http/ngx_http_upstream.h \
0080                          src/http/ngx_http_upstream_round_robin.h"
0081         ngx_module_srcs="src/http/ngx_http.c \
0082                          src/http/ngx_http_core_module.c \
0083                          src/http/ngx_http_special_response.c \
0084                          src/http/ngx_http_request.c \
0085                          src/http/ngx_http_parse.c \
0086                          src/http/modules/ngx_http_log_module.c \
0087                          src/http/ngx_http_request_body.c \
0088                          src/http/ngx_http_variables.c \
0089                          src/http/ngx_http_script.c \
0090                          src/http/ngx_http_upstream.c \
0091                          src/http/ngx_http_upstream_round_robin.c"
0092         ngx_module_libs=
0093         ngx_module_link=YES
0094 
0095         . auto/module
0096     fi
0097 
0098 
0099     if [ $HTTP_CACHE = YES ]; then
0100         have=NGX_HTTP_CACHE . auto/have
0101         HTTP_SRCS="$HTTP_SRCS $HTTP_FILE_CACHE_SRCS"
0102     fi
0103 
0104 
0105     if [ $HTTP_SSI = YES ]; then
0106         HTTP_POSTPONE=YES
0107     fi
0108 
0109 
0110     if [ $HTTP_SLICE = YES ]; then
0111         HTTP_POSTPONE=YES
0112     fi
0113 
0114 
0115     if [ $HTTP_ADDITION = YES ]; then
0116         HTTP_POSTPONE=YES
0117     fi
0118 
0119 
0120     # the module order is important
0121     #     ngx_http_static_module
0122     #     ngx_http_gzip_static_module
0123     #     ngx_http_dav_module
0124     #     ngx_http_autoindex_module
0125     #     ngx_http_index_module
0126     #     ngx_http_random_index_module
0127     #
0128     #     ngx_http_access_module
0129     #     ngx_http_realip_module
0130     #
0131     #
0132     # the filter order is important
0133     #     ngx_http_write_filter
0134     #     ngx_http_header_filter
0135     #     ngx_http_chunked_filter
0136     #     ngx_http_v2_filter
0137     #     ngx_http_range_header_filter
0138     #     ngx_http_gzip_filter
0139     #     ngx_http_postpone_filter
0140     #     ngx_http_ssi_filter
0141     #     ngx_http_charset_filter
0142     #         ngx_http_xslt_filter
0143     #         ngx_http_image_filter
0144     #         ngx_http_sub_filter
0145     #         ngx_http_addition_filter
0146     #         ngx_http_gunzip_filter
0147     #         ngx_http_userid_filter
0148     #         ngx_http_headers_filter
0149     #     ngx_http_copy_filter
0150     #     ngx_http_range_body_filter
0151     #     ngx_http_not_modified_filter
0152     #     ngx_http_slice_filter
0153 
0154     ngx_module_type=HTTP_FILTER
0155     HTTP_FILTER_MODULES=
0156 
0157     ngx_module_order="ngx_http_static_module \
0158                       ngx_http_gzip_static_module \
0159                       ngx_http_dav_module \
0160                       ngx_http_autoindex_module \
0161                       ngx_http_index_module \
0162                       ngx_http_random_index_module \
0163                       ngx_http_access_module \
0164                       ngx_http_realip_module \
0165                       ngx_http_write_filter_module \
0166                       ngx_http_header_filter_module \
0167                       ngx_http_chunked_filter_module \
0168                       ngx_http_v2_filter_module \
0169                       ngx_http_range_header_filter_module \
0170                       ngx_http_gzip_filter_module \
0171                       ngx_http_postpone_filter_module \
0172                       ngx_http_ssi_filter_module \
0173                       ngx_http_charset_filter_module \
0174                       ngx_http_xslt_filter_module \
0175                       ngx_http_image_filter_module \
0176                       ngx_http_sub_filter_module \
0177                       ngx_http_addition_filter_module \
0178                       ngx_http_gunzip_filter_module \
0179                       ngx_http_userid_filter_module \
0180                       ngx_http_headers_filter_module \
0181                       ngx_http_copy_filter_module \
0182                       ngx_http_range_body_filter_module \
0183                       ngx_http_not_modified_filter_module \
0184                       ngx_http_slice_filter_module"
0185 
0186     if :; then
0187         ngx_module_name=ngx_http_write_filter_module
0188         ngx_module_incs=
0189         ngx_module_deps=
0190         ngx_module_srcs=src/http/ngx_http_write_filter_module.c
0191         ngx_module_libs=
0192         ngx_module_link=YES
0193 
0194         . auto/module
0195     fi
0196 
0197     if :; then
0198         ngx_module_name=ngx_http_header_filter_module
0199         ngx_module_incs=
0200         ngx_module_deps=
0201         ngx_module_srcs=src/http/ngx_http_header_filter_module.c
0202         ngx_module_libs=
0203         ngx_module_link=YES
0204 
0205         . auto/module
0206     fi
0207 
0208     if :; then
0209         ngx_module_name=ngx_http_chunked_filter_module
0210         ngx_module_incs=
0211         ngx_module_deps=
0212         ngx_module_srcs=src/http/modules/ngx_http_chunked_filter_module.c
0213         ngx_module_libs=
0214         ngx_module_link=YES
0215 
0216         . auto/module
0217     fi
0218 
0219     if [ $HTTP_V2 = YES ]; then
0220         ngx_module_name=ngx_http_v2_filter_module
0221         ngx_module_incs=
0222         ngx_module_deps=
0223         ngx_module_srcs=src/http/v2/ngx_http_v2_filter_module.c
0224         ngx_module_libs=
0225         ngx_module_link=$HTTP_V2
0226 
0227         . auto/module
0228     fi
0229 
0230     if :; then
0231         ngx_module_name=ngx_http_range_header_filter_module
0232         ngx_module_incs=
0233         ngx_module_deps=
0234         ngx_module_srcs=src/http/modules/ngx_http_range_filter_module.c
0235         ngx_module_libs=
0236         ngx_module_link=YES
0237 
0238         . auto/module
0239     fi
0240 
0241     if [ $HTTP_GZIP = YES ]; then
0242         have=NGX_HTTP_GZIP . auto/have
0243         USE_ZLIB=YES
0244 
0245         ngx_module_name=ngx_http_gzip_filter_module
0246         ngx_module_incs=
0247         ngx_module_deps=
0248         ngx_module_srcs=src/http/modules/ngx_http_gzip_filter_module.c
0249         ngx_module_libs=
0250         ngx_module_link=$HTTP_GZIP
0251 
0252         . auto/module
0253     fi
0254 
0255     if [ $HTTP_POSTPONE = YES ]; then
0256         ngx_module_name=ngx_http_postpone_filter_module
0257         ngx_module_incs=
0258         ngx_module_deps=
0259         ngx_module_srcs=src/http/ngx_http_postpone_filter_module.c
0260         ngx_module_libs=
0261         ngx_module_link=$HTTP_POSTPONE
0262 
0263         . auto/module
0264     fi
0265 
0266     if [ $HTTP_SSI = YES ]; then
0267         have=NGX_HTTP_SSI . auto/have
0268 
0269         ngx_module_name=ngx_http_ssi_filter_module
0270         ngx_module_incs=
0271         ngx_module_deps=src/http/modules/ngx_http_ssi_filter_module.h
0272         ngx_module_srcs=src/http/modules/ngx_http_ssi_filter_module.c
0273         ngx_module_libs=
0274         ngx_module_link=$HTTP_SSI
0275 
0276         . auto/module
0277     fi
0278 
0279     if [ $HTTP_CHARSET = YES ]; then
0280         ngx_module_name=ngx_http_charset_filter_module
0281         ngx_module_incs=
0282         ngx_module_deps=
0283         ngx_module_srcs=src/http/modules/ngx_http_charset_filter_module.c
0284         ngx_module_libs=
0285         ngx_module_link=$HTTP_CHARSET
0286 
0287         . auto/module
0288     fi
0289 
0290     if [ $HTTP_XSLT != NO ]; then
0291         ngx_module_name=ngx_http_xslt_filter_module
0292         ngx_module_incs=
0293         ngx_module_deps=
0294         ngx_module_srcs=src/http/modules/ngx_http_xslt_filter_module.c
0295         ngx_module_libs=LIBXSLT
0296         ngx_module_link=$HTTP_XSLT
0297 
0298         . auto/module
0299     fi
0300 
0301     if [ $HTTP_IMAGE_FILTER != NO ]; then
0302         ngx_module_name=ngx_http_image_filter_module
0303         ngx_module_incs=
0304         ngx_module_deps=
0305         ngx_module_srcs=src/http/modules/ngx_http_image_filter_module.c
0306         ngx_module_libs=LIBGD
0307         ngx_module_link=$HTTP_IMAGE_FILTER
0308 
0309         . auto/module
0310     fi
0311 
0312     if [ $HTTP_SUB = YES ]; then
0313         ngx_module_name=ngx_http_sub_filter_module
0314         ngx_module_incs=
0315         ngx_module_deps=
0316         ngx_module_srcs=src/http/modules/ngx_http_sub_filter_module.c
0317         ngx_module_libs=
0318         ngx_module_link=$HTTP_SUB
0319 
0320         . auto/module
0321     fi
0322 
0323     if [ $HTTP_ADDITION = YES ]; then
0324         ngx_module_name=ngx_http_addition_filter_module
0325         ngx_module_incs=
0326         ngx_module_deps=
0327         ngx_module_srcs=src/http/modules/ngx_http_addition_filter_module.c
0328         ngx_module_libs=
0329         ngx_module_link=$HTTP_ADDITION
0330 
0331         . auto/module
0332     fi
0333 
0334     if [ $HTTP_GUNZIP = YES ]; then
0335         have=NGX_HTTP_GZIP . auto/have
0336         USE_ZLIB=YES
0337 
0338         ngx_module_name=ngx_http_gunzip_filter_module
0339         ngx_module_incs=
0340         ngx_module_deps=
0341         ngx_module_srcs=src/http/modules/ngx_http_gunzip_filter_module.c
0342         ngx_module_libs=
0343         ngx_module_link=$HTTP_GUNZIP
0344 
0345         . auto/module
0346     fi
0347 
0348     if [ $HTTP_USERID = YES ]; then
0349         ngx_module_name=ngx_http_userid_filter_module
0350         ngx_module_incs=
0351         ngx_module_deps=
0352         ngx_module_srcs=src/http/modules/ngx_http_userid_filter_module.c
0353         ngx_module_libs=
0354         ngx_module_link=$HTTP_USERID
0355 
0356         . auto/module
0357     fi
0358 
0359     if :; then
0360         ngx_module_name=ngx_http_headers_filter_module
0361         ngx_module_incs=
0362         ngx_module_deps=
0363         ngx_module_srcs=src/http/modules/ngx_http_headers_filter_module.c
0364         ngx_module_libs=
0365         ngx_module_link=YES
0366 
0367         . auto/module
0368     fi
0369 
0370 
0371     ngx_module_type=HTTP_INIT_FILTER
0372     HTTP_INIT_FILTER_MODULES=
0373 
0374     if :; then
0375         ngx_module_name=ngx_http_copy_filter_module
0376         ngx_module_incs=
0377         ngx_module_deps=
0378         ngx_module_srcs=src/http/ngx_http_copy_filter_module.c
0379         ngx_module_libs=
0380         ngx_module_link=YES
0381 
0382         . auto/module
0383     fi
0384 
0385     if :; then
0386         ngx_module_name=ngx_http_range_body_filter_module
0387         ngx_module_incs=
0388         ngx_module_deps=
0389         ngx_module_srcs=
0390         ngx_module_libs=
0391         ngx_module_link=YES
0392 
0393         . auto/module
0394     fi
0395 
0396     if :; then
0397         ngx_module_name=ngx_http_not_modified_filter_module
0398         ngx_module_incs=
0399         ngx_module_deps=
0400         ngx_module_srcs=src/http/modules/ngx_http_not_modified_filter_module.c
0401         ngx_module_libs=
0402         ngx_module_link=YES
0403 
0404         . auto/module
0405     fi
0406 
0407     if [ $HTTP_SLICE = YES ]; then
0408         ngx_module_name=ngx_http_slice_filter_module
0409         ngx_module_incs=
0410         ngx_module_deps=
0411         ngx_module_srcs=src/http/modules/ngx_http_slice_filter_module.c
0412         ngx_module_libs=
0413         ngx_module_link=$HTTP_SLICE
0414 
0415         . auto/module
0416     fi
0417 
0418 
0419     ngx_module_type=HTTP
0420 
0421     if [ $HTTP_V2 = YES ]; then
0422         have=NGX_HTTP_V2 . auto/have
0423         have=NGX_HTTP_HEADERS . auto/have
0424 
0425         ngx_module_name=ngx_http_v2_module
0426         ngx_module_incs=src/http/v2
0427         ngx_module_deps="src/http/v2/ngx_http_v2.h \
0428                          src/http/v2/ngx_http_v2_module.h"
0429         ngx_module_srcs="src/http/v2/ngx_http_v2.c \
0430                          src/http/v2/ngx_http_v2_table.c \
0431                          src/http/v2/ngx_http_v2_encode.c \
0432                          src/http/v2/ngx_http_v2_huff_decode.c \
0433                          src/http/v2/ngx_http_v2_huff_encode.c \
0434                          src/http/v2/ngx_http_v2_module.c"
0435         ngx_module_libs=
0436         ngx_module_link=$HTTP_V2
0437 
0438         . auto/module
0439     fi
0440 
0441     if :; then
0442         ngx_module_name=ngx_http_static_module
0443         ngx_module_incs=
0444         ngx_module_deps=
0445         ngx_module_srcs=src/http/modules/ngx_http_static_module.c
0446         ngx_module_libs=
0447         ngx_module_link=YES
0448 
0449         . auto/module
0450     fi
0451 
0452     if [ $HTTP_GZIP_STATIC = YES ]; then
0453         have=NGX_HTTP_GZIP . auto/have
0454 
0455         ngx_module_name=ngx_http_gzip_static_module
0456         ngx_module_incs=
0457         ngx_module_deps=
0458         ngx_module_srcs=src/http/modules/ngx_http_gzip_static_module.c
0459         ngx_module_libs=
0460         ngx_module_link=$HTTP_GZIP_STATIC
0461 
0462         . auto/module
0463     fi
0464 
0465     if [ $HTTP_DAV = YES ]; then
0466         have=NGX_HTTP_DAV . auto/have
0467 
0468         ngx_module_name=ngx_http_dav_module
0469         ngx_module_incs=
0470         ngx_module_deps=
0471         ngx_module_srcs=src/http/modules/ngx_http_dav_module.c
0472         ngx_module_libs=
0473         ngx_module_link=$HTTP_DAV
0474 
0475         . auto/module
0476     fi
0477 
0478     if [ $HTTP_AUTOINDEX = YES ]; then
0479         ngx_module_name=ngx_http_autoindex_module
0480         ngx_module_incs=
0481         ngx_module_deps=
0482         ngx_module_srcs=src/http/modules/ngx_http_autoindex_module.c
0483         ngx_module_libs=
0484         ngx_module_link=$HTTP_AUTOINDEX
0485 
0486         . auto/module
0487     fi
0488 
0489     if :; then
0490         ngx_module_name=ngx_http_index_module
0491         ngx_module_incs=
0492         ngx_module_deps=
0493         ngx_module_srcs=src/http/modules/ngx_http_index_module.c
0494         ngx_module_libs=
0495         ngx_module_link=YES
0496 
0497         . auto/module
0498     fi
0499 
0500     if [ $HTTP_RANDOM_INDEX = YES ]; then
0501         ngx_module_name=ngx_http_random_index_module
0502         ngx_module_incs=
0503         ngx_module_deps=
0504         ngx_module_srcs=src/http/modules/ngx_http_random_index_module.c
0505         ngx_module_libs=
0506         ngx_module_link=$HTTP_RANDOM_INDEX
0507 
0508         . auto/module
0509     fi
0510 
0511     if [ $HTTP_MIRROR = YES ]; then
0512         ngx_module_name=ngx_http_mirror_module
0513         ngx_module_incs=
0514         ngx_module_deps=
0515         ngx_module_srcs=src/http/modules/ngx_http_mirror_module.c
0516         ngx_module_libs=
0517         ngx_module_link=$HTTP_MIRROR
0518 
0519         . auto/module
0520     fi
0521 
0522     if :; then
0523         ngx_module_name=ngx_http_try_files_module
0524         ngx_module_incs=
0525         ngx_module_deps=
0526         ngx_module_srcs=src/http/modules/ngx_http_try_files_module.c
0527         ngx_module_libs=
0528         ngx_module_link=YES
0529 
0530         . auto/module
0531     fi
0532 
0533     if [ $HTTP_AUTH_REQUEST = YES ]; then
0534         ngx_module_name=ngx_http_auth_request_module
0535         ngx_module_incs=
0536         ngx_module_deps=
0537         ngx_module_srcs=src/http/modules/ngx_http_auth_request_module.c
0538         ngx_module_libs=
0539         ngx_module_link=$HTTP_AUTH_REQUEST
0540 
0541         . auto/module
0542     fi
0543 
0544     if [ $HTTP_AUTH_BASIC = YES ]; then
0545         have=NGX_CRYPT . auto/have
0546 
0547         ngx_module_name=ngx_http_auth_basic_module
0548         ngx_module_incs=
0549         ngx_module_deps=
0550         ngx_module_srcs=src/http/modules/ngx_http_auth_basic_module.c
0551         ngx_module_libs=$CRYPT_LIB
0552         ngx_module_link=$HTTP_AUTH_BASIC
0553 
0554         . auto/module
0555     fi
0556 
0557     if [ $HTTP_ACCESS = YES ]; then
0558         ngx_module_name=ngx_http_access_module
0559         ngx_module_incs=
0560         ngx_module_deps=
0561         ngx_module_srcs=src/http/modules/ngx_http_access_module.c
0562         ngx_module_libs=
0563         ngx_module_link=$HTTP_ACCESS
0564 
0565         . auto/module
0566     fi
0567 
0568     if [ $HTTP_LIMIT_CONN = YES ]; then
0569         ngx_module_name=ngx_http_limit_conn_module
0570         ngx_module_incs=
0571         ngx_module_deps=
0572         ngx_module_srcs=src/http/modules/ngx_http_limit_conn_module.c
0573         ngx_module_libs=
0574         ngx_module_link=$HTTP_LIMIT_CONN
0575 
0576         . auto/module
0577     fi
0578 
0579     if [ $HTTP_LIMIT_REQ = YES ]; then
0580         ngx_module_name=ngx_http_limit_req_module
0581         ngx_module_incs=
0582         ngx_module_deps=
0583         ngx_module_srcs=src/http/modules/ngx_http_limit_req_module.c
0584         ngx_module_libs=
0585         ngx_module_link=$HTTP_LIMIT_REQ
0586 
0587         . auto/module
0588     fi
0589 
0590     if [ $HTTP_REALIP = YES ]; then
0591         have=NGX_HTTP_REALIP . auto/have
0592         have=NGX_HTTP_X_FORWARDED_FOR . auto/have
0593 
0594         ngx_module_name=ngx_http_realip_module
0595         ngx_module_incs=
0596         ngx_module_deps=
0597         ngx_module_srcs=src/http/modules/ngx_http_realip_module.c
0598         ngx_module_libs=
0599         ngx_module_link=$HTTP_REALIP
0600 
0601         . auto/module
0602     fi
0603 
0604     if [ $HTTP_STATUS = YES ]; then
0605         ngx_module_name=ngx_http_status_module
0606         ngx_module_incs=
0607         ngx_module_deps=
0608         ngx_module_srcs=src/http/modules/ngx_http_status_module.c
0609         ngx_module_libs=
0610         ngx_module_link=$HTTP_STATUS
0611 
0612         . auto/module
0613     fi
0614 
0615     if [ $HTTP_GEO = YES ]; then
0616         have=NGX_HTTP_X_FORWARDED_FOR . auto/have
0617 
0618         ngx_module_name=ngx_http_geo_module
0619         ngx_module_incs=
0620         ngx_module_deps=
0621         ngx_module_srcs=src/http/modules/ngx_http_geo_module.c
0622         ngx_module_libs=
0623         ngx_module_link=$HTTP_GEO
0624 
0625         . auto/module
0626     fi
0627 
0628     if [ $HTTP_GEOIP != NO ]; then
0629         have=NGX_HTTP_X_FORWARDED_FOR . auto/have
0630 
0631         ngx_module_name=ngx_http_geoip_module
0632         ngx_module_incs=
0633         ngx_module_deps=
0634         ngx_module_srcs=src/http/modules/ngx_http_geoip_module.c
0635         ngx_module_libs=GEOIP
0636         ngx_module_link=$HTTP_GEOIP
0637 
0638         . auto/module
0639     fi
0640 
0641     if [ $HTTP_MAP = YES ]; then
0642         ngx_module_name=ngx_http_map_module
0643         ngx_module_incs=
0644         ngx_module_deps=
0645         ngx_module_srcs=src/http/modules/ngx_http_map_module.c
0646         ngx_module_libs=
0647         ngx_module_link=$HTTP_MAP
0648 
0649         . auto/module
0650     fi
0651 
0652     if [ $HTTP_SPLIT_CLIENTS = YES ]; then
0653         ngx_module_name=ngx_http_split_clients_module
0654         ngx_module_incs=
0655         ngx_module_deps=
0656         ngx_module_srcs=src/http/modules/ngx_http_split_clients_module.c
0657         ngx_module_libs=
0658         ngx_module_link=$HTTP_SPLIT_CLIENTS
0659 
0660         . auto/module
0661     fi
0662 
0663     if [ $HTTP_REFERER = YES ]; then
0664         ngx_module_name=ngx_http_referer_module
0665         ngx_module_incs=
0666         ngx_module_deps=
0667         ngx_module_srcs=src/http/modules/ngx_http_referer_module.c
0668         ngx_module_libs=
0669         ngx_module_link=$HTTP_REFERER
0670 
0671         . auto/module
0672     fi
0673 
0674     if [ $HTTP_REWRITE = YES -a $USE_PCRE != DISABLED ]; then
0675         USE_PCRE=YES
0676 
0677         ngx_module_name=ngx_http_rewrite_module
0678         ngx_module_incs=
0679         ngx_module_deps=
0680         ngx_module_srcs=src/http/modules/ngx_http_rewrite_module.c
0681         ngx_module_libs=
0682         ngx_module_link=$HTTP_REWRITE
0683 
0684         . auto/module
0685     fi
0686 
0687     if [ $HTTP_SSL = YES ]; then
0688         USE_OPENSSL=YES
0689         have=NGX_HTTP_SSL . auto/have
0690 
0691         ngx_module_name=ngx_http_ssl_module
0692         ngx_module_incs=
0693         ngx_module_deps=src/http/modules/ngx_http_ssl_module.h
0694         ngx_module_srcs=src/http/modules/ngx_http_ssl_module.c
0695         ngx_module_libs=
0696         ngx_module_link=$HTTP_SSL
0697 
0698         . auto/module
0699     fi
0700 
0701     if [ $HTTP_PROXY = YES ]; then
0702         have=NGX_HTTP_X_FORWARDED_FOR . auto/have
0703 
0704         ngx_module_name=ngx_http_proxy_module
0705         ngx_module_incs=
0706         ngx_module_deps=
0707         ngx_module_srcs=src/http/modules/ngx_http_proxy_module.c
0708         ngx_module_libs=
0709         ngx_module_link=$HTTP_PROXY
0710 
0711         . auto/module
0712     fi
0713 
0714     if [ $HTTP_FASTCGI = YES ]; then
0715         ngx_module_name=ngx_http_fastcgi_module
0716         ngx_module_incs=
0717         ngx_module_deps=
0718         ngx_module_srcs=src/http/modules/ngx_http_fastcgi_module.c
0719         ngx_module_libs=
0720         ngx_module_link=$HTTP_FASTCGI
0721 
0722         . auto/module
0723     fi
0724 
0725     if [ $HTTP_UWSGI = YES ]; then
0726         ngx_module_name=ngx_http_uwsgi_module
0727         ngx_module_incs=
0728         ngx_module_deps=
0729         ngx_module_srcs=src/http/modules/ngx_http_uwsgi_module.c
0730         ngx_module_libs=
0731         ngx_module_link=$HTTP_UWSGI
0732 
0733         . auto/module
0734     fi
0735 
0736     if [ $HTTP_SCGI = YES ]; then
0737         ngx_module_name=ngx_http_scgi_module
0738         ngx_module_incs=
0739         ngx_module_deps=
0740         ngx_module_srcs=src/http/modules/ngx_http_scgi_module.c
0741         ngx_module_libs=
0742         ngx_module_link=$HTTP_SCGI
0743 
0744         . auto/module
0745     fi
0746 
0747     if [ $HTTP_GRPC = YES -a $HTTP_V2 = YES ]; then
0748         ngx_module_name=ngx_http_grpc_module
0749         ngx_module_incs=
0750         ngx_module_deps=
0751         ngx_module_srcs=src/http/modules/ngx_http_grpc_module.c
0752         ngx_module_libs=
0753         ngx_module_link=$HTTP_GRPC
0754 
0755         . auto/module
0756     fi
0757 
0758     if [ $HTTP_PERL != NO ]; then
0759         ngx_module_name=ngx_http_perl_module
0760         ngx_module_incs=src/http/modules/perl
0761         ngx_module_deps=src/http/modules/perl/ngx_http_perl_module.h
0762         ngx_module_srcs=src/http/modules/perl/ngx_http_perl_module.c
0763         ngx_module_libs=PERL
0764         ngx_module_link=$HTTP_PERL
0765 
0766         . auto/module
0767     fi
0768 
0769     if [ $HTTP_MEMCACHED = YES ]; then
0770         ngx_module_name=ngx_http_memcached_module
0771         ngx_module_incs=
0772         ngx_module_deps=
0773         ngx_module_srcs=src/http/modules/ngx_http_memcached_module.c
0774         ngx_module_libs=
0775         ngx_module_link=$HTTP_MEMCACHED
0776 
0777         . auto/module
0778     fi
0779 
0780     if [ $HTTP_EMPTY_GIF = YES ]; then
0781         ngx_module_name=ngx_http_empty_gif_module
0782         ngx_module_incs=
0783         ngx_module_deps=
0784         ngx_module_srcs=src/http/modules/ngx_http_empty_gif_module.c
0785         ngx_module_libs=
0786         ngx_module_link=$HTTP_EMPTY_GIF
0787 
0788         . auto/module
0789     fi
0790 
0791     if [ $HTTP_BROWSER = YES ]; then
0792         ngx_module_name=ngx_http_browser_module
0793         ngx_module_incs=
0794         ngx_module_deps=
0795         ngx_module_srcs=src/http/modules/ngx_http_browser_module.c
0796         ngx_module_libs=
0797         ngx_module_link=$HTTP_BROWSER
0798 
0799         . auto/module
0800     fi
0801 
0802     if [ $HTTP_SECURE_LINK = YES ]; then
0803         ngx_module_name=ngx_http_secure_link_module
0804         ngx_module_incs=
0805         ngx_module_deps=
0806         ngx_module_srcs=src/http/modules/ngx_http_secure_link_module.c
0807         ngx_module_libs=
0808         ngx_module_link=$HTTP_SECURE_LINK
0809 
0810         . auto/module
0811     fi
0812 
0813     if [ $HTTP_DEGRADATION = YES ]; then
0814         have=NGX_HTTP_DEGRADATION . auto/have
0815 
0816         ngx_module_name=ngx_http_degradation_module
0817         ngx_module_incs=
0818         ngx_module_deps=
0819         ngx_module_srcs=src/http/modules/ngx_http_degradation_module.c
0820         ngx_module_libs=
0821         ngx_module_link=$HTTP_DEGRADATION
0822 
0823         . auto/module
0824     fi
0825 
0826     if [ $HTTP_FLV = YES ]; then
0827         ngx_module_name=ngx_http_flv_module
0828         ngx_module_incs=
0829         ngx_module_deps=
0830         ngx_module_srcs=src/http/modules/ngx_http_flv_module.c
0831         ngx_module_libs=
0832         ngx_module_link=$HTTP_FLV
0833 
0834         . auto/module
0835     fi
0836 
0837     if [ $HTTP_MP4 = YES ]; then
0838         ngx_module_name=ngx_http_mp4_module
0839         ngx_module_incs=
0840         ngx_module_deps=
0841         ngx_module_srcs=src/http/modules/ngx_http_mp4_module.c
0842         ngx_module_libs=
0843         ngx_module_link=$HTTP_MP4
0844 
0845         . auto/module
0846     fi
0847 
0848     if [ $HTTP_UPSTREAM_HASH = YES ]; then
0849         ngx_module_name=ngx_http_upstream_hash_module
0850         ngx_module_incs=
0851         ngx_module_deps=
0852         ngx_module_srcs=src/http/modules/ngx_http_upstream_hash_module.c
0853         ngx_module_libs=
0854         ngx_module_link=$HTTP_UPSTREAM_HASH
0855 
0856         . auto/module
0857     fi
0858 
0859     if [ $HTTP_UPSTREAM_IP_HASH = YES ]; then
0860         ngx_module_name=ngx_http_upstream_ip_hash_module
0861         ngx_module_incs=
0862         ngx_module_deps=
0863         ngx_module_srcs=src/http/modules/ngx_http_upstream_ip_hash_module.c
0864         ngx_module_libs=
0865         ngx_module_link=$HTTP_UPSTREAM_IP_HASH
0866 
0867         . auto/module
0868     fi
0869 
0870     if [ $HTTP_UPSTREAM_LEAST_CONN = YES ]; then
0871         ngx_module_name=ngx_http_upstream_least_conn_module
0872         ngx_module_incs=
0873         ngx_module_deps=
0874         ngx_module_srcs=src/http/modules/ngx_http_upstream_least_conn_module.c
0875         ngx_module_libs=
0876         ngx_module_link=$HTTP_UPSTREAM_LEAST_CONN
0877 
0878         . auto/module
0879     fi
0880 
0881     if [ $HTTP_UPSTREAM_RANDOM = YES ]; then
0882         ngx_module_name=ngx_http_upstream_random_module
0883         ngx_module_incs=
0884         ngx_module_deps=
0885         ngx_module_srcs=src/http/modules/ngx_http_upstream_random_module.c
0886         ngx_module_libs=
0887         ngx_module_link=$HTTP_UPSTREAM_RANDOM
0888 
0889         . auto/module
0890     fi
0891 
0892     if [ $HTTP_UPSTREAM_KEEPALIVE = YES ]; then
0893         ngx_module_name=ngx_http_upstream_keepalive_module
0894         ngx_module_incs=
0895         ngx_module_deps=
0896         ngx_module_srcs=src/http/modules/ngx_http_upstream_keepalive_module.c
0897         ngx_module_libs=
0898         ngx_module_link=$HTTP_UPSTREAM_KEEPALIVE
0899 
0900         . auto/module
0901     fi
0902 
0903     if [ $HTTP_UPSTREAM_ZONE = YES ]; then
0904         have=NGX_HTTP_UPSTREAM_ZONE . auto/have
0905 
0906         ngx_module_name=ngx_http_upstream_zone_module
0907         ngx_module_incs=
0908         ngx_module_deps=
0909         ngx_module_srcs=src/http/modules/ngx_http_upstream_zone_module.c
0910         ngx_module_libs=
0911         ngx_module_link=$HTTP_UPSTREAM_ZONE
0912 
0913         . auto/module
0914     fi
0915 
0916     if [ $HTTP_STUB_STATUS = YES ]; then
0917         have=NGX_STAT_STUB . auto/have
0918 
0919         ngx_module_name=ngx_http_stub_status_module
0920         ngx_module_incs=
0921         ngx_module_deps=
0922         ngx_module_srcs=src/http/modules/ngx_http_stub_status_module.c
0923         ngx_module_libs=
0924         ngx_module_link=$HTTP_STUB_STATUS
0925 
0926         . auto/module
0927     fi
0928 fi
0929 
0930 
0931 if [ $MAIL != NO ]; then
0932     MAIL_MODULES=
0933     MAIL_DEPS=
0934     MAIL_INCS=
0935 
0936     ngx_module_type=MAIL
0937     ngx_module_libs=
0938     ngx_module_link=YES
0939 
0940     ngx_module_order=
0941 
0942     ngx_module_name="ngx_mail_module ngx_mail_core_module"
0943     ngx_module_incs="src/mail"
0944     ngx_module_deps="src/mail/ngx_mail.h"
0945     ngx_module_srcs="src/mail/ngx_mail.c \
0946                      src/mail/ngx_mail_core_module.c \
0947                      src/mail/ngx_mail_handler.c \
0948                      src/mail/ngx_mail_parse.c"
0949 
0950     . auto/module
0951 
0952     ngx_module_incs=
0953 
0954     if [ $MAIL_SSL = YES ]; then
0955         USE_OPENSSL=YES
0956         have=NGX_MAIL_SSL . auto/have
0957 
0958         ngx_module_name=ngx_mail_ssl_module
0959         ngx_module_deps=src/mail/ngx_mail_ssl_module.h
0960         ngx_module_srcs=src/mail/ngx_mail_ssl_module.c
0961 
0962         . auto/module
0963     fi
0964 
0965     if [ $MAIL_POP3 = YES ]; then
0966         ngx_module_name=ngx_mail_pop3_module
0967         ngx_module_deps=src/mail/ngx_mail_pop3_module.h
0968         ngx_module_srcs="src/mail/ngx_mail_pop3_module.c \
0969                          src/mail/ngx_mail_pop3_handler.c"
0970 
0971         . auto/module
0972     fi
0973 
0974     if [ $MAIL_IMAP = YES ]; then
0975         ngx_module_name=ngx_mail_imap_module
0976         ngx_module_deps=src/mail/ngx_mail_imap_module.h
0977         ngx_module_srcs="src/mail/ngx_mail_imap_module.c \
0978                          src/mail/ngx_mail_imap_handler.c"
0979 
0980         . auto/module
0981     fi
0982 
0983     if [ $MAIL_SMTP = YES ]; then
0984         ngx_module_name=ngx_mail_smtp_module
0985         ngx_module_deps=src/mail/ngx_mail_smtp_module.h
0986         ngx_module_srcs="src/mail/ngx_mail_smtp_module.c \
0987                          src/mail/ngx_mail_smtp_handler.c"
0988 
0989         . auto/module
0990     fi
0991 
0992     ngx_module_name=ngx_mail_auth_http_module
0993     ngx_module_deps=
0994     ngx_module_srcs=src/mail/ngx_mail_auth_http_module.c
0995 
0996     . auto/module
0997 
0998     ngx_module_name=ngx_mail_proxy_module
0999     ngx_module_deps=
1000     ngx_module_srcs=src/mail/ngx_mail_proxy_module.c
1001 
1002     . auto/module
1003 fi
1004 
1005 
1006 if [ $STREAM != NO ]; then
1007     STREAM_MODULES=
1008     STREAM_DEPS=
1009     STREAM_INCS=
1010 
1011     ngx_module_type=STREAM
1012     ngx_module_libs=
1013     ngx_module_link=YES
1014 
1015     ngx_module_order=
1016 
1017     ngx_module_name="ngx_stream_module \
1018                      ngx_stream_core_module \
1019                      ngx_stream_log_module \
1020                      ngx_stream_proxy_module \
1021                      ngx_stream_upstream_module \
1022                      ngx_stream_write_filter_module"
1023     ngx_module_incs="src/stream"
1024     ngx_module_deps="src/stream/ngx_stream.h \
1025                      src/stream/ngx_stream_variables.h \
1026                      src/stream/ngx_stream_script.h \
1027                      src/stream/ngx_stream_upstream.h \
1028                      src/stream/ngx_stream_upstream_round_robin.h"
1029     ngx_module_srcs="src/stream/ngx_stream.c \
1030                      src/stream/ngx_stream_variables.c \
1031                      src/stream/ngx_stream_script.c \
1032                      src/stream/ngx_stream_handler.c \
1033                      src/stream/ngx_stream_core_module.c \
1034                      src/stream/ngx_stream_log_module.c \
1035                      src/stream/ngx_stream_proxy_module.c \
1036                      src/stream/ngx_stream_upstream.c \
1037                      src/stream/ngx_stream_upstream_round_robin.c \
1038                      src/stream/ngx_stream_write_filter_module.c"
1039 
1040     . auto/module
1041 
1042     ngx_module_incs=
1043 
1044     if [ $STREAM_SSL = YES ]; then
1045         USE_OPENSSL=YES
1046         have=NGX_STREAM_SSL . auto/have
1047 
1048         ngx_module_name=ngx_stream_ssl_module
1049         ngx_module_deps=src/stream/ngx_stream_ssl_module.h
1050         ngx_module_srcs=src/stream/ngx_stream_ssl_module.c
1051         ngx_module_libs=
1052         ngx_module_link=$STREAM_SSL
1053 
1054         . auto/module
1055     fi
1056 
1057     if [ $STREAM_REALIP = YES ]; then
1058         ngx_module_name=ngx_stream_realip_module
1059         ngx_module_deps=
1060         ngx_module_srcs=src/stream/ngx_stream_realip_module.c
1061         ngx_module_libs=
1062         ngx_module_link=$STREAM_REALIP
1063 
1064         . auto/module
1065     fi
1066 
1067     if [ $STREAM_LIMIT_CONN = YES ]; then
1068         ngx_module_name=ngx_stream_limit_conn_module
1069         ngx_module_deps=
1070         ngx_module_srcs=src/stream/ngx_stream_limit_conn_module.c
1071         ngx_module_libs=
1072         ngx_module_link=$STREAM_LIMIT_CONN
1073 
1074         . auto/module
1075     fi
1076 
1077     if [ $STREAM_ACCESS = YES ]; then
1078         ngx_module_name=ngx_stream_access_module
1079         ngx_module_deps=
1080         ngx_module_srcs=src/stream/ngx_stream_access_module.c
1081         ngx_module_libs=
1082         ngx_module_link=$STREAM_ACCESS
1083 
1084         . auto/module
1085     fi
1086 
1087     if [ $STREAM_GEO = YES ]; then
1088         ngx_module_name=ngx_stream_geo_module
1089         ngx_module_deps=
1090         ngx_module_srcs=src/stream/ngx_stream_geo_module.c
1091         ngx_module_libs=
1092         ngx_module_link=$STREAM_GEO
1093 
1094         . auto/module
1095     fi
1096 
1097     if [ $STREAM_GEOIP != NO ]; then
1098         ngx_module_name=ngx_stream_geoip_module
1099         ngx_module_deps=
1100         ngx_module_srcs=src/stream/ngx_stream_geoip_module.c
1101         ngx_module_libs=GEOIP
1102         ngx_module_link=$STREAM_GEOIP
1103 
1104         . auto/module
1105     fi
1106 
1107     if [ $STREAM_MAP = YES ]; then
1108         ngx_module_name=ngx_stream_map_module
1109         ngx_module_deps=
1110         ngx_module_srcs=src/stream/ngx_stream_map_module.c
1111         ngx_module_libs=
1112         ngx_module_link=$STREAM_MAP
1113 
1114         . auto/module
1115     fi
1116 
1117     if [ $STREAM_SPLIT_CLIENTS = YES ]; then
1118         ngx_module_name=ngx_stream_split_clients_module
1119         ngx_module_deps=
1120         ngx_module_srcs=src/stream/ngx_stream_split_clients_module.c
1121         ngx_module_libs=
1122         ngx_module_link=$STREAM_SPLIT_CLIENTS
1123 
1124         . auto/module
1125     fi
1126 
1127     if [ $STREAM_RETURN = YES ]; then
1128         ngx_module_name=ngx_stream_return_module
1129         ngx_module_deps=
1130         ngx_module_srcs=src/stream/ngx_stream_return_module.c
1131         ngx_module_libs=
1132         ngx_module_link=$STREAM_RETURN
1133 
1134         . auto/module
1135     fi
1136 
1137     if [ $STREAM_UPSTREAM_HASH = YES ]; then
1138         ngx_module_name=ngx_stream_upstream_hash_module
1139         ngx_module_deps=
1140         ngx_module_srcs=src/stream/ngx_stream_upstream_hash_module.c
1141         ngx_module_libs=
1142         ngx_module_link=$STREAM_UPSTREAM_HASH
1143 
1144         . auto/module
1145     fi
1146 
1147     if [ $STREAM_UPSTREAM_LEAST_CONN = YES ]; then
1148         ngx_module_name=ngx_stream_upstream_least_conn_module
1149         ngx_module_deps=
1150         ngx_module_srcs=src/stream/ngx_stream_upstream_least_conn_module.c
1151         ngx_module_libs=
1152         ngx_module_link=$STREAM_UPSTREAM_LEAST_CONN
1153 
1154         . auto/module
1155     fi
1156 
1157     if [ $STREAM_UPSTREAM_RANDOM = YES ]; then
1158         ngx_module_name=ngx_stream_upstream_random_module
1159         ngx_module_deps=
1160         ngx_module_srcs=src/stream/ngx_stream_upstream_random_module.c
1161         ngx_module_libs=
1162         ngx_module_link=$STREAM_UPSTREAM_RANDOM
1163 
1164         . auto/module
1165     fi
1166 
1167     if [ $STREAM_UPSTREAM_ZONE = YES ]; then
1168         have=NGX_STREAM_UPSTREAM_ZONE . auto/have
1169 
1170         ngx_module_name=ngx_stream_upstream_zone_module
1171         ngx_module_deps=
1172         ngx_module_srcs=src/stream/ngx_stream_upstream_zone_module.c
1173         ngx_module_libs=
1174         ngx_module_link=$STREAM_UPSTREAM_ZONE
1175 
1176         . auto/module
1177     fi
1178 
1179     if [ $STREAM_SSL_PREREAD = YES ]; then
1180         ngx_module_name=ngx_stream_ssl_preread_module
1181         ngx_module_deps=
1182         ngx_module_srcs=src/stream/ngx_stream_ssl_preread_module.c
1183         ngx_module_libs=
1184         ngx_module_link=$STREAM_SSL_PREREAD
1185 
1186         . auto/module
1187     fi
1188 fi
1189 
1190 
1191 #if [ -r $NGX_OBJS/auto ]; then
1192 #    . $NGX_OBJS/auto
1193 #fi
1194 
1195 
1196 if test -n "$NGX_ADDONS"; then
1197 
1198     echo configuring additional modules
1199 
1200     for ngx_addon_dir in $NGX_ADDONS
1201     do
1202         echo "adding module in $ngx_addon_dir"
1203 
1204         ngx_module_type=
1205         ngx_module_name=
1206         ngx_module_incs=
1207         ngx_module_deps=
1208         ngx_module_srcs=
1209         ngx_module_libs=
1210         ngx_module_order=
1211         ngx_module_link=ADDON
1212 
1213         if test -f $ngx_addon_dir/config; then
1214             . $ngx_addon_dir/config
1215 
1216             echo " + $ngx_addon_name was configured"
1217 
1218         else
1219             echo "$0: error: no $ngx_addon_dir/config was found"
1220             exit 1
1221         fi
1222     done
1223 fi
1224 
1225 
1226 if test -n "$DYNAMIC_ADDONS"; then
1227 
1228     echo configuring additional dynamic modules
1229 
1230     for ngx_addon_dir in $DYNAMIC_ADDONS
1231     do
1232         echo "adding module in $ngx_addon_dir"
1233 
1234         ngx_module_type=
1235         ngx_module_name=
1236         ngx_module_incs=
1237         ngx_module_deps=
1238         ngx_module_srcs=
1239         ngx_module_libs=
1240         ngx_module_order=
1241         ngx_module_link=DYNAMIC
1242 
1243         if test -f $ngx_addon_dir/config; then
1244             . $ngx_addon_dir/config
1245 
1246             echo " + $ngx_addon_name was configured"
1247 
1248         else
1249             echo "$0: error: no $ngx_addon_dir/config was found"
1250             exit 1
1251         fi
1252     done
1253 fi
1254 
1255 
1256 if [ $USE_OPENSSL = YES ]; then
1257     ngx_module_type=CORE
1258     ngx_module_name=ngx_openssl_module
1259     ngx_module_incs=
1260     ngx_module_deps=src/event/ngx_event_openssl.h
1261     ngx_module_srcs="src/event/ngx_event_openssl.c
1262                      src/event/ngx_event_openssl_stapling.c"
1263     ngx_module_libs=
1264     ngx_module_link=YES
1265     ngx_module_order=
1266 
1267     . auto/module
1268 fi
1269 
1270 
1271 if [ $USE_PCRE = YES ]; then
1272     ngx_module_type=CORE
1273     ngx_module_name=ngx_regex_module
1274     ngx_module_incs=
1275     ngx_module_deps=src/core/ngx_regex.h
1276     ngx_module_srcs=src/core/ngx_regex.c
1277     ngx_module_libs=
1278     ngx_module_link=YES
1279     ngx_module_order=
1280 
1281     . auto/module
1282 fi
1283 
1284 
1285 modules="$CORE_MODULES $EVENT_MODULES"
1286 
1287 
1288 # thread pool module should be initialized after events
1289 if [ $USE_THREADS = YES ]; then
1290     modules="$modules $THREAD_POOL_MODULE"
1291 fi
1292 
1293 
1294 if [ $HTTP = YES ]; then
1295     modules="$modules $HTTP_MODULES $HTTP_FILTER_MODULES \
1296              $HTTP_AUX_FILTER_MODULES $HTTP_INIT_FILTER_MODULES"
1297 
1298     NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(HTTP_DEPS)"
1299 fi
1300 
1301 
1302 if [ $MAIL != NO ]; then
1303 
1304     if [ $MAIL = YES ]; then
1305         modules="$modules $MAIL_MODULES"
1306 
1307     elif [ $MAIL = DYNAMIC ]; then
1308         ngx_module_name=$MAIL_MODULES
1309         ngx_module_incs=
1310         ngx_module_deps=
1311         ngx_module_srcs=$MAIL_SRCS
1312         ngx_module_libs=
1313         ngx_module_link=DYNAMIC
1314 
1315         . auto/module
1316     fi
1317 
1318     NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(MAIL_DEPS)"
1319 fi
1320 
1321 
1322 if [ $STREAM != NO ]; then
1323 
1324     if [ $STREAM = YES ]; then
1325         modules="$modules $STREAM_MODULES"
1326 
1327     elif [ $STREAM = DYNAMIC ]; then
1328         ngx_module_name=$STREAM_MODULES
1329         ngx_module_incs=
1330         ngx_module_deps=
1331         ngx_module_srcs=$STREAM_SRCS
1332         ngx_module_libs=
1333         ngx_module_link=DYNAMIC
1334 
1335         . auto/module
1336     fi
1337 
1338     NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(STREAM_DEPS)"
1339 fi
1340 
1341 
1342 ngx_module_type=MISC
1343 MISC_MODULES=
1344 
1345 if [ $NGX_GOOGLE_PERFTOOLS = YES ]; then
1346     ngx_module_name=ngx_google_perftools_module
1347     ngx_module_incs=
1348     ngx_module_deps=
1349     ngx_module_srcs=src/misc/ngx_google_perftools_module.c
1350     ngx_module_libs=
1351     ngx_module_link=$NGX_GOOGLE_PERFTOOLS
1352 
1353     . auto/module
1354 fi
1355 
1356 if [ $NGX_CPP_TEST = YES ]; then
1357     ngx_module_name=
1358     ngx_module_incs=
1359     ngx_module_deps=
1360     ngx_module_srcs=src/misc/ngx_cpp_test_module.cpp
1361     ngx_module_libs=-lstdc++
1362     ngx_module_link=$NGX_CPP_TEST
1363 
1364     . auto/module
1365 fi
1366 
1367 modules="$modules $MISC_MODULES"
1368 
1369 
1370 if [ $NGX_COMPAT = YES ]; then
1371     have=NGX_COMPAT . auto/have
1372     have=NGX_HTTP_GZIP . auto/have
1373     have=NGX_HTTP_DAV . auto/have
1374     have=NGX_HTTP_REALIP . auto/have
1375     have=NGX_HTTP_X_FORWARDED_FOR . auto/have
1376     have=NGX_HTTP_HEADERS . auto/have
1377     have=NGX_HTTP_UPSTREAM_ZONE . auto/have
1378     have=NGX_STREAM_UPSTREAM_ZONE . auto/have
1379 fi
1380 
1381 
1382 cat << END                                    > $NGX_MODULES_C
1383 
1384 #include <ngx_config.h>
1385 #include <ngx_core.h>
1386 
1387 $NGX_PRAGMA
1388 
1389 END
1390 
1391 for mod in $modules
1392 do
1393     echo "extern ngx_module_t  $mod;"         >> $NGX_MODULES_C
1394 done
1395 
1396 echo                                          >> $NGX_MODULES_C
1397 echo 'ngx_module_t *ngx_modules[] = {'        >> $NGX_MODULES_C
1398 
1399 for mod in $modules
1400 do
1401     echo "    &$mod,"                         >> $NGX_MODULES_C
1402 done
1403 
1404 cat << END                                    >> $NGX_MODULES_C
1405     NULL
1406 };
1407 
1408 END
1409 
1410 echo 'char *ngx_module_names[] = {'           >> $NGX_MODULES_C
1411 
1412 for mod in $modules
1413 do
1414     echo "    \"$mod\","                      >> $NGX_MODULES_C
1415 done
1416 
1417 cat << END                                    >> $NGX_MODULES_C
1418     NULL
1419 };
1420 
1421 END