nginx/auto/modules

445 lines
11 KiB
Plaintext
Raw Normal View History

2004-02-03 05:19:52 +08:00
# Copyright (C) Igor Sysoev
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
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
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
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
if [ $NGX_TEST_BUILD_EPOLL = YES ]; then
have=NGX_HAVE_EPOLL . auto/have
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
if [ $NGX_TEST_BUILD_RTSIG = YES ]; then
have=NGX_HAVE_RTSIG . auto/have
have=NGX_TEST_BUILD_RTSIG . auto/have
2004-02-18 01:53:12 +08:00
EVENT_MODULES="$EVENT_MODULES $RTSIG_MODULE"
CORE_SRCS="$CORE_SRCS $RTSIG_SRCS"
2004-02-10 04:47:18 +08:00
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
2004-02-10 04:47:18 +08:00
if [ $HTTP != YES ]; then
have=NGX_CRYPT . auto/nohave
CRYPT_LIB=
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
if [ $HTTP_ADDITION = YES ]; then
HTTP_POSTPONE=YES
fi
# 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
# ngx_http_autoindex_module
# ngx_http_index_module
2008-09-05 23:45:55 +08:00
# ngx_http_random_index_module
#
# ngx_http_access_module
# ngx_http_realip_module
#
#
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
# 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_charset_filter
# ngx_http_ssi_filter
2008-08-04 22:48:15 +08:00
# ngx_http_xslt_filter
# ngx_http_sub_filter
# ngx_http_addition_filter
# 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
2004-07-15 04:07:58 +08:00
HTTP_FILTER_MODULES="$HTTP_WRITE_FILTER_MODULE \
$HTTP_HEADER_FILTER_MODULE \
$HTTP_CHUNKED_FILTER_MODULE \
$HTTP_RANGE_HEADER_FILTER_MODULE"
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
HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_GZIP_FILTER_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_GZIP_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_POSTPONE = YES ]; then
HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_POSTPONE_FILTER_MODULE"
2008-03-13 05:10:48 +08:00
HTTP_SRCS="$HTTP_SRCS $HTTP_POSTPONE_FILTER_SRCS"
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-07-12 23:30:22 +08:00
if [ $HTTP_CHARSET = YES ]; then
have=NGX_HTTP_CHARSET . auto/have
HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_CHARSET_FILTER_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_CHARSET_SRCS"
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
2004-02-03 05:19:52 +08:00
HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_SSI_FILTER_MODULE"
HTTP_DEPS="$HTTP_DEPS $HTTP_SSI_DEPS"
2004-02-03 05:19:52 +08:00
HTTP_SRCS="$HTTP_SRCS $HTTP_SSI_SRCS"
fi
2008-08-04 22:48:15 +08:00
if [ $HTTP_XSLT = YES ]; then
USE_LIBXSLT=YES
HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_XSLT_FILTER_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_XSLT_SRCS"
fi
2007-04-20 01:54:23 +08:00
if [ $HTTP_SUB = YES ]; then
HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_SUB_FILTER_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_SUB_SRCS"
fi
if [ $HTTP_ADDITION = YES ]; then
HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_ADDITION_FILTER_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_ADDITION_SRCS"
fi
if [ $HTTP_USERID = YES ]; then
HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_USERID_FILTER_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_USERID_SRCS"
fi
HTTP_MODULES="$HTTP_MODULES $HTTP_STATIC_MODULE"
if [ $HTTP_GZIP_STATIC = YES ]; then
have=NGX_HTTP_GZIP . auto/have
HTTP_MODULES="$HTTP_MODULES $HTTP_GZIP_STATIC_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_GZIP_STATIC_SRCS"
fi
if [ $HTTP_DAV = YES ]; then
have=NGX_HTTP_DAV . auto/have
HTTP_MODULES="$HTTP_MODULES $HTTP_DAV_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_DAV_SRCS"
fi
if [ $HTTP_AUTOINDEX = YES ]; then
have=NGX_HTTP_AUTOINDEX . auto/have
HTTP_MODULES="$HTTP_MODULES $HTTP_AUTOINDEX_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_AUTOINDEX_SRCS"
fi
HTTP_MODULES="$HTTP_MODULES $HTTP_INDEX_MODULE"
2004-06-23 00:43:09 +08:00
2008-09-05 23:45:55 +08:00
if [ $HTTP_RANDOM_INDEX = YES ]; then
have=NGX_HTTP_RANDOM_INDEX . auto/have
HTTP_MODULES="$HTTP_MODULES $HTTP_RANDOM_INDEX_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_RANDOM_INDEX_SRCS"
fi
if [ $HTTP_AUTH_BASIC = YES ]; then
have=NGX_HTTP_AUTH_BASIC . auto/have
have=NGX_CRYPT . auto/have
HTTP_MODULES="$HTTP_MODULES $HTTP_AUTH_BASIC_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_AUTH_BASIC_SRCS"
CORE_LIBS="$CORE_LIBS $CRYPT_LIB"
fi
2004-06-25 00:07:04 +08:00
if [ $HTTP_ACCESS = YES ]; then
have=NGX_HTTP_ACCESS . auto/have
HTTP_MODULES="$HTTP_MODULES $HTTP_ACCESS_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_ACCESS_SRCS"
fi
if [ $HTTP_LIMIT_ZONE = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_LIMIT_ZONE_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_LIMIT_ZONE_SRCS"
fi
2008-11-10 23:22:33 +08:00
if [ $HTTP_LIMIT_REQ = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_LIMIT_REQ_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_LIMIT_REQ_SRCS"
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
HTTP_MODULES="$HTTP_MODULES $HTTP_REALIP_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_REALIP_SRCS"
fi
2004-06-24 15:53:37 +08:00
if [ $HTTP_STATUS = YES ]; then
have=NGX_HTTP_STATUS . auto/have
HTTP_MODULES="$HTTP_MODULES $HTTP_STATUS_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_STATUS_SRCS"
fi
if [ $HTTP_GEO = YES ]; then
have=NGX_HTTP_GEO . auto/have
HTTP_MODULES="$HTTP_MODULES $HTTP_GEO_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_GEO_SRCS"
fi
if [ $HTTP_MAP = YES ]; then
have=NGX_HTTP_MAP . auto/have
HTTP_MODULES="$HTTP_MODULES $HTTP_MAP_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_MAP_SRCS"
fi
if [ $HTTP_REFERER = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_REFERER_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_REFERER_SRCS"
fi
2004-06-23 00:43:09 +08:00
if [ $HTTP_REWRITE = YES -a $USE_PCRE != DISABLED ]; then
have=NGX_HTTP_REWRITE . auto/have
USE_PCRE=YES
HTTP_MODULES="$HTTP_MODULES $HTTP_REWRITE_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_REWRITE_SRCS"
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
2004-07-17 01:11:43 +08:00
HTTP_MODULES="$HTTP_MODULES $HTTP_SSL_MODULE"
HTTP_DEPS="$HTTP_DEPS $HTTP_SSL_DEPS"
HTTP_SRCS="$HTTP_SRCS $HTTP_SSL_SRCS"
fi
2004-02-03 05:19:52 +08:00
if [ $HTTP_PROXY = YES ]; then
2004-03-12 05:34:52 +08:00
have=NGX_HTTP_PROXY . auto/have
2004-09-30 23:30:54 +08:00
#USE_MD5=YES
2004-02-03 05:19:52 +08:00
HTTP_MODULES="$HTTP_MODULES $HTTP_PROXY_MODULE"
HTTP_DEPS="$HTTP_DEPS $HTTP_PROXY_DEPS"
HTTP_SRCS="$HTTP_SRCS $HTTP_PROXY_SRCS"
fi
2004-03-05 16:34:24 +08:00
if [ $HTTP_FASTCGI = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_FASTCGI_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_FASTCGI_SRCS"
fi
if [ $HTTP_PERL = YES ]; then
USE_PERL=YES
have=NGX_HTTP_PERL . auto/have
HTTP_MODULES="$HTTP_MODULES $HTTP_PERL_MODULE"
HTTP_INCS="$HTTP_INCS $HTTP_PERL_INCS"
HTTP_DEPS="$HTTP_DEPS $HTTP_PERL_DEPS"
HTTP_SRCS="$HTTP_SRCS $HTTP_PERL_SRCS"
fi
if [ $HTTP_MEMCACHED = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_MEMCACHED_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_MEMCACHED_SRCS"
fi
if [ $HTTP_EMPTY_GIF = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_EMPTY_GIF_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_EMPTY_GIF_SRCS"
fi
2006-09-18 20:25:07 +08:00
if [ $HTTP_BROWSER = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_BROWSER_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_BROWSER_SRCS"
fi
2008-09-27 21:22:10 +08:00
if [ $HTTP_SECURE_LINK = YES ]; then
USE_MD5=YES
HTTP_MODULES="$HTTP_MODULES $HTTP_SECURE_LINK_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_SECURE_LINK_SRCS"
fi
2006-10-09 22:17:36 +08:00
if [ $HTTP_FLV = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_FLV_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_FLV_SRCS"
fi
2006-12-05 00:46:13 +08:00
if [ $HTTP_UPSTREAM_IP_HASH = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_UPSTREAM_IP_HASH_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_UPSTREAM_IP_HASH_SRCS"
fi
# STUB
#USE_MD5=YES
2008-03-13 05:10:48 +08:00
#HTTP_SRCS="$HTTP_SRCS $HTTP_CACHE_SRCS"
#HTTP_SRCS="$HTTP_SRCS $HTTP_FILE_CACHE_SRCS"
if [ $HTTP_STUB_STATUS = YES ]; then
have=NGX_STAT_STUB . auto/have
HTTP_MODULES="$HTTP_MODULES ngx_http_stub_status_module"
HTTP_SRCS="$HTTP_SRCS src/http/modules/ngx_http_stub_status_module.c"
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"
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
if [ $MAIL_SSL = YES ]; then
have=NGX_MAIL_SSL . auto/have
USE_OPENSSL=YES
fi
modules="$CORE_MODULES $EVENT_MODULES"
if [ $USE_OPENSSL = YES ]; then
modules="$modules $OPENSSL_MODULE"
CORE_DEPS="$CORE_DEPS $OPENSSL_DEPS"
CORE_SRCS="$CORE_SRCS $OPENSSL_SRCS"
fi
if [ $HTTP = YES ]; then
modules="$modules $HTTP_MODULES $HTTP_FILTER_MODULES \
$HTTP_HEADERS_FILTER_MODULE \
$HTTP_AUX_FILTER_MODULES \
$HTTP_COPY_FILTER_MODULE \
$HTTP_RANGE_BODY_FILTER_MODULE \
$HTTP_NOT_MODIFIED_FILTER_MODULE"
NGX_ADDON_DEPS="$NGX_ADDON_DEPS \$(HTTP_DEPS)"
fi
2004-03-05 16:34:24 +08:00
if [ $MAIL = YES ]; then
modules="$modules $MAIL_MODULES"
if [ $MAIL_SSL = YES ]; then
modules="$modules $MAIL_SSL_MODULE"
MAIL_DEPS="$MAIL_DEPS $MAIL_SSL_DEPS"
MAIL_SRCS="$MAIL_SRCS $MAIL_SSL_SRCS"
fi
if [ $MAIL_POP3 = YES ]; then
modules="$modules $MAIL_POP3_MODULE"
MAIL_DEPS="$MAIL_DEPS $MAIL_POP3_DEPS"
MAIL_SRCS="$MAIL_SRCS $MAIL_POP3_SRCS"
fi
if [ $MAIL_IMAP = YES ]; then
modules="$modules $MAIL_IMAP_MODULE"
MAIL_DEPS="$MAIL_DEPS $MAIL_IMAP_DEPS"
MAIL_SRCS="$MAIL_SRCS $MAIL_IMAP_SRCS"
fi
if [ $MAIL_SMTP = YES ]; then
modules="$modules $MAIL_SMTP_MODULE"
MAIL_DEPS="$MAIL_DEPS $MAIL_SMTP_DEPS"
MAIL_SRCS="$MAIL_SRCS $MAIL_SMTP_SRCS"
fi
modules="$modules $MAIL_AUTH_HTTP_MODULE"
MAIL_SRCS="$MAIL_SRCS $MAIL_AUTH_HTTP_SRCS"
modules="$modules $MAIL_PROXY_MODULE"
MAIL_SRCS="$MAIL_SRCS $MAIL_PROXY_SRCS"
fi
2004-03-05 16:34:24 +08:00
2008-03-18 18:36:27 +08:00
if [ $NGX_GOOGLE_PERFTOOLS = YES ]; then
modules="$modules $NGX_GOOGLE_PERFTOOLS_MODULE"
NGX_MISC_SRCS="$NGX_MISC_SRCS $NGX_GOOGLE_PERFTOOLS_SRCS"
fi
2008-08-13 16:29:27 +08:00
if [ $NGX_CPP_TEST = YES ]; then
2008-08-06 03:32:50 +08:00
NGX_MISC_SRCS="$NGX_MISC_SRCS $NGX_CPP_TEST_SRCS"
fi
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
cat << END >> $NGX_MODULES_C
NULL
};
END