Tengine是由淘宝网发起的Web服务器项目。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

915 lines
26 KiB

# Copyright (C) Igor Sysoev
# Copyright (C) Nginx, Inc.
if [ $EVENT_SELECT = NO -a $EVENT_FOUND = NO ]; then
EVENT_SELECT=YES
fi
if [ $EVENT_SELECT = YES ]; then
have=NGX_HAVE_SELECT . auto/have
CORE_SRCS="$CORE_SRCS $SELECT_SRCS"
EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE"
fi
if [ $EVENT_POLL = NO -a $EVENT_FOUND = NO ]; then
EVENT_POLL=YES
fi
if [ $EVENT_POLL = YES ]; then
have=NGX_HAVE_POLL . auto/have
CORE_SRCS="$CORE_SRCS $POLL_SRCS"
EVENT_MODULES="$EVENT_MODULES $POLL_MODULE"
fi
if [ $NGX_TEST_BUILD_DEVPOLL = YES ]; then
have=NGX_HAVE_DEVPOLL . auto/have
have=NGX_TEST_BUILD_DEVPOLL . auto/have
EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE"
CORE_SRCS="$CORE_SRCS $DEVPOLL_SRCS"
fi
if [ $NGX_TEST_BUILD_EVENTPORT = YES ]; then
have=NGX_HAVE_EVENTPORT . auto/have
have=NGX_TEST_BUILD_EVENTPORT . auto/have
EVENT_MODULES="$EVENT_MODULES $EVENTPORT_MODULE"
CORE_SRCS="$CORE_SRCS $EVENTPORT_SRCS"
fi
if [ $NGX_TEST_BUILD_EPOLL = YES ]; then
have=NGX_HAVE_EPOLL . auto/have
have=NGX_HAVE_EVENTFD . auto/have
have=NGX_TEST_BUILD_EPOLL . auto/have
EVENT_MODULES="$EVENT_MODULES $EPOLL_MODULE"
CORE_SRCS="$CORE_SRCS $EPOLL_SRCS"
fi
if [ $NGX_TEST_BUILD_RTSIG = YES ]; then
have=NGX_HAVE_RTSIG . auto/have
have=NGX_TEST_BUILD_RTSIG . auto/have
EVENT_MODULES="$EVENT_MODULES $RTSIG_MODULE"
CORE_SRCS="$CORE_SRCS $RTSIG_SRCS"
fi
if [ $NGX_TEST_BUILD_SOLARIS_SENDFILEV = YES ]; then
have=NGX_TEST_BUILD_SOLARIS_SENDFILEV . auto/have
CORE_SRCS="$CORE_SRCS $SOLARIS_SENDFILEV_SRCS"
fi
if [ $NGX_DSO = YES ] ; then
have=NGX_DSO . auto/have
have=NGX_DSO_MAX value="$NGX_DSO_MAX" . auto/define
have=NGX_DSO_PATH value="\"$NGX_DSO_PATH\"" . auto/define
have=NGX_SOEXT value="\"$NGX_SOEXT\"" . auto/define
CORE_MODULES="$CORE_MODULES $DSO_MODULE"
CORE_SRCS="$CORE_SRCS $DSO_SRCS"
CORE_LIBS="$CORE_LIBS $NGX_LIBDL"
LINK="$LINK -rdynamic"
fi
if [ $PROCS = YES ]; then
have=NGX_PROCS . auto/have
CORE_SRCS="$CORE_SRCS $PROCS_SRCS"
CORE_DEPS="$CORE_DEPS $PROCS_DEPS"
CORE_INCS="$CORE_INCS $PROCS_INCS"
else
PROCS_MODULES=
fi
if [ $HTTP != YES ]; then
have=NGX_CRYPT . auto/nohave
CRYPT_LIB=
fi
if [ $HTTP_CACHE = YES ]; then
USE_MD5=YES
have=NGX_HTTP_CACHE . auto/have
NGX_DSO_ABI_COMPATIBILITY=$(($NGX_DSO_ABI_COMPATIBILITY|$NGX_DSO_CACHE_TAG))
HTTP_SRCS="$HTTP_SRCS $HTTP_FILE_CACHE_SRCS"
fi
if [ $HTTP_SSI = YES ]; then
HTTP_POSTPONE=YES
fi
if [ $HTTP_ADDITION = YES ]; then
HTTP_POSTPONE=YES
fi
# the module order is important
# ngx_http_static_module
# ngx_http_gzip_static_module
# ngx_http_dav_module
# ngx_http_autoindex_module
# ngx_http_index_module
# ngx_http_random_index_module
# ngx_http_concat_module
#
# ngx_http_access_module
# ngx_http_realip_module
#
#
# the filter order is important
# ngx_http_write_filter
# ngx_http_header_filter
# ngx_http_chunked_filter
# ngx_http_spdy_filter
# ngx_http_range_header_filter
# ngx_http_gzip_filter
# ngx_http_postpone_filter
# ngx_http_ssi_filter
# ngx_http_charset_filter
# ngx_http_xslt_filter
# ngx_http_image_filter
# ngx_http_sub_filter
# ngx_http_addition_filter
# ngx_http_gunzip_filter
# ngx_http_userid_filter
# ngx_http_footer_filter
# ngx_http_trim_filter
# ngx_http_headers_filter
# ngx_http_copy_filter
# ngx_http_range_body_filter
# ngx_http_not_modified_filter
HTTP_FILTER_MODULES="$HTTP_WRITE_FILTER_MODULE \
$HTTP_HEADER_FILTER_MODULE \
$HTTP_CHUNKED_FILTER_MODULE"
if [ $HTTP_SPDY = YES ]; then
HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_SPDY_FILTER_MODULE"
fi
HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_RANGE_HEADER_FILTER_MODULE"
if [ $HTTP_GZIP = YES ]; then
have=NGX_HTTP_GZIP . auto/have
NGX_DSO_ABI_COMPATIBILITY=$(($NGX_DSO_ABI_COMPATIBILITY|$NGX_DSO_GZIP_TAG))
USE_ZLIB=YES
HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_GZIP_FILTER_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_GZIP_SRCS"
fi
if [ $HTTP_POSTPONE = YES ]; then
HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_POSTPONE_FILTER_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_POSTPONE_FILTER_SRCS"
fi
if [ $HTTP_SSI = YES ]; then
have=NGX_HTTP_SSI . auto/have
NGX_DSO_ABI_COMPATIBILITY=$(($NGX_DSO_ABI_COMPATIBILITY|$NGX_DSO_SSI_TAG))
HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_SSI_FILTER_MODULE"
HTTP_DEPS="$HTTP_DEPS $HTTP_SSI_DEPS"
HTTP_SRCS="$HTTP_SRCS $HTTP_SSI_SRCS"
fi
if [ $HTTP_CHARSET = YES ]; then
HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_CHARSET_FILTER_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_CHARSET_SRCS"
fi
if [ $HTTP_CHARSET_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_CHARSET_FILTER_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_CHARSET_SRCS"
fi
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
if [ $HTTP_XSLT_SHARED = YES ]; then
USE_LIBXSLT=YES
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_XSLT_FILTER_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_XSLT_SRCS"
fi
if [ $HTTP_IMAGE_FILTER = YES ]; then
USE_LIBGD=YES
HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_IMAGE_FILTER_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_IMAGE_SRCS"
fi
if [ $HTTP_IMAGE_FILTER_SHARED = YES ]; then
USE_LIBGD=YES
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_IMAGE_FILTER_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_IMAGE_SRCS"
fi
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_SUB_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_SUB_FILTER_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_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_ADDITION_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_ADDITION_FILTER_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_ADDITION_SRCS"
fi
if [ $HTTP_GUNZIP = YES ]; then
have=NGX_HTTP_GZIP . auto/have
USE_ZLIB=YES
HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_GUNZIP_FILTER_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_GUNZIP_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
if [ $HTTP_SPDY = YES ]; then
have=NGX_HTTP_SPDY . auto/have
USE_ZLIB=YES
HTTP_MODULES="$HTTP_MODULES $HTTP_SPDY_MODULE"
HTTP_DEPS="$HTTP_DEPS $HTTP_SPDY_DEPS"
HTTP_SRCS="$HTTP_SRCS $HTTP_SPDY_SRCS"
fi
if [ $HTTP_USERID_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_USERID_FILTER_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_USERID_SRCS"
fi
if [ $HTTP_FOOTER = YES ]; then
HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_FOOTER_FILTER_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_FOOTER_FILTER_SRCS"
fi
if [ $HTTP_FOOTER_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_FOOTER_FILTER_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_FOOTER_FILTER_SRCS"
fi
if [ $HTTP_TRIM = YES ]; then
HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_TRIM_FILTER_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_TRIM_FILTER_SRCS"
fi
if [ $HTTP_TRIM_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_TRIM_FILTER_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_TRIM_FILTER_SRCS"
fi
HTTP_MODULES="$HTTP_MODULES $HTTP_STATIC_MODULE"
if [ $HTTP_GZIP_STATIC = YES ]; then
have=NGX_HTTP_GZIP . auto/have
NGX_DSO_ABI_COMPATIBILITY=$(($NGX_DSO_ABI_COMPATIBILITY|$NGX_DSO_GZIP_STATIC_TAG))
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
NGX_DSO_ABI_COMPATIBILITY=$(($NGX_DSO_ABI_COMPATIBILITY|$NGX_DSO_DAV_TAG))
HTTP_MODULES="$HTTP_MODULES $HTTP_DAV_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_DAV_SRCS"
fi
if [ $HTTP_AUTOINDEX = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_AUTOINDEX_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_AUTOINDEX_SRCS"
fi
if [ $HTTP_AUTOINDEX_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_AUTOINDEX_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_AUTOINDEX_SRCS"
fi
HTTP_MODULES="$HTTP_MODULES $HTTP_INDEX_MODULE"
if [ $HTTP_RANDOM_INDEX = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_RANDOM_INDEX_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_RANDOM_INDEX_SRCS"
fi
if [ $HTTP_RANDOM_INDEX_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_RANDOM_INDEX_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_RANDOM_INDEX_SRCS"
fi
if [ $HTTP_CONCAT = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_CONCAT_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_CONCAT_SRCS"
fi
if [ $HTTP_CONCAT_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_CONCAT_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_CONCAT_SRCS"
fi
if [ $HTTP_AUTH_BASIC = YES ]; then
USE_MD5=YES
USE_SHA1=YES
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
if [ $HTTP_ACCESS = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_ACCESS_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_ACCESS_SRCS"
fi
if [ $HTTP_ACCESS_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_ACCESS_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_ACCESS_SRCS"
fi
if [ $HTTP_LIMIT_CONN = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_LIMIT_CONN_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_LIMIT_CONN_SRCS"
fi
if [ $HTTP_LIMIT_CONN_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_LIMIT_CONN_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_LIMIT_CONN_SRCS"
fi
if [ $HTTP_LIMIT_REQ = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_LIMIT_REQ_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_LIMIT_REQ_SRCS"
fi
if [ $HTTP_LIMIT_REQ_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_LIMIT_REQ_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_LIMIT_REQ_SRCS"
fi
if [ $HTTP_REALIP = YES ]; then
have=NGX_HTTP_REALIP . auto/have
have=NGX_HTTP_X_FORWARDED_FOR . auto/have
NGX_DSO_ABI_COMPATIBILITY=$(($NGX_DSO_ABI_COMPATIBILITY|$NGX_DSO_REALIP_TAG))
HTTP_MODULES="$HTTP_MODULES $HTTP_REALIP_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_REALIP_SRCS"
fi
if [ $HTTP_STATUS = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_STATUS_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_STATUS_SRCS"
fi
if [ $HTTP_STATUS_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_STATUS_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_STATUS_SRCS"
fi
if [ $HTTP_GEO = YES ]; then
have=NGX_HTTP_X_FORWARDED_FOR . auto/have
NGX_DSO_ABI_COMPATIBILITY=$(($NGX_DSO_ABI_COMPATIBILITY|$NGX_DSO_GEO_TAG))
HTTP_MODULES="$HTTP_MODULES $HTTP_GEO_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_GEO_SRCS"
fi
if [ $HTTP_GEOIP = YES ]; then
have=NGX_HTTP_X_FORWARDED_FOR . auto/have
NGX_DSO_ABI_COMPATIBILITY=$(($NGX_DSO_ABI_COMPATIBILITY|$NGX_DSO_GEOIP_TAG))
HTTP_MODULES="$HTTP_MODULES $HTTP_GEOIP_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_GEOIP_SRCS"
fi
if [ $HTTP_GEOIP_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_GEOIP_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_GEOIP_SRCS"
fi
if [ $HTTP_MAP = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_MAP_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_MAP_SRCS"
fi
if [ $HTTP_MAP_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_MAP_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_MAP_SRCS"
fi
if [ $HTTP_SPLIT_CLIENTS = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_SPLIT_CLIENTS_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_SPLIT_CLIENTS_SRCS"
fi
if [ $HTTP_SPLIT_CLIENTS_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_SPLIT_CLIENTS_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_SPLIT_CLIENTS_SRCS"
fi
if [ $HTTP_REFERER = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_REFERER_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_REFERER_SRCS"
fi
if [ $HTTP_REFERER_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_REFERER_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_REFERER_SRCS"
fi
if [ $HTTP_REWRITE = YES -a $USE_PCRE != DISABLED ]; then
USE_PCRE=YES
HTTP_MODULES="$HTTP_MODULES $HTTP_REWRITE_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_REWRITE_SRCS"
fi
if [ $HTTP_REWRITE_SHARED = YES -a $USE_PCRE != DISABLED ]; then
USE_PCRE=YES
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_REWRITE_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_REWRITE_SRCS"
fi
if [ $HTTP_SSL = YES ]; then
USE_OPENSSL=YES
have=NGX_HTTP_SSL . auto/have
NGX_DSO_ABI_COMPATIBILITY=$(($NGX_DSO_ABI_COMPATIBILITY|$NGX_DSO_SSL_TAG))
HTTP_MODULES="$HTTP_MODULES $HTTP_SSL_MODULE"
HTTP_DEPS="$HTTP_DEPS $HTTP_SSL_DEPS"
HTTP_SRCS="$HTTP_SRCS $HTTP_SSL_SRCS"
fi
if [ $HTTP_PROXY = YES ]; then
have=NGX_HTTP_X_FORWARDED_FOR . auto/have
NGX_DSO_ABI_COMPATIBILITY=$(($NGX_DSO_ABI_COMPATIBILITY|$NGX_DSO_PROXY_TAG))
#USE_MD5=YES
HTTP_MODULES="$HTTP_MODULES $HTTP_PROXY_MODULE"
HTTP_DEPS="$HTTP_DEPS $HTTP_PROXY_DEPS"
HTTP_SRCS="$HTTP_SRCS $HTTP_PROXY_SRCS"
fi
if [ $HTTP_FASTCGI = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_FASTCGI_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_FASTCGI_SRCS"
fi
if [ $HTTP_FASTCGI_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_FASTCGI_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_FASTCGI_SRCS"
fi
if [ $HTTP_UWSGI = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_UWSGI_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_UWSGI_SRCS"
fi
if [ $HTTP_UWSGI_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_UWSGI_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_UWSGI_SRCS"
fi
if [ $HTTP_SCGI = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_SCGI_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_SCGI_SRCS"
fi
if [ $HTTP_SCGI_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_SCGI_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_SCGI_SRCS"
fi
if [ $HTTP_PERL = YES ]; then
USE_PERL=YES
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_LUA = YES ]; then
USE_MD5=YES
USE_SHA1=YES
CORE_INCS="$CORE_INCS src/http/modules/lua/api"
HTTP_AUX_FILTER_MODULES="$HTTP_AUX_FILTER_MODULES $NGX_HTTP_LUA_MODULE"
HTTP_DEPS="$HTTP_DEPS $NGX_HTTP_LUA_MODULE_DEPS"
HTTP_SRCS="$HTTP_SRCS $NGX_HTTP_LUA_MODULE_SRCS"
fi
if [ $HTTP_LUA_SHARED = YES ]; then
USE_MD5=YES
USE_SHA1=YES
CORE_INCS="$CORE_INCS src/http/modules/lua/api"
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $NGX_HTTP_LUA_MODULE"
HTTP_DEPS="$HTTP_DEPS $NGX_HTTP_LUA_MODULE_DEPS"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$NGX_HTTP_LUA_MODULE_SRCS"
fi
if [ $HTTP_TFS = YES ]; then
USE_MD5=YES
CORE_INCS="$CORE_INCS src/http/modules/tfs"
HTTP_MODULES="$HTTP_MODULES $NGX_HTTP_TFS_MODULE"
HTTP_DEPS="$HTTP_DEPS $NGX_HTTP_TFS_MODULE_DEPS"
HTTP_SRCS="$HTTP_SRCS $NGX_HTTP_TFS_MODULE_SRCS"
fi
if [ $HTTP_TFS_SHARED = YES ]; then
USE_MD5=YES
CORE_INCS="$CORE_INCS src/http/modules/tfs"
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $NGX_HTTP_TFS_MODULE"
HTTP_DEPS="$HTTP_DEPS $NGX_HTTP_TFS_MODULE_DEPS"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$NGX_HTTP_TFS_MODULE_SRCS"
fi
if [ $HTTP_MEMCACHED = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_MEMCACHED_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_MEMCACHED_SRCS"
fi
if [ $HTTP_MEMCACHED_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_MEMCACHED_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_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
if [ $HTTP_EMPTY_GIF_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_EMPTY_GIF_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_EMPTY_GIF_SRCS"
fi
if [ $HTTP_BROWSER = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_BROWSER_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_BROWSER_SRCS"
fi
if [ $HTTP_BROWSER_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_BROWSER_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_BROWSER_SRCS"
fi
if [ $HTTP_USER_AGENT = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_USER_AGENT_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_USER_AGENT_SRCS"
fi
if [ $HTTP_USER_AGENT_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_USER_AGENT_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_USER_AGENT_SRCS"
fi
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
if [ $HTTP_SECURE_LINK_SHARED = YES ]; then
USE_MD5=YES
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_SECURE_LINK_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_SECURE_LINK_SRCS"
fi
if [ $HTTP_DEGRADATION = YES ]; then
have=NGX_HTTP_DEGRADATION . auto/have
NGX_DSO_ABI_COMPATIBILITY=$(($NGX_DSO_ABI_COMPATIBILITY|$NGX_DSO_DEGRADATION_TAG))
HTTP_MODULES="$HTTP_MODULES $HTTP_DEGRADATION_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_DEGRADATION_SRCS"
fi
if [ $HTTP_SYSGUARD = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_SYSGUARD_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_SYSGUARD_SRCS"
fi
if [ $HTTP_SYSGUARD_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_SYSGUARD_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_SYSGUARD_SRCS"
fi
if [ $HTTP_FLV = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_FLV_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_FLV_SRCS"
fi
if [ $HTTP_FLV_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_FLV_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_FLV_SRCS"
fi
if [ $HTTP_SLICE = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_SLICE_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_SLICE_SRCS"
fi
if [ $HTTP_SLICE_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_SLICE_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_SLICE_SRCS"
fi
if [ $HTTP_MP4 = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_MP4_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_MP4_SRCS"
fi
if [ $HTTP_MP4_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_MP4_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_MP4_SRCS"
fi
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
if [ $HTTP_UPSTREAM_IP_HASH_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_UPSTREAM_IP_HASH_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_UPSTREAM_IP_HASH_SRCS"
fi
if [ $HTTP_UPSTREAM_CONSISTENT_HASH = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_UPSTREAM_CONSISTENT_HASH_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_UPSTREAM_CONSISTENT_HASH_SRCS"
fi
if [ $HTTP_UPSTREAM_CONSISTENT_HASH_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_UPSTREAM_CONSISTENT_HASH_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_UPSTREAM_CONSISTENT_HASH_SRCS"
fi
if [ $HTTP_UPSTREAM_CHECK = YES ]; then
have=NGX_HTTP_UPSTREAM_CHECK . auto/have
NGX_DSO_ABI_COMPATIBILITY=$(($NGX_DSO_ABI_COMPATIBILITY|$NGX_DSO_UPSTREAM_CHECK_TAG))
HTTP_MODULES="$HTTP_MODULES $HTTP_UPSTREAM_CHECK_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_UPSTREAM_CHECK_SRCS"
fi
if [ $HTTP_UPSTREAM_LEAST_CONN = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_UPSTREAM_LEAST_CONN_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_UPSTREAM_LEAST_CONN_SRCS"
fi
if [ $HTTP_UPSTREAM_LEAST_CONN_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_UPSTREAM_LEAST_CONN_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_UPSTREAM_LEAST_CONN_SRCS"
fi
if [ $HTTP_UPSTREAM_SESSION_STICKY = YES ]; then
HTTP_AUX_FILTER_MODULES="$HTTP_AUX_FILTER_MODULES $HTTP_UPSTREAM_SESSION_STICKY_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_UPSTREAM_SESSION_STICKY_SRCS"
fi
if [ $HTTP_UPSTREAM_SESSION_STICKY_SHARED = YES ]; then
NGX_SHARED_MODULES="$NGX_SHARED_MODULES $HTTP_UPSTREAM_SESSION_STICKY_MODULE"
NGX_SHARED_SRCS="$NGX_SHARED_SRCS|$HTTP_UPSTREAM_SESSION_STICKY_SRCS"
fi
if [ $HTTP_UPSTREAM_KEEPALIVE = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_UPSTREAM_KEEPALIVE_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_UPSTREAM_KEEPALIVE_SRCS"
fi
if [ $HTTP_STUB_STATUS = YES ]; then
have=NGX_STAT_STUB . auto/have
NGX_DSO_ABI_COMPATIBILITY=$(($NGX_DSO_ABI_COMPATIBILITY|$NGX_DSO_STAT_STUB_TAG))
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
fi
if [ $MAIL_SSL = YES ]; then
have=NGX_MAIL_SSL . auto/have
USE_OPENSSL=YES
fi
if [ $NGX_SYSLOG = YES ]; then
CORE_MODULES="$CORE_MODULES ngx_syslog_module"
NGX_DSO_ABI_COMPATIBILITY=$(($NGX_DSO_ABI_COMPATIBILITY|$NGX_DSO_SYSLOG_TAG))
fi
modules="$CORE_MODULES $EVENT_MODULES $PROCS_MODULES"
if [ $USE_OPENSSL = YES ]; then
modules="$modules $OPENSSL_MODULE"
CORE_DEPS="$CORE_DEPS $OPENSSL_DEPS"
CORE_SRCS="$CORE_SRCS $OPENSSL_SRCS"
fi
if [ $USE_PCRE = YES ]; then
modules="$modules $REGEX_MODULE"
CORE_DEPS="$CORE_DEPS $REGEX_DEPS"
CORE_SRCS="$CORE_SRCS $REGEX_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)"
NGX_DSO_ABI_COMPATIBILITY=$(($NGX_DSO_ABI_COMPATIBILITY|$NGX_DSO_HTTP_TAG))
fi
if [ $NGX_DSO = YES ] ; then
have=NGX_DSO_ABI_COMPATIBILITY value="$NGX_DSO_ABI_COMPATIBILITY" . auto/define
else
have=NGX_DSO_ABI_COMPATIBILITY value="0" . auto/define
fi
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
if [ $NGX_GOOGLE_PERFTOOLS = YES ]; then
modules="$modules $NGX_GOOGLE_PERFTOOLS_MODULE"
NGX_MISC_SRCS="$NGX_MISC_SRCS $NGX_GOOGLE_PERFTOOLS_SRCS"
fi
if [ $NGX_CPP_TEST = YES ]; then
NGX_MISC_SRCS="$NGX_MISC_SRCS $NGX_CPP_TEST_SRCS"
CORE_LIBS="$CORE_LIBS -lstdc++"
fi
if [ $NGX_BACKTRACE = YES ]; then
modules="$modules $NGX_BACKTRACE_MODULE"
NGX_MISC_SRCS="$NGX_MISC_SRCS $NGX_BACKTRACE_SRCS"
if ! [ $NGX_DSO = YES ] ; then
LINK="$LINK -rdynamic"
fi
fi
cat << END > $NGX_MODULES_C
#include <ngx_config.h>
#include <ngx_core.h>
$NGX_PRAGMA
END
for mod in $modules
do
echo "extern ngx_module_t $mod;" >> $NGX_MODULES_C
done
echo >> $NGX_MODULES_C
echo 'ngx_module_t *ngx_modules[] = {' >> $NGX_MODULES_C
for mod in $modules
do
echo " &$mod," >> $NGX_MODULES_C
done
if [ $NGX_DSO = YES ] ; then
for i in `seq 1 $NGX_DSO_MAX`
do
echo ' NULL,' >> $NGX_MODULES_C
done
fi
echo ' NULL' >> $NGX_MODULES_C
echo '};' >> $NGX_MODULES_C
echo >> $NGX_MODULES_C
echo 'u_char *ngx_module_names[] = {' >> $NGX_MODULES_C
for mod in $modules
do
echo " (u_char *) \"$mod\"," >> $NGX_MODULES_C
done
if [ $NGX_DSO = YES ] ; then
for i in `seq 1 $NGX_DSO_MAX`
do
echo ' NULL,' >> $NGX_MODULES_C
done
fi
cat << END >> $NGX_MODULES_C
NULL
};
END
if [ $NGX_DSO = YES ] ; then
echo >> $NGX_MODULES_C
echo 'const char *ngx_all_module_names[] = {' >> $NGX_MODULES_C
for mod in $NGX_ALL_MODULES
do
echo " \"$mod\"," >> $NGX_MODULES_C
done
cat << END >> $NGX_MODULES_C
NULL
};
END
echo >> $NGX_MODULES_C
echo 'const char *ngx_dso_abi_all_tags[] = {' >> $NGX_MODULES_C
for tag in $NGX_DSO_ABI_ALL_TAG
do
echo " \"$tag\"," >> $NGX_MODULES_C
done
cat << END >> $NGX_MODULES_C
NULL
};
END
for mod in $NGX_ALL_MODULES
do
echo "module_stub $mod;" >> $NGX_MODULE_STUBS
done
fi