2004-02-03 05:19:52 +08:00
|
|
|
|
2004-09-30 00:00:49 +08:00
|
|
|
# Copyright (C) Igor Sysoev
|
2012-01-18 23:07:43 +08:00
|
|
|
# Copyright (C) Nginx, Inc.
|
2004-09-30 00:00:49 +08:00
|
|
|
|
|
|
|
|
2004-02-10 04:47:18 +08:00
|
|
|
if [ $EVENT_SELECT = NO -a $EVENT_FOUND = NO ]; then
|
|
|
|
EVENT_SELECT=YES
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ $EVENT_SELECT = YES ]; then
|
2004-11-26 00:17:31 +08:00
|
|
|
have=NGX_HAVE_SELECT . auto/have
|
2004-02-10 04:47:18 +08:00
|
|
|
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
|
2004-11-26 00:17:31 +08:00
|
|
|
have=NGX_HAVE_POLL . auto/have
|
2004-02-10 04:47:18 +08:00
|
|
|
CORE_SRCS="$CORE_SRCS $POLL_SRCS"
|
|
|
|
EVENT_MODULES="$EVENT_MODULES $POLL_MODULE"
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
2004-11-26 00:17:31 +08:00
|
|
|
if [ $NGX_TEST_BUILD_DEVPOLL = YES ]; then
|
|
|
|
have=NGX_HAVE_DEVPOLL . auto/have
|
|
|
|
have=NGX_TEST_BUILD_DEVPOLL . auto/have
|
2004-02-10 04:47:18 +08:00
|
|
|
EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE"
|
|
|
|
CORE_SRCS="$CORE_SRCS $DEVPOLL_SRCS"
|
|
|
|
fi
|
|
|
|
|
2006-09-26 20:20:12 +08:00
|
|
|
|
|
|
|
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
|
|
|
|
|
2004-11-26 00:17:31 +08:00
|
|
|
if [ $NGX_TEST_BUILD_EPOLL = YES ]; then
|
|
|
|
have=NGX_HAVE_EPOLL . auto/have
|
2013-07-12 18:51:07 +08:00
|
|
|
have=NGX_HAVE_EPOLLRDHUP . auto/have
|
2016-07-15 20:18:57 +08:00
|
|
|
have=NGX_HAVE_EPOLLEXCLUSIVE . auto/have
|
2009-08-28 16:12:35 +08:00
|
|
|
have=NGX_HAVE_EVENTFD . auto/have
|
2004-11-26 00:17:31 +08:00
|
|
|
have=NGX_TEST_BUILD_EPOLL . auto/have
|
2004-02-10 04:47:18 +08:00
|
|
|
EVENT_MODULES="$EVENT_MODULES $EPOLL_MODULE"
|
|
|
|
CORE_SRCS="$CORE_SRCS $EPOLL_SRCS"
|
|
|
|
fi
|
|
|
|
|
2004-12-03 02:40:46 +08:00
|
|
|
if [ $NGX_TEST_BUILD_SOLARIS_SENDFILEV = YES ]; then
|
|
|
|
have=NGX_TEST_BUILD_SOLARIS_SENDFILEV . auto/have
|
|
|
|
CORE_SRCS="$CORE_SRCS $SOLARIS_SENDFILEV_SRCS"
|
|
|
|
fi
|
|
|
|
|
2004-02-10 04:47:18 +08:00
|
|
|
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
|
|
|
|
|
|
|
|
2005-06-07 23:56:31 +08:00
|
|
|
if [ $HTTP != YES ]; then
|
|
|
|
have=NGX_CRYPT . auto/nohave
|
|
|
|
CRYPT_LIB=
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
2009-03-23 21:14:51 +08:00
|
|
|
if [ $HTTP_CACHE = YES ]; then
|
|
|
|
have=NGX_HTTP_CACHE . auto/have
|
|
|
|
HTTP_SRCS="$HTTP_SRCS $HTTP_FILE_CACHE_SRCS"
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
nginx-0.1.29-RELEASE import
*) Feature: the ngx_http_ssi_module supports "include virtual" command.
*) Feature: the ngx_http_ssi_module supports the condition command like
'if expr="$NAME"' and "else" and "endif" commands. Only one nested
level is supported.
*) Feature: the ngx_http_ssi_module supports the DATE_LOCAL and
DATE_GMT variables and "config timefmt" command.
*) Feature: the "ssi_ignore_recycled_buffers" directive.
*) Bugfix: the "echo" command did not show the default value for the
empty QUERY_STRING variable.
*) Change: the ngx_http_proxy_module was rewritten.
*) Feature: the "proxy_redirect", "proxy_pass_request_headers",
"proxy_pass_request_body", and "proxy_method" directives.
*) Feature: the "proxy_set_header" directive. The "proxy_x_var" was
canceled and must be replaced with the proxy_set_header directive.
*) Change: the "proxy_preserve_host" is canceled and must be replaced
with the "proxy_set_header Host $host" and the "proxy_redirect off"
directives, the "proxy_set_header Host $host:$proxy_port" directive
and the appropriate proxy_redirect directives.
*) Change: the "proxy_set_x_real_ip" is canceled and must be replaced
with the "proxy_set_header X-Real-IP $remote_addr" directive.
*) Change: the "proxy_add_x_forwarded_for" is canceled and must be
replaced with
the "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for"
directive.
*) Change: the "proxy_set_x_url" is canceled and must be replaced with
the "proxy_set_header X-URL http://$host:$server_port$request_uri"
directive.
*) Feature: the "fastcgi_param" directive.
*) Change: the "fastcgi_root", "fastcgi_set_var" and "fastcgi_params"
directive are canceled and must be replaced with the fastcgi_param
directives.
*) Feature: the "index" directive can use the variables.
*) Feature: the "index" directive can be used at http and server levels.
*) Change: the last index only in the "index" directive can be absolute.
*) Feature: the "rewrite" directive can use the variables.
*) Feature: the "internal" directive.
*) Feature: the CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR,
SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME,
REQUEST_METHOD, REQUEST_URI, and REMOTE_USER variables.
*) Change: nginx now passes the invalid lines in a client request
headers or a backend response header.
*) Bugfix: if the backend did not transfer response for a long time and
the "send_timeout" was less than "proxy_read_timeout", then nginx
returned the 408 response.
*) Bugfix: the segmentation fault was occurred if the backend sent an
invalid line in response header; the bug had appeared in 0.1.26.
*) Bugfix: the segmentation fault may occurred in FastCGI fault
tolerance configuration.
*) Bugfix: the "expires" directive did not remove the previous
"Expires" and "Cache-Control" headers.
*) Bugfix: nginx did not take into account trailing dot in "Host"
header line.
*) Bugfix: the ngx_http_auth_module did not work under Linux.
*) Bugfix: the rewrite directive worked incorrectly, if the arguments
were in a request.
*) Bugfix: nginx could not be built on MacOS X.
2005-05-12 22:58:06 +08:00
|
|
|
if [ $HTTP_SSI = YES ]; then
|
|
|
|
HTTP_POSTPONE=YES
|
|
|
|
fi
|
|
|
|
|
2006-04-26 17:52:47 +08:00
|
|
|
|
2015-12-07 21:30:48 +08:00
|
|
|
if [ $HTTP_SLICE = YES ]; then
|
|
|
|
HTTP_POSTPONE=YES
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
2006-04-26 17:52:47 +08:00
|
|
|
if [ $HTTP_ADDITION = YES ]; then
|
|
|
|
HTTP_POSTPONE=YES
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
2005-09-08 22:36:09 +08:00
|
|
|
# the module order is important
|
2008-08-04 22:48:15 +08:00
|
|
|
# ngx_http_static_module
|
|
|
|
# ngx_http_gzip_static_module
|
|
|
|
# ngx_http_dav_module
|
2005-09-08 22:36:09 +08:00
|
|
|
# ngx_http_autoindex_module
|
|
|
|
# ngx_http_index_module
|
2008-09-05 23:45:55 +08:00
|
|
|
# ngx_http_random_index_module
|
2005-09-08 22:36:09 +08:00
|
|
|
#
|
2005-11-15 21:30:52 +08:00
|
|
|
# ngx_http_access_module
|
|
|
|
# ngx_http_realip_module
|
|
|
|
#
|
2005-09-08 22:36:09 +08:00
|
|
|
#
|
2004-07-15 00:01:42 +08:00
|
|
|
# the filter order is important
|
|
|
|
# ngx_http_write_filter
|
|
|
|
# ngx_http_header_filter
|
|
|
|
# ngx_http_chunked_filter
|
2015-09-12 01:13:06 +08:00
|
|
|
# ngx_http_v2_filter
|
2004-07-15 00:01:42 +08:00
|
|
|
# ngx_http_range_header_filter
|
|
|
|
# ngx_http_gzip_filter
|
nginx-0.1.29-RELEASE import
*) Feature: the ngx_http_ssi_module supports "include virtual" command.
*) Feature: the ngx_http_ssi_module supports the condition command like
'if expr="$NAME"' and "else" and "endif" commands. Only one nested
level is supported.
*) Feature: the ngx_http_ssi_module supports the DATE_LOCAL and
DATE_GMT variables and "config timefmt" command.
*) Feature: the "ssi_ignore_recycled_buffers" directive.
*) Bugfix: the "echo" command did not show the default value for the
empty QUERY_STRING variable.
*) Change: the ngx_http_proxy_module was rewritten.
*) Feature: the "proxy_redirect", "proxy_pass_request_headers",
"proxy_pass_request_body", and "proxy_method" directives.
*) Feature: the "proxy_set_header" directive. The "proxy_x_var" was
canceled and must be replaced with the proxy_set_header directive.
*) Change: the "proxy_preserve_host" is canceled and must be replaced
with the "proxy_set_header Host $host" and the "proxy_redirect off"
directives, the "proxy_set_header Host $host:$proxy_port" directive
and the appropriate proxy_redirect directives.
*) Change: the "proxy_set_x_real_ip" is canceled and must be replaced
with the "proxy_set_header X-Real-IP $remote_addr" directive.
*) Change: the "proxy_add_x_forwarded_for" is canceled and must be
replaced with
the "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for"
directive.
*) Change: the "proxy_set_x_url" is canceled and must be replaced with
the "proxy_set_header X-URL http://$host:$server_port$request_uri"
directive.
*) Feature: the "fastcgi_param" directive.
*) Change: the "fastcgi_root", "fastcgi_set_var" and "fastcgi_params"
directive are canceled and must be replaced with the fastcgi_param
directives.
*) Feature: the "index" directive can use the variables.
*) Feature: the "index" directive can be used at http and server levels.
*) Change: the last index only in the "index" directive can be absolute.
*) Feature: the "rewrite" directive can use the variables.
*) Feature: the "internal" directive.
*) Feature: the CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR,
SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME,
REQUEST_METHOD, REQUEST_URI, and REMOTE_USER variables.
*) Change: nginx now passes the invalid lines in a client request
headers or a backend response header.
*) Bugfix: if the backend did not transfer response for a long time and
the "send_timeout" was less than "proxy_read_timeout", then nginx
returned the 408 response.
*) Bugfix: the segmentation fault was occurred if the backend sent an
invalid line in response header; the bug had appeared in 0.1.26.
*) Bugfix: the segmentation fault may occurred in FastCGI fault
tolerance configuration.
*) Bugfix: the "expires" directive did not remove the previous
"Expires" and "Cache-Control" headers.
*) Bugfix: nginx did not take into account trailing dot in "Host"
header line.
*) Bugfix: the ngx_http_auth_module did not work under Linux.
*) Bugfix: the rewrite directive worked incorrectly, if the arguments
were in a request.
*) Bugfix: nginx could not be built on MacOS X.
2005-05-12 22:58:06 +08:00
|
|
|
# ngx_http_postpone_filter
|
2004-07-15 00:01:42 +08:00
|
|
|
# ngx_http_ssi_filter
|
2010-04-01 18:19:02 +08:00
|
|
|
# ngx_http_charset_filter
|
2008-08-04 22:48:15 +08:00
|
|
|
# ngx_http_xslt_filter
|
2010-03-30 23:04:41 +08:00
|
|
|
# ngx_http_image_filter
|
2008-08-04 22:48:15 +08:00
|
|
|
# ngx_http_sub_filter
|
2006-04-05 21:40:54 +08:00
|
|
|
# ngx_http_addition_filter
|
2012-09-11 00:52:47 +08:00
|
|
|
# ngx_http_gunzip_filter
|
2005-09-08 22:36:09 +08:00
|
|
|
# ngx_http_userid_filter
|
|
|
|
# ngx_http_headers_filter
|
2004-07-15 00:01:42 +08:00
|
|
|
# ngx_http_copy_filter
|
|
|
|
# ngx_http_range_body_filter
|
|
|
|
# ngx_http_not_modified_filter
|
2015-12-07 21:30:48 +08:00
|
|
|
# ngx_http_slice_filter
|
2004-07-15 00:01:42 +08:00
|
|
|
|
2016-02-04 23:30:21 +08:00
|
|
|
ngx_module_type=HTTP_FILTER
|
|
|
|
HTTP_FILTER_MODULES=
|
|
|
|
|
2016-02-05 01:25:29 +08:00
|
|
|
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"
|
|
|
|
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2013-03-20 18:36:57 +08:00
|
|
|
|
2015-09-12 01:13:06 +08:00
|
|
|
if [ $HTTP_V2 = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2013-03-20 18:36:57 +08:00
|
|
|
fi
|
|
|
|
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2004-07-15 00:01:42 +08:00
|
|
|
|
2004-02-03 05:19:52 +08:00
|
|
|
if [ $HTTP_GZIP = YES ]; then
|
2004-03-12 05:34:52 +08:00
|
|
|
have=NGX_HTTP_GZIP . auto/have
|
2004-02-03 05:19:52 +08:00
|
|
|
USE_ZLIB=YES
|
2016-02-04 23:30:21 +08:00
|
|
|
|
|
|
|
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
|
2004-02-03 05:19:52 +08:00
|
|
|
fi
|
|
|
|
|
nginx-0.1.29-RELEASE import
*) Feature: the ngx_http_ssi_module supports "include virtual" command.
*) Feature: the ngx_http_ssi_module supports the condition command like
'if expr="$NAME"' and "else" and "endif" commands. Only one nested
level is supported.
*) Feature: the ngx_http_ssi_module supports the DATE_LOCAL and
DATE_GMT variables and "config timefmt" command.
*) Feature: the "ssi_ignore_recycled_buffers" directive.
*) Bugfix: the "echo" command did not show the default value for the
empty QUERY_STRING variable.
*) Change: the ngx_http_proxy_module was rewritten.
*) Feature: the "proxy_redirect", "proxy_pass_request_headers",
"proxy_pass_request_body", and "proxy_method" directives.
*) Feature: the "proxy_set_header" directive. The "proxy_x_var" was
canceled and must be replaced with the proxy_set_header directive.
*) Change: the "proxy_preserve_host" is canceled and must be replaced
with the "proxy_set_header Host $host" and the "proxy_redirect off"
directives, the "proxy_set_header Host $host:$proxy_port" directive
and the appropriate proxy_redirect directives.
*) Change: the "proxy_set_x_real_ip" is canceled and must be replaced
with the "proxy_set_header X-Real-IP $remote_addr" directive.
*) Change: the "proxy_add_x_forwarded_for" is canceled and must be
replaced with
the "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for"
directive.
*) Change: the "proxy_set_x_url" is canceled and must be replaced with
the "proxy_set_header X-URL http://$host:$server_port$request_uri"
directive.
*) Feature: the "fastcgi_param" directive.
*) Change: the "fastcgi_root", "fastcgi_set_var" and "fastcgi_params"
directive are canceled and must be replaced with the fastcgi_param
directives.
*) Feature: the "index" directive can use the variables.
*) Feature: the "index" directive can be used at http and server levels.
*) Change: the last index only in the "index" directive can be absolute.
*) Feature: the "rewrite" directive can use the variables.
*) Feature: the "internal" directive.
*) Feature: the CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR,
SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME,
REQUEST_METHOD, REQUEST_URI, and REMOTE_USER variables.
*) Change: nginx now passes the invalid lines in a client request
headers or a backend response header.
*) Bugfix: if the backend did not transfer response for a long time and
the "send_timeout" was less than "proxy_read_timeout", then nginx
returned the 408 response.
*) Bugfix: the segmentation fault was occurred if the backend sent an
invalid line in response header; the bug had appeared in 0.1.26.
*) Bugfix: the segmentation fault may occurred in FastCGI fault
tolerance configuration.
*) Bugfix: the "expires" directive did not remove the previous
"Expires" and "Cache-Control" headers.
*) Bugfix: nginx did not take into account trailing dot in "Host"
header line.
*) Bugfix: the ngx_http_auth_module did not work under Linux.
*) Bugfix: the rewrite directive worked incorrectly, if the arguments
were in a request.
*) Bugfix: nginx could not be built on MacOS X.
2005-05-12 22:58:06 +08:00
|
|
|
if [ $HTTP_POSTPONE = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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=$HTTP_POSTPONE
|
|
|
|
|
|
|
|
. auto/module
|
nginx-0.1.29-RELEASE import
*) Feature: the ngx_http_ssi_module supports "include virtual" command.
*) Feature: the ngx_http_ssi_module supports the condition command like
'if expr="$NAME"' and "else" and "endif" commands. Only one nested
level is supported.
*) Feature: the ngx_http_ssi_module supports the DATE_LOCAL and
DATE_GMT variables and "config timefmt" command.
*) Feature: the "ssi_ignore_recycled_buffers" directive.
*) Bugfix: the "echo" command did not show the default value for the
empty QUERY_STRING variable.
*) Change: the ngx_http_proxy_module was rewritten.
*) Feature: the "proxy_redirect", "proxy_pass_request_headers",
"proxy_pass_request_body", and "proxy_method" directives.
*) Feature: the "proxy_set_header" directive. The "proxy_x_var" was
canceled and must be replaced with the proxy_set_header directive.
*) Change: the "proxy_preserve_host" is canceled and must be replaced
with the "proxy_set_header Host $host" and the "proxy_redirect off"
directives, the "proxy_set_header Host $host:$proxy_port" directive
and the appropriate proxy_redirect directives.
*) Change: the "proxy_set_x_real_ip" is canceled and must be replaced
with the "proxy_set_header X-Real-IP $remote_addr" directive.
*) Change: the "proxy_add_x_forwarded_for" is canceled and must be
replaced with
the "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for"
directive.
*) Change: the "proxy_set_x_url" is canceled and must be replaced with
the "proxy_set_header X-URL http://$host:$server_port$request_uri"
directive.
*) Feature: the "fastcgi_param" directive.
*) Change: the "fastcgi_root", "fastcgi_set_var" and "fastcgi_params"
directive are canceled and must be replaced with the fastcgi_param
directives.
*) Feature: the "index" directive can use the variables.
*) Feature: the "index" directive can be used at http and server levels.
*) Change: the last index only in the "index" directive can be absolute.
*) Feature: the "rewrite" directive can use the variables.
*) Feature: the "internal" directive.
*) Feature: the CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR,
SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME,
REQUEST_METHOD, REQUEST_URI, and REMOTE_USER variables.
*) Change: nginx now passes the invalid lines in a client request
headers or a backend response header.
*) Bugfix: if the backend did not transfer response for a long time and
the "send_timeout" was less than "proxy_read_timeout", then nginx
returned the 408 response.
*) Bugfix: the segmentation fault was occurred if the backend sent an
invalid line in response header; the bug had appeared in 0.1.26.
*) Bugfix: the segmentation fault may occurred in FastCGI fault
tolerance configuration.
*) Bugfix: the "expires" directive did not remove the previous
"Expires" and "Cache-Control" headers.
*) Bugfix: nginx did not take into account trailing dot in "Host"
header line.
*) Bugfix: the ngx_http_auth_module did not work under Linux.
*) Bugfix: the rewrite directive worked incorrectly, if the arguments
were in a request.
*) Bugfix: nginx could not be built on MacOS X.
2005-05-12 22:58:06 +08:00
|
|
|
fi
|
|
|
|
|
2004-02-03 05:19:52 +08:00
|
|
|
if [ $HTTP_SSI = YES ]; then
|
2004-03-12 05:34:52 +08:00
|
|
|
have=NGX_HTTP_SSI . auto/have
|
2016-02-04 23:30:21 +08:00
|
|
|
|
|
|
|
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
|
2004-02-03 05:19:52 +08:00
|
|
|
fi
|
|
|
|
|
2010-04-01 18:19:02 +08:00
|
|
|
if [ $HTTP_CHARSET = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2010-04-01 18:19:02 +08:00
|
|
|
fi
|
|
|
|
|
2016-02-05 01:25:29 +08:00
|
|
|
if [ $HTTP_XSLT != NO ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2008-08-04 22:48:15 +08:00
|
|
|
fi
|
|
|
|
|
2016-02-05 01:25:29 +08:00
|
|
|
if [ $HTTP_IMAGE_FILTER != NO ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2009-05-02 02:42:09 +08:00
|
|
|
fi
|
|
|
|
|
2007-04-20 01:54:23 +08:00
|
|
|
if [ $HTTP_SUB = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2007-04-20 01:54:23 +08:00
|
|
|
fi
|
|
|
|
|
2006-04-05 21:40:54 +08:00
|
|
|
if [ $HTTP_ADDITION = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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=
|
2016-02-05 19:02:54 +08:00
|
|
|
ngx_module_link=$HTTP_ADDITION
|
2016-02-04 23:30:21 +08:00
|
|
|
|
|
|
|
. auto/module
|
2006-04-05 21:40:54 +08:00
|
|
|
fi
|
|
|
|
|
2012-09-11 00:52:47 +08:00
|
|
|
if [ $HTTP_GUNZIP = YES ]; then
|
|
|
|
have=NGX_HTTP_GZIP . auto/have
|
|
|
|
USE_ZLIB=YES
|
2016-02-04 23:30:21 +08:00
|
|
|
|
|
|
|
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
|
2012-09-11 00:52:47 +08:00
|
|
|
fi
|
|
|
|
|
2004-08-29 11:55:41 +08:00
|
|
|
if [ $HTTP_USERID = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2004-08-29 11:55:41 +08:00
|
|
|
fi
|
|
|
|
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2016-02-04 23:30:21 +08:00
|
|
|
|
2016-02-04 23:30:21 +08:00
|
|
|
. auto/module
|
|
|
|
fi
|
2016-02-04 23:30:21 +08:00
|
|
|
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2016-02-04 23:30:21 +08:00
|
|
|
|
2015-12-07 21:30:48 +08:00
|
|
|
if [ $HTTP_SLICE = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2015-12-07 21:30:48 +08:00
|
|
|
fi
|
|
|
|
|
2013-03-20 18:36:57 +08:00
|
|
|
|
2016-02-04 23:30:21 +08:00
|
|
|
ngx_module_type=HTTP
|
|
|
|
|
2015-09-12 01:13:06 +08:00
|
|
|
if [ $HTTP_V2 = YES ]; then
|
|
|
|
have=NGX_HTTP_V2 . auto/have
|
2016-02-04 23:30:21 +08:00
|
|
|
|
|
|
|
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_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
|
2013-03-20 18:36:57 +08:00
|
|
|
fi
|
|
|
|
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2004-10-25 23:29:23 +08:00
|
|
|
|
2007-12-29 16:38:42 +08:00
|
|
|
if [ $HTTP_GZIP_STATIC = YES ]; then
|
|
|
|
have=NGX_HTTP_GZIP . auto/have
|
2016-02-04 23:30:21 +08:00
|
|
|
|
|
|
|
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
|
2007-12-29 16:38:42 +08:00
|
|
|
fi
|
|
|
|
|
2006-04-14 17:53:38 +08:00
|
|
|
if [ $HTTP_DAV = YES ]; then
|
2006-04-19 23:30:56 +08:00
|
|
|
have=NGX_HTTP_DAV . auto/have
|
2016-02-04 23:30:21 +08:00
|
|
|
|
|
|
|
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
|
2006-04-14 17:53:38 +08:00
|
|
|
fi
|
|
|
|
|
2004-10-25 23:29:23 +08:00
|
|
|
if [ $HTTP_AUTOINDEX = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2004-10-25 23:29:23 +08:00
|
|
|
fi
|
|
|
|
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2004-06-23 00:43:09 +08:00
|
|
|
|
2008-09-05 23:45:55 +08:00
|
|
|
if [ $HTTP_RANDOM_INDEX = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2008-09-05 23:45:55 +08:00
|
|
|
fi
|
|
|
|
|
2013-08-21 23:19:47 +08:00
|
|
|
if [ $HTTP_AUTH_REQUEST = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2013-08-21 23:19:47 +08:00
|
|
|
fi
|
|
|
|
|
2005-03-23 00:02:46 +08:00
|
|
|
if [ $HTTP_AUTH_BASIC = YES ]; then
|
|
|
|
have=NGX_CRYPT . auto/have
|
2016-02-04 23:30:21 +08:00
|
|
|
|
|
|
|
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
|
2016-02-10 16:36:25 +08:00
|
|
|
ngx_module_libs=$CRYPT_LIB
|
2016-02-04 23:30:21 +08:00
|
|
|
ngx_module_link=$HTTP_AUTH_BASIC
|
|
|
|
|
|
|
|
. auto/module
|
2005-03-23 00:02:46 +08:00
|
|
|
fi
|
|
|
|
|
2004-06-25 00:07:04 +08:00
|
|
|
if [ $HTTP_ACCESS = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2004-06-25 00:07:04 +08:00
|
|
|
fi
|
|
|
|
|
2011-11-14 22:04:42 +08:00
|
|
|
if [ $HTTP_LIMIT_CONN = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2007-01-08 02:09:58 +08:00
|
|
|
fi
|
|
|
|
|
2008-11-10 23:22:33 +08:00
|
|
|
if [ $HTTP_LIMIT_REQ = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2008-11-10 23:22:33 +08:00
|
|
|
fi
|
|
|
|
|
nginx-0.3.8-RELEASE import
*) Security: nginx now checks URI got from a backend in
"X-Accel-Redirect" header line or in SSI file for the "/../" paths
and zeroes.
*) Change: nginx now does not treat the empty user name in the
"Authorization" header line as valid one.
*) Feature: the "ssl_session_timeout" directives of the
ngx_http_ssl_module and ngx_imap_ssl_module.
*) Feature: the "auth_http_header" directive of the
ngx_imap_auth_http_module.
*) Feature: the "add_header" directive.
*) Feature: the ngx_http_realip_module.
*) Feature: the new variables to use in the "log_format" directive:
$bytes_sent, $apache_bytes_sent, $status, $time_gmt, $uri,
$request_time, $request_length, $upstream_status,
$upstream_response_time, $gzip_ratio, $uid_got, $uid_set,
$connection, $pipe, and $msec. The parameters in the "%name" form
will be canceled soon.
*) Change: now the false variable values in the "if" directive are the
empty string "" and string starting with "0".
*) Bugfix: while using proxied or FastCGI-server nginx may leave
connections and temporary files with client requests in open state.
*) Bugfix: the worker processes did not flush the buffered logs on
graceful exit.
*) Bugfix: if the request URI was changes by the "rewrite" directive
and the request was proxied in location given by regular expression,
then the incorrect request was transferred to backend; the bug had
appeared in 0.2.6.
*) Bugfix: the "expires" directive did not remove the previous
"Expires" header.
*) Bugfix: nginx may stop to accept requests if the "rtsig" method and
several worker processes were used.
*) Bugfix: the "\"" and "\'" escape symbols were incorrectly handled in
SSI commands.
*) Bugfix: if the response was ended just after the SSI command and
gzipping was used, then the response did not transferred complete or
did not transferred at all.
2005-11-10 01:25:55 +08:00
|
|
|
if [ $HTTP_REALIP = YES ]; then
|
|
|
|
have=NGX_HTTP_REALIP . auto/have
|
2012-06-21 19:02:22 +08:00
|
|
|
have=NGX_HTTP_X_FORWARDED_FOR . auto/have
|
2016-02-04 23:30:21 +08:00
|
|
|
|
|
|
|
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
|
nginx-0.3.8-RELEASE import
*) Security: nginx now checks URI got from a backend in
"X-Accel-Redirect" header line or in SSI file for the "/../" paths
and zeroes.
*) Change: nginx now does not treat the empty user name in the
"Authorization" header line as valid one.
*) Feature: the "ssl_session_timeout" directives of the
ngx_http_ssl_module and ngx_imap_ssl_module.
*) Feature: the "auth_http_header" directive of the
ngx_imap_auth_http_module.
*) Feature: the "add_header" directive.
*) Feature: the ngx_http_realip_module.
*) Feature: the new variables to use in the "log_format" directive:
$bytes_sent, $apache_bytes_sent, $status, $time_gmt, $uri,
$request_time, $request_length, $upstream_status,
$upstream_response_time, $gzip_ratio, $uid_got, $uid_set,
$connection, $pipe, and $msec. The parameters in the "%name" form
will be canceled soon.
*) Change: now the false variable values in the "if" directive are the
empty string "" and string starting with "0".
*) Bugfix: while using proxied or FastCGI-server nginx may leave
connections and temporary files with client requests in open state.
*) Bugfix: the worker processes did not flush the buffered logs on
graceful exit.
*) Bugfix: if the request URI was changes by the "rewrite" directive
and the request was proxied in location given by regular expression,
then the incorrect request was transferred to backend; the bug had
appeared in 0.2.6.
*) Bugfix: the "expires" directive did not remove the previous
"Expires" header.
*) Bugfix: nginx may stop to accept requests if the "rtsig" method and
several worker processes were used.
*) Bugfix: the "\"" and "\'" escape symbols were incorrectly handled in
SSI commands.
*) Bugfix: if the response was ended just after the SSI command and
gzipping was used, then the response did not transferred complete or
did not transferred at all.
2005-11-10 01:25:55 +08:00
|
|
|
fi
|
|
|
|
|
2004-06-24 15:53:37 +08:00
|
|
|
if [ $HTTP_STATUS = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2004-06-24 15:53:37 +08:00
|
|
|
fi
|
|
|
|
|
2005-02-04 03:33:37 +08:00
|
|
|
if [ $HTTP_GEO = YES ]; then
|
2012-06-21 19:02:22 +08:00
|
|
|
have=NGX_HTTP_X_FORWARDED_FOR . auto/have
|
2016-02-04 23:30:21 +08:00
|
|
|
|
|
|
|
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
|
2005-02-04 03:33:37 +08:00
|
|
|
fi
|
|
|
|
|
2016-02-05 01:25:29 +08:00
|
|
|
if [ $HTTP_GEOIP != NO ]; then
|
2012-06-21 19:02:22 +08:00
|
|
|
have=NGX_HTTP_X_FORWARDED_FOR . auto/have
|
2016-02-04 23:30:21 +08:00
|
|
|
|
|
|
|
ngx_module_name=ngx_http_geoip_module
|
|
|
|
ngx_module_incs=
|
|
|
|
ngx_module_deps=
|
|
|
|
ngx_module_srcs=src/http/modules/ngx_http_geoip_module.c
|
2016-02-05 01:25:29 +08:00
|
|
|
ngx_module_libs=GEOIP
|
2016-02-04 23:30:21 +08:00
|
|
|
ngx_module_link=$HTTP_GEOIP
|
|
|
|
|
|
|
|
. auto/module
|
2009-07-20 15:10:43 +08:00
|
|
|
fi
|
|
|
|
|
2005-12-16 23:07:08 +08:00
|
|
|
if [ $HTTP_MAP = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2005-12-16 23:07:08 +08:00
|
|
|
fi
|
|
|
|
|
2010-05-14 17:02:10 +08:00
|
|
|
if [ $HTTP_SPLIT_CLIENTS = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2010-05-14 17:02:10 +08:00
|
|
|
fi
|
|
|
|
|
2005-11-15 21:30:52 +08:00
|
|
|
if [ $HTTP_REFERER = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2005-11-15 21:30:52 +08:00
|
|
|
fi
|
|
|
|
|
2004-06-23 00:43:09 +08:00
|
|
|
if [ $HTTP_REWRITE = YES -a $USE_PCRE != DISABLED ]; then
|
|
|
|
USE_PCRE=YES
|
2016-02-04 23:30:21 +08:00
|
|
|
|
|
|
|
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
|
2004-06-23 00:43:09 +08:00
|
|
|
fi
|
|
|
|
|
2004-07-17 01:11:43 +08:00
|
|
|
if [ $HTTP_SSL = YES ]; then
|
2004-07-26 02:34:14 +08:00
|
|
|
USE_OPENSSL=YES
|
|
|
|
have=NGX_HTTP_SSL . auto/have
|
2016-02-04 23:30:21 +08:00
|
|
|
|
|
|
|
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
|
2004-07-17 01:11:43 +08:00
|
|
|
fi
|
|
|
|
|
2004-02-03 05:19:52 +08:00
|
|
|
if [ $HTTP_PROXY = YES ]; then
|
2012-06-21 19:02:22 +08:00
|
|
|
have=NGX_HTTP_X_FORWARDED_FOR . auto/have
|
2016-02-04 23:30:21 +08:00
|
|
|
|
|
|
|
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
|
2004-02-03 05:19:52 +08:00
|
|
|
fi
|
2004-03-05 16:34:24 +08:00
|
|
|
|
nginx-0.1.14-RELEASE import
*) Feature: the autoconfiguration directives:
--http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH, and
--http-fastcgi-temp-path=PATH
*) Change: the directory name for the temporary files with the client
request body is specified by directive client_body_temp_path, by
default it is <prefix>/client_body_temp.
*) Feature: the ngx_http_fastcgi_module and the directives:
fastcgi_pass, fastcgi_root, fastcgi_index, fastcgi_params,
fastcgi_connect_timeout, fastcgi_send_timeout, fastcgi_read_timeout,
fastcgi_send_lowat, fastcgi_header_buffer_size, fastcgi_buffers,
fastcgi_busy_buffers_size, fastcgi_temp_path,
fastcgi_max_temp_file_size, fastcgi_temp_file_write_size,
fastcgi_next_upstream, and fastcgi_x_powered_by.
*) Bugfix: the "[alert] zero size buf" error; the bug had appeared in
0.1.3.
*) Change: the URI must be specified after the host name in the
proxy_pass directive.
*) Change: the %3F symbol in the URI was considered as the argument
string start.
*) Feature: the unix domain sockets support in the
ngx_http_proxy_module.
*) Feature: the ssl_engine and ssl_ciphers directives.
Thanks to Sergey Skvortsov for SSL-accelerator.
2005-01-18 21:03:58 +08:00
|
|
|
if [ $HTTP_FASTCGI = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
nginx-0.1.14-RELEASE import
*) Feature: the autoconfiguration directives:
--http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH, and
--http-fastcgi-temp-path=PATH
*) Change: the directory name for the temporary files with the client
request body is specified by directive client_body_temp_path, by
default it is <prefix>/client_body_temp.
*) Feature: the ngx_http_fastcgi_module and the directives:
fastcgi_pass, fastcgi_root, fastcgi_index, fastcgi_params,
fastcgi_connect_timeout, fastcgi_send_timeout, fastcgi_read_timeout,
fastcgi_send_lowat, fastcgi_header_buffer_size, fastcgi_buffers,
fastcgi_busy_buffers_size, fastcgi_temp_path,
fastcgi_max_temp_file_size, fastcgi_temp_file_write_size,
fastcgi_next_upstream, and fastcgi_x_powered_by.
*) Bugfix: the "[alert] zero size buf" error; the bug had appeared in
0.1.3.
*) Change: the URI must be specified after the host name in the
proxy_pass directive.
*) Change: the %3F symbol in the URI was considered as the argument
string start.
*) Feature: the unix domain sockets support in the
ngx_http_proxy_module.
*) Feature: the ssl_engine and ssl_ciphers directives.
Thanks to Sergey Skvortsov for SSL-accelerator.
2005-01-18 21:03:58 +08:00
|
|
|
fi
|
|
|
|
|
2010-06-01 23:53:11 +08:00
|
|
|
if [ $HTTP_UWSGI = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2010-06-01 23:53:11 +08:00
|
|
|
fi
|
|
|
|
|
2010-06-18 23:51:14 +08:00
|
|
|
if [ $HTTP_SCGI = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2010-06-18 23:51:14 +08:00
|
|
|
fi
|
|
|
|
|
2016-02-26 19:27:04 +08:00
|
|
|
if [ $HTTP_PERL != NO ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2016-02-26 19:27:04 +08:00
|
|
|
ngx_module_libs=PERL
|
2016-02-04 23:30:21 +08:00
|
|
|
ngx_module_link=$HTTP_PERL
|
|
|
|
|
|
|
|
. auto/module
|
2006-01-16 22:56:53 +08:00
|
|
|
fi
|
|
|
|
|
2005-11-26 18:11:11 +08:00
|
|
|
if [ $HTTP_MEMCACHED = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2005-11-26 18:11:11 +08:00
|
|
|
fi
|
|
|
|
|
2005-11-15 21:30:52 +08:00
|
|
|
if [ $HTTP_EMPTY_GIF = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2005-11-15 21:30:52 +08:00
|
|
|
fi
|
|
|
|
|
2006-09-18 20:25:07 +08:00
|
|
|
if [ $HTTP_BROWSER = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2006-09-18 20:25:07 +08:00
|
|
|
fi
|
|
|
|
|
2008-09-27 21:22:10 +08:00
|
|
|
if [ $HTTP_SECURE_LINK = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2008-09-27 21:22:10 +08:00
|
|
|
fi
|
|
|
|
|
2009-11-16 20:20:00 +08:00
|
|
|
if [ $HTTP_DEGRADATION = YES ]; then
|
2010-10-04 23:03:00 +08:00
|
|
|
have=NGX_HTTP_DEGRADATION . auto/have
|
2016-02-04 23:30:21 +08:00
|
|
|
|
|
|
|
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
|
2009-11-16 20:20:00 +08:00
|
|
|
fi
|
|
|
|
|
2006-10-09 22:17:36 +08:00
|
|
|
if [ $HTTP_FLV = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2006-10-09 22:17:36 +08:00
|
|
|
fi
|
|
|
|
|
2011-09-09 18:22:34 +08:00
|
|
|
if [ $HTTP_MP4 = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2011-09-09 18:22:34 +08:00
|
|
|
fi
|
|
|
|
|
2014-06-02 20:16:22 +08:00
|
|
|
if [ $HTTP_UPSTREAM_HASH = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2014-06-02 20:16:22 +08:00
|
|
|
fi
|
|
|
|
|
2006-12-05 00:46:13 +08:00
|
|
|
if [ $HTTP_UPSTREAM_IP_HASH = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2006-12-05 00:46:13 +08:00
|
|
|
fi
|
|
|
|
|
2012-06-04 07:21:26 +08:00
|
|
|
if [ $HTTP_UPSTREAM_LEAST_CONN = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2012-06-04 07:21:26 +08:00
|
|
|
fi
|
|
|
|
|
2011-09-16 03:28:18 +08:00
|
|
|
if [ $HTTP_UPSTREAM_KEEPALIVE = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2011-09-16 03:28:18 +08:00
|
|
|
fi
|
|
|
|
|
2015-04-15 00:01:25 +08:00
|
|
|
if [ $HTTP_UPSTREAM_ZONE = YES ]; then
|
|
|
|
have=NGX_HTTP_UPSTREAM_ZONE . auto/have
|
2016-02-04 23:30:21 +08:00
|
|
|
|
|
|
|
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
|
2015-04-15 00:01:25 +08:00
|
|
|
fi
|
|
|
|
|
2005-02-09 22:31:07 +08:00
|
|
|
if [ $HTTP_STUB_STATUS = YES ]; then
|
|
|
|
have=NGX_STAT_STUB . auto/have
|
2016-02-04 23:30:21 +08:00
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
2016-02-05 01:25:29 +08:00
|
|
|
if [ $MAIL != NO ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
MAIL_MODULES=
|
|
|
|
MAIL_DEPS=
|
|
|
|
MAIL_INCS=
|
|
|
|
|
|
|
|
ngx_module_type=MAIL
|
|
|
|
ngx_module_libs=
|
|
|
|
ngx_module_link=YES
|
|
|
|
|
2016-02-05 01:25:29 +08:00
|
|
|
ngx_module_order=
|
|
|
|
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
2016-02-05 01:25:29 +08:00
|
|
|
if [ $STREAM != NO ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
STREAM_MODULES=
|
|
|
|
STREAM_DEPS=
|
|
|
|
STREAM_INCS=
|
|
|
|
|
|
|
|
ngx_module_type=STREAM
|
|
|
|
|
2016-02-05 01:25:29 +08:00
|
|
|
ngx_module_order=
|
|
|
|
|
2016-02-04 23:30:21 +08:00
|
|
|
ngx_module_name="ngx_stream_module \
|
|
|
|
ngx_stream_core_module \
|
2016-09-05 22:50:16 +08:00
|
|
|
ngx_stream_log_module \
|
2016-02-04 23:30:21 +08:00
|
|
|
ngx_stream_proxy_module \
|
2016-09-15 19:55:46 +08:00
|
|
|
ngx_stream_upstream_module \
|
|
|
|
ngx_stream_write_filter_module"
|
2016-02-04 23:30:21 +08:00
|
|
|
ngx_module_incs="src/stream"
|
|
|
|
ngx_module_deps="src/stream/ngx_stream.h \
|
2016-07-04 21:37:36 +08:00
|
|
|
src/stream/ngx_stream_variables.h \
|
|
|
|
src/stream/ngx_stream_script.h \
|
2016-02-04 23:30:21 +08:00
|
|
|
src/stream/ngx_stream_upstream.h \
|
|
|
|
src/stream/ngx_stream_upstream_round_robin.h"
|
|
|
|
ngx_module_srcs="src/stream/ngx_stream.c \
|
2016-07-04 21:37:36 +08:00
|
|
|
src/stream/ngx_stream_variables.c \
|
|
|
|
src/stream/ngx_stream_script.c \
|
2016-02-04 23:30:21 +08:00
|
|
|
src/stream/ngx_stream_handler.c \
|
|
|
|
src/stream/ngx_stream_core_module.c \
|
2016-09-05 22:50:16 +08:00
|
|
|
src/stream/ngx_stream_log_module.c \
|
2016-02-04 23:30:21 +08:00
|
|
|
src/stream/ngx_stream_proxy_module.c \
|
|
|
|
src/stream/ngx_stream_upstream.c \
|
2016-09-15 19:55:46 +08:00
|
|
|
src/stream/ngx_stream_upstream_round_robin.c \
|
|
|
|
src/stream/ngx_stream_write_filter_module.c"
|
2016-02-04 23:30:21 +08:00
|
|
|
|
|
|
|
. 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
|
2016-07-12 17:38:01 +08:00
|
|
|
ngx_module_libs=
|
|
|
|
ngx_module_link=$STREAM_SSL
|
2016-02-04 23:30:21 +08:00
|
|
|
|
|
|
|
. auto/module
|
|
|
|
fi
|
|
|
|
|
2016-09-01 19:45:33 +08:00
|
|
|
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
|
|
|
|
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2016-07-12 17:38:01 +08:00
|
|
|
ngx_module_libs=
|
|
|
|
ngx_module_link=$STREAM_LIMIT_CONN
|
2016-02-04 23:30:21 +08:00
|
|
|
|
|
|
|
. 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
|
2016-07-12 17:38:01 +08:00
|
|
|
ngx_module_libs=
|
|
|
|
ngx_module_link=$STREAM_ACCESS
|
2016-02-04 23:30:21 +08:00
|
|
|
|
|
|
|
. auto/module
|
|
|
|
fi
|
|
|
|
|
2016-06-30 21:12:50 +08:00
|
|
|
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
|
|
|
|
|
2016-07-12 22:34:43 +08:00
|
|
|
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
|
|
|
|
|
2016-06-29 17:46:12 +08:00
|
|
|
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
|
2016-07-12 17:38:01 +08:00
|
|
|
ngx_module_libs=
|
|
|
|
ngx_module_link=$STREAM_MAP
|
2016-06-29 17:46:12 +08:00
|
|
|
|
|
|
|
. auto/module
|
|
|
|
fi
|
|
|
|
|
2016-07-12 22:34:52 +08:00
|
|
|
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
|
|
|
|
|
2016-05-19 03:08:49 +08:00
|
|
|
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
|
2016-07-12 17:38:01 +08:00
|
|
|
ngx_module_libs=
|
|
|
|
ngx_module_link=$STREAM_RETURN
|
2016-05-19 03:08:49 +08:00
|
|
|
|
|
|
|
. auto/module
|
|
|
|
fi
|
|
|
|
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2016-07-12 17:38:01 +08:00
|
|
|
ngx_module_libs=
|
|
|
|
ngx_module_link=$STREAM_UPSTREAM_HASH
|
2016-02-04 23:30:21 +08:00
|
|
|
|
|
|
|
. 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
|
2016-07-12 17:38:01 +08:00
|
|
|
ngx_module_libs=
|
|
|
|
ngx_module_link=$STREAM_UPSTREAM_LEAST_CONN
|
2016-02-04 23:30:21 +08:00
|
|
|
|
|
|
|
. 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
|
2016-07-12 17:38:01 +08:00
|
|
|
ngx_module_libs=
|
|
|
|
ngx_module_link=$STREAM_UPSTREAM_ZONE
|
2016-02-04 23:30:21 +08:00
|
|
|
|
|
|
|
. auto/module
|
|
|
|
fi
|
2016-09-15 19:56:51 +08:00
|
|
|
|
|
|
|
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
|
2005-02-09 22:31:07 +08:00
|
|
|
fi
|
|
|
|
|
2016-02-04 23:30:21 +08:00
|
|
|
|
2005-02-16 21:40:36 +08:00
|
|
|
#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"
|
|
|
|
|
2016-02-04 23:30:21 +08:00
|
|
|
ngx_module_type=
|
|
|
|
ngx_module_name=
|
|
|
|
ngx_module_incs=
|
|
|
|
ngx_module_deps=
|
|
|
|
ngx_module_srcs=
|
|
|
|
ngx_module_libs=
|
2016-02-05 01:25:29 +08:00
|
|
|
ngx_module_order=
|
2016-02-04 23:30:21 +08:00
|
|
|
ngx_module_link=ADDON
|
|
|
|
|
2005-02-16 21:40:36 +08:00
|
|
|
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
|
2004-05-18 23:29:08 +08:00
|
|
|
fi
|
2004-03-05 16:34:24 +08:00
|
|
|
|
2005-02-16 21:40:36 +08:00
|
|
|
|
2016-02-05 01:25:29 +08:00
|
|
|
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
|
|
|
|
|
|
|
|
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2016-02-05 01:25:29 +08:00
|
|
|
ngx_module_order=
|
2016-02-04 23:30:21 +08:00
|
|
|
|
|
|
|
. auto/module
|
2005-09-08 22:36:09 +08:00
|
|
|
fi
|
|
|
|
|
|
|
|
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2016-02-05 01:25:29 +08:00
|
|
|
ngx_module_order=
|
2016-02-04 23:30:21 +08:00
|
|
|
|
|
|
|
. auto/module
|
2015-04-20 18:05:11 +08:00
|
|
|
fi
|
|
|
|
|
|
|
|
|
2004-09-06 03:54:02 +08:00
|
|
|
modules="$CORE_MODULES $EVENT_MODULES"
|
|
|
|
|
2005-09-08 22:36:09 +08:00
|
|
|
|
2015-03-14 22:37:07 +08:00
|
|
|
# thread pool module should be initialized after events
|
|
|
|
if [ $USE_THREADS = YES ]; then
|
|
|
|
modules="$modules $THREAD_POOL_MODULE"
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
2004-09-06 03:54:02 +08:00
|
|
|
if [ $HTTP = YES ]; then
|
|
|
|
modules="$modules $HTTP_MODULES $HTTP_FILTER_MODULES \
|
2016-02-04 23:30:21 +08:00
|
|
|
$HTTP_AUX_FILTER_MODULES $HTTP_INIT_FILTER_MODULES"
|
2005-02-16 21:40:36 +08:00
|
|
|
|
|
|
|
NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(HTTP_DEPS)"
|
2004-09-06 03:54:02 +08:00
|
|
|
fi
|
2004-03-05 16:34:24 +08:00
|
|
|
|
2005-02-16 21:40:36 +08:00
|
|
|
|
2016-02-05 01:25:29 +08:00
|
|
|
if [ $MAIL != NO ]; then
|
|
|
|
|
|
|
|
if [ $MAIL = YES ]; then
|
|
|
|
modules="$modules $MAIL_MODULES"
|
|
|
|
|
|
|
|
elif [ $MAIL = DYNAMIC ]; then
|
|
|
|
ngx_module_name=$MAIL_MODULES
|
|
|
|
ngx_module_incs=
|
2016-11-21 21:49:19 +08:00
|
|
|
ngx_module_deps=
|
2016-02-05 01:25:29 +08:00
|
|
|
ngx_module_srcs=$MAIL_SRCS
|
|
|
|
ngx_module_libs=
|
|
|
|
ngx_module_link=DYNAMIC
|
|
|
|
|
|
|
|
. auto/module
|
|
|
|
fi
|
|
|
|
|
2013-10-01 02:09:54 +08:00
|
|
|
NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(MAIL_DEPS)"
|
2004-09-07 23:29:22 +08:00
|
|
|
fi
|
|
|
|
|
2004-03-05 16:34:24 +08:00
|
|
|
|
2016-02-05 01:25:29 +08:00
|
|
|
if [ $STREAM != NO ]; then
|
|
|
|
|
|
|
|
if [ $STREAM = YES ]; then
|
|
|
|
modules="$modules $STREAM_MODULES"
|
|
|
|
|
|
|
|
elif [ $STREAM = DYNAMIC ]; then
|
|
|
|
ngx_module_name=$STREAM_MODULES
|
|
|
|
ngx_module_incs=
|
2016-11-21 21:49:19 +08:00
|
|
|
ngx_module_deps=
|
2016-02-05 01:25:29 +08:00
|
|
|
ngx_module_srcs=$STREAM_SRCS
|
|
|
|
ngx_module_libs=
|
|
|
|
ngx_module_link=DYNAMIC
|
|
|
|
|
|
|
|
. auto/module
|
|
|
|
fi
|
|
|
|
|
2015-04-20 18:05:11 +08:00
|
|
|
NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(STREAM_DEPS)"
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
2016-02-04 23:30:21 +08:00
|
|
|
ngx_module_type=MISC
|
|
|
|
MISC_MODULES=
|
|
|
|
|
2008-03-18 18:36:27 +08:00
|
|
|
if [ $NGX_GOOGLE_PERFTOOLS = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2008-03-18 18:36:27 +08:00
|
|
|
|
2016-02-04 23:30:21 +08:00
|
|
|
. auto/module
|
|
|
|
fi
|
2008-03-18 18:36:27 +08:00
|
|
|
|
2008-08-13 16:29:27 +08:00
|
|
|
if [ $NGX_CPP_TEST = YES ]; then
|
2016-02-04 23:30:21 +08:00
|
|
|
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
|
2008-08-06 03:32:50 +08:00
|
|
|
fi
|
|
|
|
|
2016-02-04 23:30:21 +08:00
|
|
|
modules="$modules $MISC_MODULES"
|
|
|
|
|
2008-08-06 03:32:50 +08:00
|
|
|
|
2016-10-03 20:58:16 +08:00
|
|
|
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
|
|
|
|
|
|
|
|
|
2004-11-11 22:07:14 +08:00
|
|
|
cat << END > $NGX_MODULES_C
|
|
|
|
|
|
|
|
#include <ngx_config.h>
|
|
|
|
#include <ngx_core.h>
|
|
|
|
|
|
|
|
$NGX_PRAGMA
|
|
|
|
|
|
|
|
END
|
2004-03-05 16:34:24 +08:00
|
|
|
|
|
|
|
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
|
|
|
|
|
2004-11-11 22:07:14 +08:00
|
|
|
cat << END >> $NGX_MODULES_C
|
|
|
|
NULL
|
|
|
|
};
|
|
|
|
|
|
|
|
END
|
2016-02-05 01:25:29 +08:00
|
|
|
|
|
|
|
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
|