| |
| # Copyright (C) Igor Sysoev |
| # Copyright (C) Nginx, Inc. |
| |
| |
| if [ $EVENT_SELECT = NO -a $EVENT_FOUND = NO ]; then |
| EVENT_SELECT=YES |
| fi |
| |
| if [ $EVENT_SELECT = YES ]; then |
| have=NGX_HAVE_SELECT . auto/have |
| CORE_SRCS="$CORE_SRCS $SELECT_SRCS" |
| EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE" |
| fi |
| |
| |
| if [ $EVENT_POLL = NO -a $EVENT_FOUND = NO ]; then |
| EVENT_POLL=YES |
| fi |
| |
| if [ $EVENT_POLL = YES ]; then |
| have=NGX_HAVE_POLL . auto/have |
| CORE_SRCS="$CORE_SRCS $POLL_SRCS" |
| EVENT_MODULES="$EVENT_MODULES $POLL_MODULE" |
| fi |
| |
| |
| if [ $NGX_TEST_BUILD_DEVPOLL = YES ]; then |
| have=NGX_HAVE_DEVPOLL . auto/have |
| have=NGX_TEST_BUILD_DEVPOLL . auto/have |
| EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE" |
| CORE_SRCS="$CORE_SRCS $DEVPOLL_SRCS" |
| fi |
| |
| |
| if [ $NGX_TEST_BUILD_EVENTPORT = YES ]; then |
| have=NGX_HAVE_EVENTPORT . auto/have |
| have=NGX_TEST_BUILD_EVENTPORT . auto/have |
| EVENT_MODULES="$EVENT_MODULES $EVENTPORT_MODULE" |
| CORE_SRCS="$CORE_SRCS $EVENTPORT_SRCS" |
| fi |
| |
| if [ $NGX_TEST_BUILD_EPOLL = YES ]; then |
| have=NGX_HAVE_EPOLL . auto/have |
| have=NGX_HAVE_EPOLLRDHUP . auto/have |
| have=NGX_HAVE_EPOLLEXCLUSIVE . auto/have |
| have=NGX_HAVE_EVENTFD . auto/have |
| have=NGX_TEST_BUILD_EPOLL . auto/have |
| EVENT_MODULES="$EVENT_MODULES $EPOLL_MODULE" |
| CORE_SRCS="$CORE_SRCS $EPOLL_SRCS" |
| fi |
| |
| if [ $NGX_TEST_BUILD_SOLARIS_SENDFILEV = YES ]; then |
| have=NGX_TEST_BUILD_SOLARIS_SENDFILEV . auto/have |
| CORE_SRCS="$CORE_SRCS $SOLARIS_SENDFILEV_SRCS" |
| fi |
| |
| |
| if [ $HTTP = YES ]; then |
| HTTP_MODULES= |
| HTTP_DEPS= |
| HTTP_INCS= |
| |
| ngx_module_type=HTTP |
| |
| if :; then |
| ngx_module_name="ngx_http_module \ |
| ngx_http_core_module \ |
| ngx_http_log_module \ |
| ngx_http_upstream_module" |
| ngx_module_incs="src/http src/http/modules" |
| ngx_module_deps="src/http/ngx_http.h \ |
| src/http/ngx_http_request.h \ |
| src/http/ngx_http_config.h \ |
| src/http/ngx_http_core_module.h \ |
| src/http/ngx_http_cache.h \ |
| src/http/ngx_http_variables.h \ |
| src/http/ngx_http_script.h \ |
| src/http/ngx_http_upstream.h \ |
| src/http/ngx_http_upstream_round_robin.h" |
| ngx_module_srcs="src/http/ngx_http.c \ |
| src/http/ngx_http_core_module.c \ |
| src/http/ngx_http_special_response.c \ |
| src/http/ngx_http_request.c \ |
| src/http/ngx_http_parse.c \ |
| src/http/modules/ngx_http_log_module.c \ |
| src/http/ngx_http_request_body.c \ |
| src/http/ngx_http_variables.c \ |
| src/http/ngx_http_script.c \ |
| src/http/ngx_http_upstream.c \ |
| src/http/ngx_http_upstream_round_robin.c" |
| ngx_module_libs= |
| ngx_module_link=YES |
| |
| . auto/module |
| fi |
| |
| |
| if [ $HTTP_CACHE = YES ]; then |
| have=NGX_HTTP_CACHE . auto/have |
| HTTP_SRCS="$HTTP_SRCS $HTTP_FILE_CACHE_SRCS" |
| fi |
| |
| |
| # the module order is important |
| # ngx_http_static_module |
| # ngx_http_gzip_static_module |
| # ngx_http_dav_module |
| # ngx_http_autoindex_module |
| # ngx_http_index_module |
| # ngx_http_random_index_module |
| # |
| # ngx_http_access_module |
| # ngx_http_realip_module |
| # |
| # |
| # the filter order is important |
| # ngx_http_write_filter |
| # ngx_http_header_filter |
| # ngx_http_chunked_filter |
| # ngx_http_v2_filter |
| # ngx_http_range_header_filter |
| # ngx_http_gzip_filter |
| # ngx_http_postpone_filter |
| # ngx_http_ssi_filter |
| # ngx_http_charset_filter |
| # ngx_http_xslt_filter |
| # ngx_http_image_filter |
| # ngx_http_sub_filter |
| # ngx_http_addition_filter |
| # ngx_http_gunzip_filter |
| # ngx_http_userid_filter |
| # ngx_http_headers_filter |
| # ngx_http_copy_filter |
| # ngx_http_range_body_filter |
| # ngx_http_not_modified_filter |
| # ngx_http_slice_filter |
| |
| ngx_module_type=HTTP_FILTER |
| HTTP_FILTER_MODULES= |
| |
| ngx_module_order="ngx_http_static_module \ |
| ngx_http_gzip_static_module \ |
| ngx_http_dav_module \ |
| ngx_http_autoindex_module \ |
| ngx_http_index_module \ |
| ngx_http_random_index_module \ |
| ngx_http_access_module \ |
| ngx_http_realip_module \ |
| ngx_http_write_filter_module \ |
| ngx_http_header_filter_module \ |
| ngx_http_chunked_filter_module \ |
| ngx_http_v2_filter_module \ |
| ngx_http_range_header_filter_module \ |
| ngx_http_gzip_filter_module \ |
| ngx_http_postpone_filter_module \ |
| ngx_http_ssi_filter_module \ |
| ngx_http_charset_filter_module \ |
| ngx_http_xslt_filter_module \ |
| ngx_http_image_filter_module \ |
| ngx_http_sub_filter_module \ |
| ngx_http_addition_filter_module \ |
| ngx_http_gunzip_filter_module \ |
| ngx_http_userid_filter_module \ |
| ngx_http_headers_filter_module \ |
| ngx_http_copy_filter_module \ |
| ngx_http_range_body_filter_module \ |
| ngx_http_not_modified_filter_module \ |
| ngx_http_slice_filter_module" |
| |
| if :; then |
| ngx_module_name=ngx_http_write_filter_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/ngx_http_write_filter_module.c |
| ngx_module_libs= |
| ngx_module_link=YES |
| |
| . auto/module |
| fi |
| |
| if :; then |
| ngx_module_name=ngx_http_header_filter_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/ngx_http_header_filter_module.c |
| ngx_module_libs= |
| ngx_module_link=YES |
| |
| . auto/module |
| fi |
| |
| if :; then |
| ngx_module_name=ngx_http_chunked_filter_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_chunked_filter_module.c |
| ngx_module_libs= |
| ngx_module_link=YES |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_V2 = YES ]; then |
| ngx_module_name=ngx_http_v2_filter_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/v2/ngx_http_v2_filter_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_V2 |
| |
| . auto/module |
| fi |
| |
| if :; then |
| ngx_module_name=ngx_http_range_header_filter_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_range_filter_module.c |
| ngx_module_libs= |
| ngx_module_link=YES |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_GZIP = YES ]; then |
| have=NGX_HTTP_GZIP . auto/have |
| USE_ZLIB=YES |
| |
| ngx_module_name=ngx_http_gzip_filter_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_gzip_filter_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_GZIP |
| |
| . auto/module |
| fi |
| |
| if :; then |
| ngx_module_name=ngx_http_postpone_filter_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/ngx_http_postpone_filter_module.c |
| ngx_module_libs= |
| ngx_module_link=YES |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_SSI = YES ]; then |
| have=NGX_HTTP_SSI . auto/have |
| |
| ngx_module_name=ngx_http_ssi_filter_module |
| ngx_module_incs= |
| ngx_module_deps=src/http/modules/ngx_http_ssi_filter_module.h |
| ngx_module_srcs=src/http/modules/ngx_http_ssi_filter_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_SSI |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_CHARSET = YES ]; then |
| ngx_module_name=ngx_http_charset_filter_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_charset_filter_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_CHARSET |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_XSLT != NO ]; then |
| ngx_module_name=ngx_http_xslt_filter_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_xslt_filter_module.c |
| ngx_module_libs=LIBXSLT |
| ngx_module_link=$HTTP_XSLT |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_IMAGE_FILTER != NO ]; then |
| ngx_module_name=ngx_http_image_filter_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_image_filter_module.c |
| ngx_module_libs=LIBGD |
| ngx_module_link=$HTTP_IMAGE_FILTER |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_SUB = YES ]; then |
| ngx_module_name=ngx_http_sub_filter_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_sub_filter_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_SUB |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_ADDITION = YES ]; then |
| ngx_module_name=ngx_http_addition_filter_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_addition_filter_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_ADDITION |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_GUNZIP = YES ]; then |
| have=NGX_HTTP_GZIP . auto/have |
| USE_ZLIB=YES |
| |
| ngx_module_name=ngx_http_gunzip_filter_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_gunzip_filter_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_GUNZIP |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_USERID = YES ]; then |
| ngx_module_name=ngx_http_userid_filter_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_userid_filter_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_USERID |
| |
| . auto/module |
| fi |
| |
| if :; then |
| ngx_module_name=ngx_http_headers_filter_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_headers_filter_module.c |
| ngx_module_libs= |
| ngx_module_link=YES |
| |
| . auto/module |
| fi |
| |
| |
| ngx_module_type=HTTP_INIT_FILTER |
| HTTP_INIT_FILTER_MODULES= |
| |
| if :; then |
| ngx_module_name=ngx_http_copy_filter_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/ngx_http_copy_filter_module.c |
| ngx_module_libs= |
| ngx_module_link=YES |
| |
| . auto/module |
| fi |
| |
| if :; then |
| ngx_module_name=ngx_http_range_body_filter_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs= |
| ngx_module_libs= |
| ngx_module_link=YES |
| |
| . auto/module |
| fi |
| |
| if :; then |
| ngx_module_name=ngx_http_not_modified_filter_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_not_modified_filter_module.c |
| ngx_module_libs= |
| ngx_module_link=YES |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_SLICE = YES ]; then |
| ngx_module_name=ngx_http_slice_filter_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_slice_filter_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_SLICE |
| |
| . auto/module |
| fi |
| |
| |
| ngx_module_type=HTTP |
| |
| if [ $HTTP_V2 = YES ]; then |
| have=NGX_HTTP_V2 . auto/have |
| have=NGX_HTTP_HEADERS . auto/have |
| |
| ngx_module_name=ngx_http_v2_module |
| ngx_module_incs=src/http/v2 |
| ngx_module_deps="src/http/v2/ngx_http_v2.h \ |
| src/http/v2/ngx_http_v2_module.h" |
| ngx_module_srcs="src/http/v2/ngx_http_v2.c \ |
| src/http/v2/ngx_http_v2_table.c \ |
| src/http/v2/ngx_http_v2_encode.c \ |
| src/http/v2/ngx_http_v2_huff_decode.c \ |
| src/http/v2/ngx_http_v2_huff_encode.c \ |
| src/http/v2/ngx_http_v2_module.c" |
| ngx_module_libs= |
| ngx_module_link=$HTTP_V2 |
| |
| . auto/module |
| fi |
| |
| if :; then |
| ngx_module_name=ngx_http_static_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_static_module.c |
| ngx_module_libs= |
| ngx_module_link=YES |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_GZIP_STATIC = YES ]; then |
| have=NGX_HTTP_GZIP . auto/have |
| |
| ngx_module_name=ngx_http_gzip_static_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_gzip_static_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_GZIP_STATIC |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_DAV = YES ]; then |
| have=NGX_HTTP_DAV . auto/have |
| |
| ngx_module_name=ngx_http_dav_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_dav_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_DAV |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_AUTOINDEX = YES ]; then |
| ngx_module_name=ngx_http_autoindex_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_autoindex_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_AUTOINDEX |
| |
| . auto/module |
| fi |
| |
| if :; then |
| ngx_module_name=ngx_http_index_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_index_module.c |
| ngx_module_libs= |
| ngx_module_link=YES |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_RANDOM_INDEX = YES ]; then |
| ngx_module_name=ngx_http_random_index_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_random_index_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_RANDOM_INDEX |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_MIRROR = YES ]; then |
| ngx_module_name=ngx_http_mirror_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_mirror_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_MIRROR |
| |
| . auto/module |
| fi |
| |
| if :; then |
| ngx_module_name=ngx_http_try_files_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_try_files_module.c |
| ngx_module_libs= |
| ngx_module_link=YES |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_AUTH_REQUEST = YES ]; then |
| ngx_module_name=ngx_http_auth_request_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_auth_request_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_AUTH_REQUEST |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_AUTH_BASIC = YES ]; then |
| have=NGX_CRYPT . auto/have |
| |
| ngx_module_name=ngx_http_auth_basic_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_auth_basic_module.c |
| ngx_module_libs=$CRYPT_LIB |
| ngx_module_link=$HTTP_AUTH_BASIC |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_ACCESS = YES ]; then |
| ngx_module_name=ngx_http_access_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_access_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_ACCESS |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_LIMIT_CONN = YES ]; then |
| ngx_module_name=ngx_http_limit_conn_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_limit_conn_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_LIMIT_CONN |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_LIMIT_REQ = YES ]; then |
| ngx_module_name=ngx_http_limit_req_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_limit_req_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_LIMIT_REQ |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_REALIP = YES ]; then |
| have=NGX_HTTP_REALIP . auto/have |
| have=NGX_HTTP_X_FORWARDED_FOR . auto/have |
| |
| ngx_module_name=ngx_http_realip_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_realip_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_REALIP |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_STATUS = YES ]; then |
| ngx_module_name=ngx_http_status_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_status_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_STATUS |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_GEO = YES ]; then |
| have=NGX_HTTP_X_FORWARDED_FOR . auto/have |
| |
| ngx_module_name=ngx_http_geo_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_geo_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_GEO |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_GEOIP != NO ]; then |
| have=NGX_HTTP_X_FORWARDED_FOR . auto/have |
| |
| ngx_module_name=ngx_http_geoip_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_geoip_module.c |
| ngx_module_libs=GEOIP |
| ngx_module_link=$HTTP_GEOIP |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_MAP = YES ]; then |
| ngx_module_name=ngx_http_map_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_map_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_MAP |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_SPLIT_CLIENTS = YES ]; then |
| ngx_module_name=ngx_http_split_clients_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_split_clients_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_SPLIT_CLIENTS |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_REFERER = YES ]; then |
| ngx_module_name=ngx_http_referer_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_referer_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_REFERER |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_REWRITE = YES -a $USE_PCRE != DISABLED ]; then |
| USE_PCRE=YES |
| |
| ngx_module_name=ngx_http_rewrite_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_rewrite_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_REWRITE |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_SSL = YES ]; then |
| USE_OPENSSL=YES |
| have=NGX_HTTP_SSL . auto/have |
| |
| ngx_module_name=ngx_http_ssl_module |
| ngx_module_incs= |
| ngx_module_deps=src/http/modules/ngx_http_ssl_module.h |
| ngx_module_srcs=src/http/modules/ngx_http_ssl_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_SSL |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_PROXY = YES ]; then |
| have=NGX_HTTP_X_FORWARDED_FOR . auto/have |
| |
| ngx_module_name=ngx_http_proxy_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_proxy_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_PROXY |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_FASTCGI = YES ]; then |
| ngx_module_name=ngx_http_fastcgi_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_fastcgi_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_FASTCGI |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_UWSGI = YES ]; then |
| ngx_module_name=ngx_http_uwsgi_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_uwsgi_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_UWSGI |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_SCGI = YES ]; then |
| ngx_module_name=ngx_http_scgi_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_scgi_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_SCGI |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_GRPC = YES -a $HTTP_V2 = YES ]; then |
| ngx_module_name=ngx_http_grpc_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_grpc_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_GRPC |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_PERL != NO ]; then |
| ngx_module_name=ngx_http_perl_module |
| ngx_module_incs=src/http/modules/perl |
| ngx_module_deps=src/http/modules/perl/ngx_http_perl_module.h |
| ngx_module_srcs=src/http/modules/perl/ngx_http_perl_module.c |
| ngx_module_libs=PERL |
| ngx_module_link=$HTTP_PERL |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_MEMCACHED = YES ]; then |
| ngx_module_name=ngx_http_memcached_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_memcached_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_MEMCACHED |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_EMPTY_GIF = YES ]; then |
| ngx_module_name=ngx_http_empty_gif_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_empty_gif_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_EMPTY_GIF |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_BROWSER = YES ]; then |
| ngx_module_name=ngx_http_browser_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_browser_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_BROWSER |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_SECURE_LINK = YES ]; then |
| ngx_module_name=ngx_http_secure_link_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_secure_link_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_SECURE_LINK |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_DEGRADATION = YES ]; then |
| have=NGX_HTTP_DEGRADATION . auto/have |
| |
| ngx_module_name=ngx_http_degradation_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_degradation_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_DEGRADATION |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_FLV = YES ]; then |
| ngx_module_name=ngx_http_flv_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_flv_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_FLV |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_MP4 = YES ]; then |
| ngx_module_name=ngx_http_mp4_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_mp4_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_MP4 |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_UPSTREAM_HASH = YES ]; then |
| ngx_module_name=ngx_http_upstream_hash_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_upstream_hash_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_UPSTREAM_HASH |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_UPSTREAM_IP_HASH = YES ]; then |
| ngx_module_name=ngx_http_upstream_ip_hash_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_upstream_ip_hash_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_UPSTREAM_IP_HASH |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_UPSTREAM_LEAST_CONN = YES ]; then |
| ngx_module_name=ngx_http_upstream_least_conn_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_upstream_least_conn_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_UPSTREAM_LEAST_CONN |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_UPSTREAM_RANDOM = YES ]; then |
| ngx_module_name=ngx_http_upstream_random_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_upstream_random_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_UPSTREAM_RANDOM |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_UPSTREAM_KEEPALIVE = YES ]; then |
| ngx_module_name=ngx_http_upstream_keepalive_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_upstream_keepalive_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_UPSTREAM_KEEPALIVE |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_UPSTREAM_ZONE = YES ]; then |
| have=NGX_HTTP_UPSTREAM_ZONE . auto/have |
| |
| ngx_module_name=ngx_http_upstream_zone_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_upstream_zone_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_UPSTREAM_ZONE |
| |
| . auto/module |
| fi |
| |
| if [ $HTTP_STUB_STATUS = YES ]; then |
| have=NGX_STAT_STUB . auto/have |
| |
| ngx_module_name=ngx_http_stub_status_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/http/modules/ngx_http_stub_status_module.c |
| ngx_module_libs= |
| ngx_module_link=$HTTP_STUB_STATUS |
| |
| . auto/module |
| fi |
| fi |
| |
| |
| if [ $MAIL != NO ]; then |
| MAIL_MODULES= |
| MAIL_DEPS= |
| MAIL_INCS= |
| |
| ngx_module_type=MAIL |
| ngx_module_libs= |
| ngx_module_link=YES |
| |
| ngx_module_order= |
| |
| ngx_module_name="ngx_mail_module ngx_mail_core_module" |
| ngx_module_incs="src/mail" |
| ngx_module_deps="src/mail/ngx_mail.h" |
| ngx_module_srcs="src/mail/ngx_mail.c \ |
| src/mail/ngx_mail_core_module.c \ |
| src/mail/ngx_mail_handler.c \ |
| src/mail/ngx_mail_parse.c" |
| |
| . auto/module |
| |
| ngx_module_incs= |
| |
| if [ $MAIL_SSL = YES ]; then |
| USE_OPENSSL=YES |
| have=NGX_MAIL_SSL . auto/have |
| |
| ngx_module_name=ngx_mail_ssl_module |
| ngx_module_deps=src/mail/ngx_mail_ssl_module.h |
| ngx_module_srcs=src/mail/ngx_mail_ssl_module.c |
| |
| . auto/module |
| fi |
| |
| if [ $MAIL_POP3 = YES ]; then |
| ngx_module_name=ngx_mail_pop3_module |
| ngx_module_deps=src/mail/ngx_mail_pop3_module.h |
| ngx_module_srcs="src/mail/ngx_mail_pop3_module.c \ |
| src/mail/ngx_mail_pop3_handler.c" |
| |
| . auto/module |
| fi |
| |
| if [ $MAIL_IMAP = YES ]; then |
| ngx_module_name=ngx_mail_imap_module |
| ngx_module_deps=src/mail/ngx_mail_imap_module.h |
| ngx_module_srcs="src/mail/ngx_mail_imap_module.c \ |
| src/mail/ngx_mail_imap_handler.c" |
| |
| . auto/module |
| fi |
| |
| if [ $MAIL_SMTP = YES ]; then |
| ngx_module_name=ngx_mail_smtp_module |
| ngx_module_deps=src/mail/ngx_mail_smtp_module.h |
| ngx_module_srcs="src/mail/ngx_mail_smtp_module.c \ |
| src/mail/ngx_mail_smtp_handler.c" |
| |
| . auto/module |
| fi |
| |
| ngx_module_name=ngx_mail_auth_http_module |
| ngx_module_deps= |
| ngx_module_srcs=src/mail/ngx_mail_auth_http_module.c |
| |
| . auto/module |
| |
| ngx_module_name=ngx_mail_proxy_module |
| ngx_module_deps= |
| ngx_module_srcs=src/mail/ngx_mail_proxy_module.c |
| |
| . auto/module |
| |
| ngx_module_name=ngx_mail_realip_module |
| ngx_module_deps= |
| ngx_module_srcs=src/mail/ngx_mail_realip_module.c |
| |
| . auto/module |
| fi |
| |
| |
| if [ $STREAM != NO ]; then |
| STREAM_MODULES= |
| STREAM_DEPS= |
| STREAM_INCS= |
| |
| ngx_module_type=STREAM |
| ngx_module_libs= |
| ngx_module_link=YES |
| |
| ngx_module_order= |
| |
| ngx_module_name="ngx_stream_module \ |
| ngx_stream_core_module \ |
| ngx_stream_log_module \ |
| ngx_stream_proxy_module \ |
| ngx_stream_upstream_module \ |
| ngx_stream_write_filter_module" |
| ngx_module_incs="src/stream" |
| ngx_module_deps="src/stream/ngx_stream.h \ |
| src/stream/ngx_stream_variables.h \ |
| src/stream/ngx_stream_script.h \ |
| src/stream/ngx_stream_upstream.h \ |
| src/stream/ngx_stream_upstream_round_robin.h" |
| ngx_module_srcs="src/stream/ngx_stream.c \ |
| src/stream/ngx_stream_variables.c \ |
| src/stream/ngx_stream_script.c \ |
| src/stream/ngx_stream_handler.c \ |
| src/stream/ngx_stream_core_module.c \ |
| src/stream/ngx_stream_log_module.c \ |
| src/stream/ngx_stream_proxy_module.c \ |
| src/stream/ngx_stream_upstream.c \ |
| src/stream/ngx_stream_upstream_round_robin.c \ |
| src/stream/ngx_stream_write_filter_module.c" |
| |
| . auto/module |
| |
| ngx_module_incs= |
| |
| if [ $STREAM_SSL = YES ]; then |
| USE_OPENSSL=YES |
| have=NGX_STREAM_SSL . auto/have |
| |
| ngx_module_name=ngx_stream_ssl_module |
| ngx_module_deps=src/stream/ngx_stream_ssl_module.h |
| ngx_module_srcs=src/stream/ngx_stream_ssl_module.c |
| ngx_module_libs= |
| ngx_module_link=$STREAM_SSL |
| |
| . auto/module |
| fi |
| |
| if [ $STREAM_REALIP = YES ]; then |
| ngx_module_name=ngx_stream_realip_module |
| ngx_module_deps= |
| ngx_module_srcs=src/stream/ngx_stream_realip_module.c |
| ngx_module_libs= |
| ngx_module_link=$STREAM_REALIP |
| |
| . auto/module |
| fi |
| |
| if [ $STREAM_LIMIT_CONN = YES ]; then |
| ngx_module_name=ngx_stream_limit_conn_module |
| ngx_module_deps= |
| ngx_module_srcs=src/stream/ngx_stream_limit_conn_module.c |
| ngx_module_libs= |
| ngx_module_link=$STREAM_LIMIT_CONN |
| |
| . auto/module |
| fi |
| |
| if [ $STREAM_ACCESS = YES ]; then |
| ngx_module_name=ngx_stream_access_module |
| ngx_module_deps= |
| ngx_module_srcs=src/stream/ngx_stream_access_module.c |
| ngx_module_libs= |
| ngx_module_link=$STREAM_ACCESS |
| |
| . auto/module |
| fi |
| |
| if [ $STREAM_GEO = YES ]; then |
| ngx_module_name=ngx_stream_geo_module |
| ngx_module_deps= |
| ngx_module_srcs=src/stream/ngx_stream_geo_module.c |
| ngx_module_libs= |
| ngx_module_link=$STREAM_GEO |
| |
| . auto/module |
| fi |
| |
| if [ $STREAM_GEOIP != NO ]; then |
| ngx_module_name=ngx_stream_geoip_module |
| ngx_module_deps= |
| ngx_module_srcs=src/stream/ngx_stream_geoip_module.c |
| ngx_module_libs=GEOIP |
| ngx_module_link=$STREAM_GEOIP |
| |
| . auto/module |
| fi |
| |
| if [ $STREAM_MAP = YES ]; then |
| ngx_module_name=ngx_stream_map_module |
| ngx_module_deps= |
| ngx_module_srcs=src/stream/ngx_stream_map_module.c |
| ngx_module_libs= |
| ngx_module_link=$STREAM_MAP |
| |
| . auto/module |
| fi |
| |
| if [ $STREAM_SPLIT_CLIENTS = YES ]; then |
| ngx_module_name=ngx_stream_split_clients_module |
| ngx_module_deps= |
| ngx_module_srcs=src/stream/ngx_stream_split_clients_module.c |
| ngx_module_libs= |
| ngx_module_link=$STREAM_SPLIT_CLIENTS |
| |
| . auto/module |
| fi |
| |
| if [ $STREAM_RETURN = YES ]; then |
| ngx_module_name=ngx_stream_return_module |
| ngx_module_deps= |
| ngx_module_srcs=src/stream/ngx_stream_return_module.c |
| ngx_module_libs= |
| ngx_module_link=$STREAM_RETURN |
| |
| . auto/module |
| fi |
| |
| if [ $STREAM_SET = YES ]; then |
| ngx_module_name=ngx_stream_set_module |
| ngx_module_deps= |
| ngx_module_srcs=src/stream/ngx_stream_set_module.c |
| ngx_module_libs= |
| ngx_module_link=$STREAM_SET |
| |
| . auto/module |
| fi |
| |
| if [ $STREAM_UPSTREAM_HASH = YES ]; then |
| ngx_module_name=ngx_stream_upstream_hash_module |
| ngx_module_deps= |
| ngx_module_srcs=src/stream/ngx_stream_upstream_hash_module.c |
| ngx_module_libs= |
| ngx_module_link=$STREAM_UPSTREAM_HASH |
| |
| . auto/module |
| fi |
| |
| if [ $STREAM_UPSTREAM_LEAST_CONN = YES ]; then |
| ngx_module_name=ngx_stream_upstream_least_conn_module |
| ngx_module_deps= |
| ngx_module_srcs=src/stream/ngx_stream_upstream_least_conn_module.c |
| ngx_module_libs= |
| ngx_module_link=$STREAM_UPSTREAM_LEAST_CONN |
| |
| . auto/module |
| fi |
| |
| if [ $STREAM_UPSTREAM_RANDOM = YES ]; then |
| ngx_module_name=ngx_stream_upstream_random_module |
| ngx_module_deps= |
| ngx_module_srcs=src/stream/ngx_stream_upstream_random_module.c |
| ngx_module_libs= |
| ngx_module_link=$STREAM_UPSTREAM_RANDOM |
| |
| . auto/module |
| fi |
| |
| if [ $STREAM_UPSTREAM_ZONE = YES ]; then |
| have=NGX_STREAM_UPSTREAM_ZONE . auto/have |
| |
| ngx_module_name=ngx_stream_upstream_zone_module |
| ngx_module_deps= |
| ngx_module_srcs=src/stream/ngx_stream_upstream_zone_module.c |
| ngx_module_libs= |
| ngx_module_link=$STREAM_UPSTREAM_ZONE |
| |
| . auto/module |
| fi |
| |
| if [ $STREAM_SSL_PREREAD = YES ]; then |
| ngx_module_name=ngx_stream_ssl_preread_module |
| ngx_module_deps= |
| ngx_module_srcs=src/stream/ngx_stream_ssl_preread_module.c |
| ngx_module_libs= |
| ngx_module_link=$STREAM_SSL_PREREAD |
| |
| . auto/module |
| fi |
| fi |
| |
| |
| #if [ -r $NGX_OBJS/auto ]; then |
| # . $NGX_OBJS/auto |
| #fi |
| |
| |
| if test -n "$NGX_ADDONS"; then |
| |
| echo configuring additional modules |
| |
| for ngx_addon_dir in $NGX_ADDONS |
| do |
| echo "adding module in $ngx_addon_dir" |
| |
| ngx_module_type= |
| ngx_module_name= |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs= |
| ngx_module_libs= |
| ngx_module_order= |
| ngx_module_link=ADDON |
| |
| if test -f $ngx_addon_dir/config; then |
| . $ngx_addon_dir/config |
| |
| echo " + $ngx_addon_name was configured" |
| |
| else |
| echo "$0: error: no $ngx_addon_dir/config was found" |
| exit 1 |
| fi |
| done |
| fi |
| |
| |
| if test -n "$DYNAMIC_ADDONS"; then |
| |
| echo configuring additional dynamic modules |
| |
| for ngx_addon_dir in $DYNAMIC_ADDONS |
| do |
| echo "adding module in $ngx_addon_dir" |
| |
| ngx_module_type= |
| ngx_module_name= |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs= |
| ngx_module_libs= |
| ngx_module_order= |
| ngx_module_link=DYNAMIC |
| |
| if test -f $ngx_addon_dir/config; then |
| . $ngx_addon_dir/config |
| |
| echo " + $ngx_addon_name was configured" |
| |
| else |
| echo "$0: error: no $ngx_addon_dir/config was found" |
| exit 1 |
| fi |
| done |
| fi |
| |
| |
| if [ $USE_OPENSSL = YES ]; then |
| ngx_module_type=CORE |
| ngx_module_name=ngx_openssl_module |
| ngx_module_incs= |
| ngx_module_deps=src/event/ngx_event_openssl.h |
| ngx_module_srcs="src/event/ngx_event_openssl.c |
| src/event/ngx_event_openssl_stapling.c" |
| ngx_module_libs= |
| ngx_module_link=YES |
| ngx_module_order= |
| |
| . auto/module |
| fi |
| |
| |
| if [ $USE_PCRE = YES ]; then |
| ngx_module_type=CORE |
| ngx_module_name=ngx_regex_module |
| ngx_module_incs= |
| ngx_module_deps=src/core/ngx_regex.h |
| ngx_module_srcs=src/core/ngx_regex.c |
| ngx_module_libs= |
| ngx_module_link=YES |
| ngx_module_order= |
| |
| . auto/module |
| fi |
| |
| |
| modules="$CORE_MODULES $EVENT_MODULES" |
| |
| |
| # thread pool module should be initialized after events |
| if [ $USE_THREADS = YES ]; then |
| modules="$modules $THREAD_POOL_MODULE" |
| fi |
| |
| |
| if [ $HTTP = YES ]; then |
| modules="$modules $HTTP_MODULES $HTTP_FILTER_MODULES \ |
| $HTTP_AUX_FILTER_MODULES $HTTP_INIT_FILTER_MODULES" |
| |
| NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(HTTP_DEPS)" |
| fi |
| |
| |
| if [ $MAIL != NO ]; then |
| |
| if [ $MAIL = YES ]; then |
| modules="$modules $MAIL_MODULES" |
| |
| elif [ $MAIL = DYNAMIC ]; then |
| ngx_module_name=$MAIL_MODULES |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=$MAIL_SRCS |
| ngx_module_libs= |
| ngx_module_link=DYNAMIC |
| |
| . auto/module |
| fi |
| |
| NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(MAIL_DEPS)" |
| fi |
| |
| |
| if [ $STREAM != NO ]; then |
| |
| if [ $STREAM = YES ]; then |
| modules="$modules $STREAM_MODULES" |
| |
| elif [ $STREAM = DYNAMIC ]; then |
| ngx_module_name=$STREAM_MODULES |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=$STREAM_SRCS |
| ngx_module_libs= |
| ngx_module_link=DYNAMIC |
| |
| . auto/module |
| fi |
| |
| NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(STREAM_DEPS)" |
| fi |
| |
| |
| ngx_module_type=MISC |
| MISC_MODULES= |
| |
| if [ $NGX_GOOGLE_PERFTOOLS = YES ]; then |
| ngx_module_name=ngx_google_perftools_module |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/misc/ngx_google_perftools_module.c |
| ngx_module_libs= |
| ngx_module_link=$NGX_GOOGLE_PERFTOOLS |
| |
| . auto/module |
| fi |
| |
| if [ $NGX_CPP_TEST = YES ]; then |
| ngx_module_name= |
| ngx_module_incs= |
| ngx_module_deps= |
| ngx_module_srcs=src/misc/ngx_cpp_test_module.cpp |
| ngx_module_libs=-lstdc++ |
| ngx_module_link=$NGX_CPP_TEST |
| |
| . auto/module |
| fi |
| |
| modules="$modules $MISC_MODULES" |
| |
| |
| if [ $NGX_COMPAT = YES ]; then |
| have=NGX_COMPAT . auto/have |
| have=NGX_HTTP_GZIP . auto/have |
| have=NGX_HTTP_DAV . auto/have |
| have=NGX_HTTP_REALIP . auto/have |
| have=NGX_HTTP_X_FORWARDED_FOR . auto/have |
| have=NGX_HTTP_HEADERS . auto/have |
| have=NGX_HTTP_UPSTREAM_ZONE . auto/have |
| have=NGX_STREAM_UPSTREAM_ZONE . auto/have |
| fi |
| |
| |
| cat << END > $NGX_MODULES_C |
| |
| #include <ngx_config.h> |
| #include <ngx_core.h> |
| |
| $NGX_PRAGMA |
| |
| END |
| |
| for mod in $modules |
| do |
| echo "extern ngx_module_t $mod;" >> $NGX_MODULES_C |
| done |
| |
| echo >> $NGX_MODULES_C |
| echo 'ngx_module_t *ngx_modules[] = {' >> $NGX_MODULES_C |
| |
| for mod in $modules |
| do |
| echo " &$mod," >> $NGX_MODULES_C |
| done |
| |
| cat << END >> $NGX_MODULES_C |
| NULL |
| }; |
| |
| END |
| |
| echo 'char *ngx_module_names[] = {' >> $NGX_MODULES_C |
| |
| for mod in $modules |
| do |
| echo " \"$mod\"," >> $NGX_MODULES_C |
| done |
| |
| cat << END >> $NGX_MODULES_C |
| NULL |
| }; |
| |
| END |