|  |  | 
|  | # Copyright (C) Igor Sysoev | 
|  |  | 
|  |  | 
|  | 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_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 [ $HTTP != YES ]; then | 
|  | have=NGX_CRYPT . auto/nohave | 
|  | CRYPT_LIB= | 
|  | 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_autoindex_module | 
|  | #     ngx_http_index_module | 
|  | # | 
|  | #     ngx_http_access_module | 
|  | #     ngx_http_realip_module | 
|  | # | 
|  | # | 
|  | # the filter order is important | 
|  | #     ngx_http_write_filter | 
|  | #     ngx_http_header_filter | 
|  | #     ngx_http_chunked_filter | 
|  | #     ngx_http_range_header_filter | 
|  | #     ngx_http_gzip_filter | 
|  | #     ngx_http_postpone_filter | 
|  | #     ngx_http_charset_filter | 
|  | #     ngx_http_ssi_filter | 
|  | #         ngx_http_addition_filter | 
|  | #         ngx_http_userid_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 \ | 
|  | $HTTP_RANGE_HEADER_FILTER_MODULE" | 
|  |  | 
|  | if [ $HTTP_GZIP = YES ]; then | 
|  | have=NGX_HTTP_GZIP . auto/have | 
|  | 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 $HTPP_POSTPONE_FILTER_SRCS" | 
|  | fi | 
|  |  | 
|  | 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 | 
|  |  | 
|  | if [ $HTTP_SSI = YES ]; then | 
|  | have=NGX_HTTP_SSI . auto/have | 
|  | 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_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_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" | 
|  |  | 
|  | 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 | 
|  |  | 
|  | 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 | 
|  |  | 
|  | 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 | 
|  |  | 
|  | 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 | 
|  |  | 
|  | 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 | 
|  |  | 
|  | if [ $HTTP_SSL = YES ]; then | 
|  | USE_OPENSSL=YES | 
|  | have=NGX_HTTP_SSL . auto/have | 
|  | 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_PROXY . auto/have | 
|  | #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_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 | 
|  |  | 
|  | if [ $HTTP_BROWSER = YES ]; then | 
|  | HTTP_MODULES="$HTTP_MODULES $HTTP_BROWSER_MODULE" | 
|  | HTTP_SRCS="$HTTP_SRCS $HTTP_BROWSER_SRCS" | 
|  | fi | 
|  |  | 
|  | if [ $HTTP_FLV = YES ]; then | 
|  | HTTP_MODULES="$HTTP_MODULES $HTTP_FLV_MODULE" | 
|  | HTTP_SRCS="$HTTP_SRCS $HTTP_FLV_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 | 
|  |  | 
|  | # STUB | 
|  | #USE_MD5=YES | 
|  | #HTTP_SRCS="$HTTP_SRCS $HTPP_CACHE_SRCS" | 
|  | #HTTP_SRCS="$HTTP_SRCS $HTPP_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 | 
|  | fi | 
|  |  | 
|  |  | 
|  | if [ $IMAP_SSL = YES ]; then | 
|  | IMAP_DEPS="$IMAP_DEPS $IMAP_SSL_DEPS" | 
|  | IMAP_SRCS="$IMAP_SRCS $IMAP_SSL_SRCS" | 
|  | have=NGX_IMAP_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 | 
|  |  | 
|  |  | 
|  | if [ $IMAP = YES ]; then | 
|  | modules="$modules $IMAP_MODULES" | 
|  |  | 
|  | if [ $IMAP_SSL = YES ]; then | 
|  | modules="$modules $IMAP_SSL_MODULE" | 
|  | fi | 
|  |  | 
|  | modules="$modules $IMAP_AUTH_HTTP_MODULE" | 
|  | IMAP_SRCS="$IMAP_SRCS $IMAP_AUTH_HTTP_SRCS" | 
|  |  | 
|  | modules="$modules $IMAP_PROXY_MODULE" | 
|  | IMAP_SRCS="$IMAP_SRCS $IMAP_PROXY_SRCS" | 
|  | fi | 
|  |  | 
|  |  | 
|  | cat << END                                    > $NGX_MODULES_C | 
|  |  | 
|  | #include <ngx_config.h> | 
|  | #include <ngx_core.h> | 
|  |  | 
|  | $NGX_PRAGMA | 
|  |  | 
|  | END | 
|  |  | 
|  | for mod in $modules | 
|  | do | 
|  | echo "extern ngx_module_t  $mod;"         >> $NGX_MODULES_C | 
|  | done | 
|  |  | 
|  | echo                                          >> $NGX_MODULES_C | 
|  | echo 'ngx_module_t *ngx_modules[] = {'        >> $NGX_MODULES_C | 
|  |  | 
|  | for mod in $modules | 
|  | do | 
|  | echo "    &$mod,"                         >> $NGX_MODULES_C | 
|  | done | 
|  |  | 
|  | cat << END                                    >> $NGX_MODULES_C | 
|  | NULL | 
|  | }; | 
|  |  | 
|  | END |