Back to home page

Nginx displayed by LXR

Source navigation ]
Diff markup ]
Identifier search ]
general search ]
 
 
Version: nginx-1.13.12 ]​[ nginx-1.12.2 ]​

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_KEEPALIVE = YES ]; then
0882         ngx_module_name=ngx_http_upstream_keepalive_module
0883         ngx_module_incs=
0884         ngx_module_deps=
0885         ngx_module_srcs=src/http/modules/ngx_http_upstream_keepalive_module.c
0886         ngx_module_libs=
0887         ngx_module_link=$HTTP_UPSTREAM_KEEPALIVE
0888 
0889         . auto/module
0890     fi
0891 
0892     if [ $HTTP_UPSTREAM_ZONE = YES ]; then
0893         have=NGX_HTTP_UPSTREAM_ZONE . auto/have
0894 
0895         ngx_module_name=ngx_http_upstream_zone_module
0896         ngx_module_incs=
0897         ngx_module_deps=
0898         ngx_module_srcs=src/http/modules/ngx_http_upstream_zone_module.c
0899         ngx_module_libs=
0900         ngx_module_link=$HTTP_UPSTREAM_ZONE
0901 
0902         . auto/module
0903     fi
0904 
0905     if [ $HTTP_STUB_STATUS = YES ]; then
0906         have=NGX_STAT_STUB . auto/have
0907 
0908         ngx_module_name=ngx_http_stub_status_module
0909         ngx_module_incs=
0910         ngx_module_deps=
0911         ngx_module_srcs=src/http/modules/ngx_http_stub_status_module.c
0912         ngx_module_libs=
0913         ngx_module_link=$HTTP_STUB_STATUS
0914 
0915         . auto/module
0916     fi
0917 fi
0918 
0919 
0920 if [ $MAIL != NO ]; then
0921     MAIL_MODULES=
0922     MAIL_DEPS=
0923     MAIL_INCS=
0924 
0925     ngx_module_type=MAIL
0926     ngx_module_libs=
0927     ngx_module_link=YES
0928 
0929     ngx_module_order=
0930 
0931     ngx_module_name="ngx_mail_module ngx_mail_core_module"
0932     ngx_module_incs="src/mail"
0933     ngx_module_deps="src/mail/ngx_mail.h"
0934     ngx_module_srcs="src/mail/ngx_mail.c \
0935                      src/mail/ngx_mail_core_module.c \
0936                      src/mail/ngx_mail_handler.c \
0937                      src/mail/ngx_mail_parse.c"
0938 
0939     . auto/module
0940 
0941     ngx_module_incs=
0942 
0943     if [ $MAIL_SSL = YES ]; then
0944         USE_OPENSSL=YES
0945         have=NGX_MAIL_SSL . auto/have
0946 
0947         ngx_module_name=ngx_mail_ssl_module
0948         ngx_module_deps=src/mail/ngx_mail_ssl_module.h
0949         ngx_module_srcs=src/mail/ngx_mail_ssl_module.c
0950 
0951         . auto/module
0952     fi
0953 
0954     if [ $MAIL_POP3 = YES ]; then
0955         ngx_module_name=ngx_mail_pop3_module
0956         ngx_module_deps=src/mail/ngx_mail_pop3_module.h
0957         ngx_module_srcs="src/mail/ngx_mail_pop3_module.c \
0958                          src/mail/ngx_mail_pop3_handler.c"
0959 
0960         . auto/module
0961     fi
0962 
0963     if [ $MAIL_IMAP = YES ]; then
0964         ngx_module_name=ngx_mail_imap_module
0965         ngx_module_deps=src/mail/ngx_mail_imap_module.h
0966         ngx_module_srcs="src/mail/ngx_mail_imap_module.c \
0967                          src/mail/ngx_mail_imap_handler.c"
0968 
0969         . auto/module
0970     fi
0971 
0972     if [ $MAIL_SMTP = YES ]; then
0973         ngx_module_name=ngx_mail_smtp_module
0974         ngx_module_deps=src/mail/ngx_mail_smtp_module.h
0975         ngx_module_srcs="src/mail/ngx_mail_smtp_module.c \
0976                          src/mail/ngx_mail_smtp_handler.c"
0977 
0978         . auto/module
0979     fi
0980 
0981     ngx_module_name=ngx_mail_auth_http_module
0982     ngx_module_deps=
0983     ngx_module_srcs=src/mail/ngx_mail_auth_http_module.c
0984 
0985     . auto/module
0986 
0987     ngx_module_name=ngx_mail_proxy_module
0988     ngx_module_deps=
0989     ngx_module_srcs=src/mail/ngx_mail_proxy_module.c
0990 
0991     . auto/module
0992 fi
0993 
0994 
0995 if [ $STREAM != NO ]; then
0996     STREAM_MODULES=
0997     STREAM_DEPS=
0998     STREAM_INCS=
0999 
1000     ngx_module_type=STREAM
1001     ngx_module_libs=
1002     ngx_module_link=YES
1003 
1004     ngx_module_order=
1005 
1006     ngx_module_name="ngx_stream_module \
1007                      ngx_stream_core_module \
1008                      ngx_stream_log_module \
1009                      ngx_stream_proxy_module \
1010                      ngx_stream_upstream_module \
1011                      ngx_stream_write_filter_module"
1012     ngx_module_incs="src/stream"
1013     ngx_module_deps="src/stream/ngx_stream.h \
1014                      src/stream/ngx_stream_variables.h \
1015                      src/stream/ngx_stream_script.h \
1016                      src/stream/ngx_stream_upstream.h \
1017                      src/stream/ngx_stream_upstream_round_robin.h"
1018     ngx_module_srcs="src/stream/ngx_stream.c \
1019                      src/stream/ngx_stream_variables.c \
1020                      src/stream/ngx_stream_script.c \
1021                      src/stream/ngx_stream_handler.c \
1022                      src/stream/ngx_stream_core_module.c \
1023                      src/stream/ngx_stream_log_module.c \
1024                      src/stream/ngx_stream_proxy_module.c \
1025                      src/stream/ngx_stream_upstream.c \
1026                      src/stream/ngx_stream_upstream_round_robin.c \
1027                      src/stream/ngx_stream_write_filter_module.c"
1028 
1029     . auto/module
1030 
1031     ngx_module_incs=
1032 
1033     if [ $STREAM_SSL = YES ]; then
1034         USE_OPENSSL=YES
1035         have=NGX_STREAM_SSL . auto/have
1036 
1037         ngx_module_name=ngx_stream_ssl_module
1038         ngx_module_deps=src/stream/ngx_stream_ssl_module.h
1039         ngx_module_srcs=src/stream/ngx_stream_ssl_module.c
1040         ngx_module_libs=
1041         ngx_module_link=$STREAM_SSL
1042 
1043         . auto/module
1044     fi
1045 
1046     if [ $STREAM_REALIP = YES ]; then
1047         ngx_module_name=ngx_stream_realip_module
1048         ngx_module_deps=
1049         ngx_module_srcs=src/stream/ngx_stream_realip_module.c
1050         ngx_module_libs=
1051         ngx_module_link=$STREAM_REALIP
1052 
1053         . auto/module
1054     fi
1055 
1056     if [ $STREAM_LIMIT_CONN = YES ]; then
1057         ngx_module_name=ngx_stream_limit_conn_module
1058         ngx_module_deps=
1059         ngx_module_srcs=src/stream/ngx_stream_limit_conn_module.c
1060         ngx_module_libs=
1061         ngx_module_link=$STREAM_LIMIT_CONN
1062 
1063         . auto/module
1064     fi
1065 
1066     if [ $STREAM_ACCESS = YES ]; then
1067         ngx_module_name=ngx_stream_access_module
1068         ngx_module_deps=
1069         ngx_module_srcs=src/stream/ngx_stream_access_module.c
1070         ngx_module_libs=
1071         ngx_module_link=$STREAM_ACCESS
1072 
1073         . auto/module
1074     fi
1075 
1076     if [ $STREAM_GEO = YES ]; then
1077         ngx_module_name=ngx_stream_geo_module
1078         ngx_module_deps=
1079         ngx_module_srcs=src/stream/ngx_stream_geo_module.c
1080         ngx_module_libs=
1081         ngx_module_link=$STREAM_GEO
1082 
1083         . auto/module
1084     fi
1085 
1086     if [ $STREAM_GEOIP != NO ]; then
1087         ngx_module_name=ngx_stream_geoip_module
1088         ngx_module_deps=
1089         ngx_module_srcs=src/stream/ngx_stream_geoip_module.c
1090         ngx_module_libs=GEOIP
1091         ngx_module_link=$STREAM_GEOIP
1092 
1093         . auto/module
1094     fi
1095 
1096     if [ $STREAM_MAP = YES ]; then
1097         ngx_module_name=ngx_stream_map_module
1098         ngx_module_deps=
1099         ngx_module_srcs=src/stream/ngx_stream_map_module.c
1100         ngx_module_libs=
1101         ngx_module_link=$STREAM_MAP
1102 
1103         . auto/module
1104     fi
1105 
1106     if [ $STREAM_SPLIT_CLIENTS = YES ]; then
1107         ngx_module_name=ngx_stream_split_clients_module
1108         ngx_module_deps=
1109         ngx_module_srcs=src/stream/ngx_stream_split_clients_module.c
1110         ngx_module_libs=
1111         ngx_module_link=$STREAM_SPLIT_CLIENTS
1112 
1113         . auto/module
1114     fi
1115 
1116     if [ $STREAM_RETURN = YES ]; then
1117         ngx_module_name=ngx_stream_return_module
1118         ngx_module_deps=
1119         ngx_module_srcs=src/stream/ngx_stream_return_module.c
1120         ngx_module_libs=
1121         ngx_module_link=$STREAM_RETURN
1122 
1123         . auto/module
1124     fi
1125 
1126     if [ $STREAM_UPSTREAM_HASH = YES ]; then
1127         ngx_module_name=ngx_stream_upstream_hash_module
1128         ngx_module_deps=
1129         ngx_module_srcs=src/stream/ngx_stream_upstream_hash_module.c
1130         ngx_module_libs=
1131         ngx_module_link=$STREAM_UPSTREAM_HASH
1132 
1133         . auto/module
1134     fi
1135 
1136     if [ $STREAM_UPSTREAM_LEAST_CONN = YES ]; then
1137         ngx_module_name=ngx_stream_upstream_least_conn_module
1138         ngx_module_deps=
1139         ngx_module_srcs=src/stream/ngx_stream_upstream_least_conn_module.c
1140         ngx_module_libs=
1141         ngx_module_link=$STREAM_UPSTREAM_LEAST_CONN
1142 
1143         . auto/module
1144     fi
1145 
1146     if [ $STREAM_UPSTREAM_ZONE = YES ]; then
1147         have=NGX_STREAM_UPSTREAM_ZONE . auto/have
1148 
1149         ngx_module_name=ngx_stream_upstream_zone_module
1150         ngx_module_deps=
1151         ngx_module_srcs=src/stream/ngx_stream_upstream_zone_module.c
1152         ngx_module_libs=
1153         ngx_module_link=$STREAM_UPSTREAM_ZONE
1154 
1155         . auto/module
1156     fi
1157 
1158     if [ $STREAM_SSL_PREREAD = YES ]; then
1159         ngx_module_name=ngx_stream_ssl_preread_module
1160         ngx_module_deps=
1161         ngx_module_srcs=src/stream/ngx_stream_ssl_preread_module.c
1162         ngx_module_libs=
1163         ngx_module_link=$STREAM_SSL_PREREAD
1164 
1165         . auto/module
1166     fi
1167 fi
1168 
1169 
1170 #if [ -r $NGX_OBJS/auto ]; then
1171 #    . $NGX_OBJS/auto
1172 #fi
1173 
1174 
1175 if test -n "$NGX_ADDONS"; then
1176 
1177     echo configuring additional modules
1178 
1179     for ngx_addon_dir in $NGX_ADDONS
1180     do
1181         echo "adding module in $ngx_addon_dir"
1182 
1183         ngx_module_type=
1184         ngx_module_name=
1185         ngx_module_incs=
1186         ngx_module_deps=
1187         ngx_module_srcs=
1188         ngx_module_libs=
1189         ngx_module_order=
1190         ngx_module_link=ADDON
1191 
1192         if test -f $ngx_addon_dir/config; then
1193             . $ngx_addon_dir/config
1194 
1195             echo " + $ngx_addon_name was configured"
1196 
1197         else
1198             echo "$0: error: no $ngx_addon_dir/config was found"
1199             exit 1
1200         fi
1201     done
1202 fi
1203 
1204 
1205 if test -n "$DYNAMIC_ADDONS"; then
1206 
1207     echo configuring additional dynamic modules
1208 
1209     for ngx_addon_dir in $DYNAMIC_ADDONS
1210     do
1211         echo "adding module in $ngx_addon_dir"
1212 
1213         ngx_module_type=
1214         ngx_module_name=
1215         ngx_module_incs=
1216         ngx_module_deps=
1217         ngx_module_srcs=
1218         ngx_module_libs=
1219         ngx_module_order=
1220         ngx_module_link=DYNAMIC
1221 
1222         if test -f $ngx_addon_dir/config; then
1223             . $ngx_addon_dir/config
1224 
1225             echo " + $ngx_addon_name was configured"
1226 
1227         else
1228             echo "$0: error: no $ngx_addon_dir/config was found"
1229             exit 1
1230         fi
1231     done
1232 fi
1233 
1234 
1235 if [ $USE_OPENSSL = YES ]; then
1236     ngx_module_type=CORE
1237     ngx_module_name=ngx_openssl_module
1238     ngx_module_incs=
1239     ngx_module_deps=src/event/ngx_event_openssl.h
1240     ngx_module_srcs="src/event/ngx_event_openssl.c
1241                      src/event/ngx_event_openssl_stapling.c"
1242     ngx_module_libs=
1243     ngx_module_link=YES
1244     ngx_module_order=
1245 
1246     . auto/module
1247 fi
1248 
1249 
1250 if [ $USE_PCRE = YES ]; then
1251     ngx_module_type=CORE
1252     ngx_module_name=ngx_regex_module
1253     ngx_module_incs=
1254     ngx_module_deps=src/core/ngx_regex.h
1255     ngx_module_srcs=src/core/ngx_regex.c
1256     ngx_module_libs=
1257     ngx_module_link=YES
1258     ngx_module_order=
1259 
1260     . auto/module
1261 fi
1262 
1263 
1264 modules="$CORE_MODULES $EVENT_MODULES"
1265 
1266 
1267 # thread pool module should be initialized after events
1268 if [ $USE_THREADS = YES ]; then
1269     modules="$modules $THREAD_POOL_MODULE"
1270 fi
1271 
1272 
1273 if [ $HTTP = YES ]; then
1274     modules="$modules $HTTP_MODULES $HTTP_FILTER_MODULES \
1275              $HTTP_AUX_FILTER_MODULES $HTTP_INIT_FILTER_MODULES"
1276 
1277     NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(HTTP_DEPS)"
1278 fi
1279 
1280 
1281 if [ $MAIL != NO ]; then
1282 
1283     if [ $MAIL = YES ]; then
1284         modules="$modules $MAIL_MODULES"
1285 
1286     elif [ $MAIL = DYNAMIC ]; then
1287         ngx_module_name=$MAIL_MODULES
1288         ngx_module_incs=
1289         ngx_module_deps=
1290         ngx_module_srcs=$MAIL_SRCS
1291         ngx_module_libs=
1292         ngx_module_link=DYNAMIC
1293 
1294         . auto/module
1295     fi
1296 
1297     NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(MAIL_DEPS)"
1298 fi
1299 
1300 
1301 if [ $STREAM != NO ]; then
1302 
1303     if [ $STREAM = YES ]; then
1304         modules="$modules $STREAM_MODULES"
1305 
1306     elif [ $STREAM = DYNAMIC ]; then
1307         ngx_module_name=$STREAM_MODULES
1308         ngx_module_incs=
1309         ngx_module_deps=
1310         ngx_module_srcs=$STREAM_SRCS
1311         ngx_module_libs=
1312         ngx_module_link=DYNAMIC
1313 
1314         . auto/module
1315     fi
1316 
1317     NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(STREAM_DEPS)"
1318 fi
1319 
1320 
1321 ngx_module_type=MISC
1322 MISC_MODULES=
1323 
1324 if [ $NGX_GOOGLE_PERFTOOLS = YES ]; then
1325     ngx_module_name=ngx_google_perftools_module
1326     ngx_module_incs=
1327     ngx_module_deps=
1328     ngx_module_srcs=src/misc/ngx_google_perftools_module.c
1329     ngx_module_libs=
1330     ngx_module_link=$NGX_GOOGLE_PERFTOOLS
1331 
1332     . auto/module
1333 fi
1334 
1335 if [ $NGX_CPP_TEST = YES ]; then
1336     ngx_module_name=
1337     ngx_module_incs=
1338     ngx_module_deps=
1339     ngx_module_srcs=src/misc/ngx_cpp_test_module.cpp
1340     ngx_module_libs=-lstdc++
1341     ngx_module_link=$NGX_CPP_TEST
1342 
1343     . auto/module
1344 fi
1345 
1346 modules="$modules $MISC_MODULES"
1347 
1348 
1349 if [ $NGX_COMPAT = YES ]; then
1350     have=NGX_COMPAT . auto/have
1351     have=NGX_HTTP_GZIP . auto/have
1352     have=NGX_HTTP_DAV . auto/have
1353     have=NGX_HTTP_REALIP . auto/have
1354     have=NGX_HTTP_X_FORWARDED_FOR . auto/have
1355     have=NGX_HTTP_HEADERS . auto/have
1356     have=NGX_HTTP_UPSTREAM_ZONE . auto/have
1357     have=NGX_STREAM_UPSTREAM_ZONE . auto/have
1358 fi
1359 
1360 
1361 cat << END                                    > $NGX_MODULES_C
1362 
1363 #include <ngx_config.h>
1364 #include <ngx_core.h>
1365 
1366 $NGX_PRAGMA
1367 
1368 END
1369 
1370 for mod in $modules
1371 do
1372     echo "extern ngx_module_t  $mod;"         >> $NGX_MODULES_C
1373 done
1374 
1375 echo                                          >> $NGX_MODULES_C
1376 echo 'ngx_module_t *ngx_modules[] = {'        >> $NGX_MODULES_C
1377 
1378 for mod in $modules
1379 do
1380     echo "    &$mod,"                         >> $NGX_MODULES_C
1381 done
1382 
1383 cat << END                                    >> $NGX_MODULES_C
1384     NULL
1385 };
1386 
1387 END
1388 
1389 echo 'char *ngx_module_names[] = {'           >> $NGX_MODULES_C
1390 
1391 for mod in $modules
1392 do
1393     echo "    \"$mod\","                      >> $NGX_MODULES_C
1394 done
1395 
1396 cat << END                                    >> $NGX_MODULES_C
1397     NULL
1398 };
1399 
1400 END