view auto/options @ 391:1d9bef53cd8e

Range filter: late_ranges functionality. Add one more filtering point after postpone filter. This allows to serve range capable replies with subrequests. It's not as efficient as range filtering for static data (i.e. doesn't save us from reading data from disk if some filter needs them in memory), but it may save some network bandwidth for us and for our users.
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 21 Jul 2008 05:33:01 +0400
parents 6639b93e81b2
children 34fb3a573548
line wrap: on
line source


# Copyright (C) Igor Sysoev


help=no

NGX_PREFIX=
NGX_SBIN_PATH=
NGX_CONF_PREFIX=
NGX_CONF_PATH=
NGX_ERROR_LOG_PATH=
NGX_PID_PATH=
NGX_LOCK_PATH=
NGX_USER=
NGX_GROUP=

CC=${CC:-gcc}
CPP=
NGX_OBJS=objs

NGX_DEBUG=NO
NGX_CC_OPT=
NGX_LD_OPT=
CPU=NO

NGX_RPATH=NO

NGX_TEST_BUILD_DEVPOLL=NO
NGX_TEST_BUILD_EVENTPORT=NO
NGX_TEST_BUILD_EPOLL=NO
NGX_TEST_BUILD_RTSIG=NO
NGX_TEST_BUILD_SOLARIS_SENDFILEV=NO

NGX_PLATFORM=
NGX_WINE=

EVENT_FOUND=NO

EVENT_RTSIG=NO
EVENT_SELECT=NO
EVENT_POLL=NO
EVENT_AIO=NO

USE_THREADS=NO

HTTP=YES

NGX_HTTP_LOG_PATH=
NGX_HTTP_CLIENT_TEMP_PATH=
NGX_HTTP_PROXY_TEMP_PATH=
NGX_HTTP_FASTCGI_TEMP_PATH=

HTTP_CHARSET=YES
HTTP_GZIP=YES
HTTP_SSL=NO
HTTP_SSI=YES
HTTP_POSTPONE=NO
HTTP_REALIP=NO
HTTP_SUB=NO
HTTP_ADDITION=NO
HTTP_DAV=NO
HTTP_ACCESS=YES
HTTP_AUTH_BASIC=YES
HTTP_USERID=YES
HTTP_AUTOINDEX=YES
HTTP_STATUS=NO
HTTP_GEO=YES
HTTP_MAP=YES
HTTP_REFERER=YES
HTTP_REWRITE=YES
HTTP_PROXY=YES
HTTP_FASTCGI=YES
HTTP_PERL=NO
HTTP_MEMCACHED=YES
HTTP_LIMIT_ZONE=YES
HTTP_EMPTY_GIF=YES
HTTP_BROWSER=YES
HTTP_FLV=NO
HTTP_GZIP_STATIC=NO
HTTP_UPSTREAM_IP_HASH=YES

# STUB
HTTP_STUB_STATUS=NO

MAIL=NO
MAIL_SSL=NO
MAIL_POP3=YES
MAIL_IMAP=YES
MAIL_SMTP=YES

NGX_ADDONS=

USE_PCRE=NO
PCRE=NONE
PCRE_OPT=

USE_OPENSSL=NO
OPENSSL=NONE

USE_MD5=NO
MD5=NONE
MD5_OPT=
MD5_ASM=NO

USE_SHA1=NO
SHA1=NONE
SHA1_OPT=
SHA1_ASM=NO

USE_ZLIB=NO
ZLIB=NONE
ZLIB_OPT=
ZLIB_ASM=NO

USE_PERL=NO
NGX_PERL=perl

NGX_GOOGLE_PERFTOOLS=NO

NGX_CPU_CACHE_LINE=


for option
do
    case "$option" in
        -*=*) value=`echo "$option" | sed -e 's/[-_a-zA-Z0-9]*=//'` ;;
           *) value="" ;;
    esac

    case "$option" in
        --help)                          help=yes                   ;;

        --prefix=*)                      NGX_PREFIX="$value"        ;;
        --sbin-path=*)                   NGX_SBIN_PATH="$value"     ;;
        --conf-path=*)                   NGX_CONF_PATH="$value"     ;;
        --error-log-path=*)              NGX_ERROR_LOG_PATH="$value";;
        --pid-path=*)                    NGX_PID_PATH="$value"      ;;
        --lock-path=*)                   NGX_LOCK_PATH="$value"     ;;
        --user=*)                        NGX_USER="$value"          ;;
        --group=*)                       NGX_GROUP="$value"         ;;

        --crossbuild=*)                  NGX_PLATFORM="$value"      ;;

        --builddir=*)                    NGX_OBJS="$value"          ;;

        --with-rtsig_module)             EVENT_RTSIG=YES            ;;
        --with-select_module)            EVENT_SELECT=YES           ;;
        --without-select_module)         EVENT_SELECT=NONE          ;;
        --with-poll_module)              EVENT_POLL=YES             ;;
        --without-poll_module)           EVENT_POLL=NONE            ;;
        --with-aio_module)               EVENT_AIO=YES              ;;

        #--with-threads=*)                USE_THREADS="$value"       ;;
        #--with-threads)                  USE_THREADS="pthreads"     ;;

        --without-http)                  HTTP=NO                    ;;
        --http-log-path=*)               NGX_HTTP_LOG_PATH="$value" ;;
        --http-client-body-temp-path=*)  NGX_HTTP_CLIENT_TEMP_PATH="$value" ;;
        --http-proxy-temp-path=*)        NGX_HTTP_PROXY_TEMP_PATH="$value" ;;
        --http-fastcgi-temp-path=*)      NGX_HTTP_FASTCGI_TEMP_PATH="$value" ;;

        --with-http_ssl_module)          HTTP_SSL=YES               ;;
        --with-http_realip_module)       HTTP_REALIP=YES            ;;
        --with-http_addition_module)     HTTP_ADDITION=YES          ;;
        --with-http_sub_module)          HTTP_SUB=YES               ;;
        --with-http_dav_module)          HTTP_DAV=YES               ;;
        --with-http_flv_module)          HTTP_FLV=YES               ;;
        --with-http_gzip_static_module)  HTTP_GZIP_STATIC=YES       ;;

        --without-http_charset_module)   HTTP_CHARSET=NO            ;;
        --without-http_gzip_module)      HTTP_GZIP=NO               ;;
        --without-http_ssi_module)       HTTP_SSI=NO                ;;
        --without-http_userid_module)    HTTP_USERID=NO             ;;
        --without-http_access_module)    HTTP_ACCESS=NO             ;;
        --without-http_auth_basic_module) HTTP_AUTH_BASIC=NO        ;;
        --without-http_autoindex_module) HTTP_AUTOINDEX=NO          ;;
        --without-http_status_module)    HTTP_STATUS=NO             ;;
        --without-http_geo_module)       HTTP_GEO=NO                ;;
        --without-http_map_module)       HTTP_MAP=NO                ;;
        --without-http_referer_module)   HTTP_REFERER=NO            ;;
        --without-http_rewrite_module)   HTTP_REWRITE=NO            ;;
        --without-http_proxy_module)     HTTP_PROXY=NO              ;;
        --without-http_fastcgi_module)   HTTP_FASTCGI=NO            ;;
        --without-http_memcached_module) HTTP_MEMCACHED=NO          ;;
        --without-http_limit_zone_module) HTTP_LIMIT_ZONE=NO        ;;
        --without-http_empty_gif_module) HTTP_EMPTY_GIF=NO          ;;
        --without-http_browser_module)   HTTP_BROWSER=NO            ;;
        --without-http_upstream_ip_hash_module) HTTP_UPSTREAM_IP_HASH=NO ;;

        --with-http_perl_module)         HTTP_PERL=YES              ;;
        --with-perl_modules_path=*)      NGX_PERL_MODULES="$value"  ;;
        --with-perl=*)                   NGX_PERL="$value"          ;;

        # STUB
        --with-http_stub_status_module)  HTTP_STUB_STATUS=YES       ;;

        --with-mail)                     MAIL=YES                   ;;
        --with-mail_ssl_module)          MAIL_SSL=YES               ;;
        # STUB
        --with-imap)                     MAIL=YES                   ;;
        --with-imap_ssl_module)          MAIL_SSL=YES               ;;
        --without-mail_pop3_module)      MAIL_POP3=NO               ;;
        --without-mail_imap_module)      MAIL_IMAP=NO               ;;
        --without-mail_smtp_module)      MAIL_SMTP=NO               ;;

        --with-google_perftools_module)  NGX_GOOGLE_PERFTOOLS=YES   ;;

        --add-module=*)                  NGX_ADDONS="$NGX_ADDONS $value" ;;

        --with-cc=*)                     CC="$value"                ;;
        --with-cpp=*)                    CPP="$value"               ;;
        --with-cc-opt=*)                 NGX_CC_OPT="$value"        ;;
        --with-ld-opt=*)                 NGX_LD_OPT="$value"        ;;
        --with-cpu-opt=*)                CPU="$value"               ;;
        --with-debug)                    NGX_DEBUG=YES              ;;

        --without-pcre)                  USE_PCRE=DISABLED          ;;
        --with-pcre=*)                   PCRE="$value"              ;;
        --with-pcre-opt=*)               PCRE_OPT="$value"          ;;

        --with-openssl=*)                OPENSSL="$value"           ;;
        --with-openssl-opt=*)            OPENSSL_OPT="$value"       ;;

        --with-md5=*)                    MD5="$value"               ;;
        --with-md5-opt=*)                MD5_OPT="$value"           ;;
        --with-md5-asm)                  MD5_ASM=YES                ;;

        --with-sha1=*)                   SHA1="$value"              ;;
        --with-sha1-opt=*)               SHA1_OPT="$value"          ;;
        --with-sha1-asm)                 SHA1_ASM=YES               ;;

        --with-zlib=*)                   ZLIB="$value"              ;;
        --with-zlib-opt=*)               ZLIB_OPT="$value"          ;;
        --with-zlib-asm=*)               ZLIB_ASM="$value"          ;;

        --test-build-devpoll)            NGX_TEST_BUILD_DEVPOLL=YES ;;
        --test-build-eventport)          NGX_TEST_BUILD_EVENTPORT=YES ;;
        --test-build-epoll)              NGX_TEST_BUILD_EPOLL=YES   ;;
        --test-build-rtsig)              NGX_TEST_BUILD_RTSIG=YES   ;;
        --test-build-solaris-sendfilev)  NGX_TEST_BUILD_SOLARIS_SENDFILEV=YES ;;

        *)
            echo "$0: error: invalid option \"$option\""
            exit 1
        ;;
    esac
done


if [ $help = yes ]; then

cat << END

  --help                             this message

  --prefix=PATH                      set the installation prefix
  --sbin-path=PATH                   set path to the nginx binary file
  --conf-path=PATH                   set path to the nginx.conf file
  --error-log-path=PATH              set path to the error log
  --pid-path=PATH                    set path to nginx.pid file
  --lock-path=PATH                   set path to nginx.lock file

  --user=USER                        set non-privilege user
                                     for the worker processes
  --group=GROUP                      set non-privilege group
                                     for the worker processes

  --builddir=DIR                     set the build directory

  --with-rtsig_module                enable rtsig module
  --with-select_module               enable select module
  --without-select_module            disable select module
  --with-poll_module                 enable poll module
  --without-poll_module              disable poll module

  --with-http_ssl_module             enable ngx_http_ssl_module
  --with-http_realip_module          enable ngx_http_realip_module
  --with-http_addition_module        enable ngx_http_addition_module
  --with-http_sub_module             enable ngx_http_sub_module
  --with-http_dav_module             enable ngx_http_dav_module
  --with-http_flv_module             enable ngx_http_flv_module
  --with-http_gzip_static_module     enable ngx_http_gzip_static_module
  --with-http_stub_status_module     enable ngx_http_stub_status_module

  --without-http_charset_module      disable ngx_http_charset_module
  --without-http_gzip_module         disable ngx_http_gzip_module
  --without-http_ssi_module          disable ngx_http_ssi_module
  --without-http_userid_module       disable ngx_http_userid_module
  --without-http_access_module       disable ngx_http_access_module
  --without-http_auth_basic_module   disable ngx_http_auth_basic_module
  --without-http_autoindex_module    disable ngx_http_autoindex_module
  --without-http_geo_module          disable ngx_http_geo_module
  --without-http_map_module          disable ngx_http_map_module
  --without-http_referer_module      disable ngx_http_referer_module
  --without-http_rewrite_module      disable ngx_http_rewrite_module
  --without-http_proxy_module        disable ngx_http_proxy_module
  --without-http_fastcgi_module      disable ngx_http_fastcgi_module
  --without-http_memcached_module    disable ngx_http_memcached_module
  --without-http_limit_zone_module   disable ngx_http_limit_zone_module
  --without-http_empty_gif_module    disable ngx_http_empty_gif_module
  --without-http_browser_module      disable ngx_http_browser_module
  --without-http_upstream_ip_hash_module
                                     disable ngx_http_upstream_ip_hash_module

  --with-http_perl_module            enable ngx_http_perl_module
  --with-perl_modules_path=PATH      set path to the perl modules
  --with-perl=PATH                   set path to the perl binary

  --http-log-path=PATH               set path to the http access log
  --http-client-body-temp-path=PATH  set path to the http client request body
                                     temporary files
  --http-proxy-temp-path=PATH        set path to the http proxy temporary files
  --http-fastcgi-temp-path=PATH      set path to the http fastcgi temporary
                                     files

  --without-http                     disable HTTP server

  --with-mail                        enable POP3/IMAP4/SMTP proxy module
  --with-mail_ssl_module             enable ngx_mail_ssl_module
  --without-mail_pop3_module         disable ngx_mail_pop3_module
  --without-mail_imap_module         disable ngx_mail_imap_module
  --without-mail_smtp_module         disable ngx_mail_smtp_module

  --with-google_perftools_module     enable ngx_google_perftools_module

  --add-module=PATH                  enable an external module

  --with-cc=PATH                     set path to C compiler
  --with-cpp=PATH                    set path to C preprocessor
  --with-cc-opt=OPTIONS              set additional options for C compiler
  --with-ld-opt=OPTIONS              set additional options for linker
  --with-cpu-opt=CPU                 build for specified CPU, the valid values:
                                     pentium, pentiumpro, pentium3, pentium4,
                                     athlon, opteron, sparc32, sparc64, ppc64

  --without-pcre                     disable PCRE libarary usage
  --with-pcre=DIR                    set path to PCRE library sources
  --with-pcre-opt=OPTIONS            set additional options for PCRE building

  --with-md5=DIR                     set path to md5 library sources
  --with-md5-opt=OPTIONS             set additional options for md5 building
  --with-md5-asm                     use md5 assembler sources

  --with-sha1=DIR                    set path to sha1 library sources
  --with-sha1-opt=OPTIONS            set additional options for sha1 building
  --with-sha1-asm                    use sha1 assembler sources

  --with-zlib=DIR                    set path to zlib library sources
  --with-zlib-opt=OPTIONS            set additional options for zlib building
  --with-zlib-asm=CPU                use zlib assembler sources optimized
                                     for specified CPU, the valid values:
                                     pentium, pentiumpro

  --with-openssl=DIR                 set path to OpenSSL library sources
  --with-openssl-opt=OPTIONS         set additional options for OpenSSL building

  --with-debug                       enable the debugging logging

END

    exit 1
fi


if [ $HTTP = NO ]; then
    HTTP_CHARSET=NO
    HTTP_GZIP=NO
    HTTP_SSI=NO
    HTTP_USERID=NO
    HTTP_ACCESS=NO
    HTTP_STATUS=NO
    HTTP_REWRITE=NO
    HTTP_PROXY=NO
    HTTP_FASTCGI=NO
fi


if [ ".$NGX_PLATFORM" = ".win32" ]; then
    NGX_WINE=$WINE
fi


NGX_PREFIX=${NGX_PREFIX:-/usr/local/nginx}


case ".$NGX_SBIN_PATH" in
    ./*)
    ;;

    .)
        NGX_SBIN_PATH=$NGX_PREFIX/sbin/nginx
    ;;

    *)
        NGX_SBIN_PATH=$NGX_PREFIX/$NGX_SBIN_PATH
    ;;
esac


case ".$NGX_CONF_PATH" in
    ./*)
    ;;

    .)
        NGX_CONF_PATH=$NGX_PREFIX/conf/nginx.conf
    ;;

    *)
        NGX_CONF_PATH=$NGX_PREFIX/$NGX_CONF_PATH
    ;;
esac


NGX_CONF_PREFIX=`dirname $NGX_CONF_PATH`


case ".$NGX_PID_PATH" in
    ./*)
    ;;

    .)
        NGX_PID_PATH=$NGX_PREFIX/logs/nginx.pid
    ;;

    *)
        NGX_PID_PATH=$NGX_PREFIX/$NGX_PID_PATH
    ;;
esac


case ".$NGX_LOCK_PATH" in
    ./*)
    ;;

    .)
        NGX_LOCK_PATH=$NGX_PREFIX/logs/nginx.lock
    ;;

    *)
        NGX_LOCK_PATH=$NGX_PREFIX/$NGX_LOCK_PATH
    ;;
esac


case ".$NGX_ERROR_LOG_PATH" in
    ./*)
    ;;

    .)
        NGX_ERROR_LOG_PATH=$NGX_PREFIX/logs/error.log
    ;;

    .stderr)
        NGX_ERROR_LOG_PATH=
    ;;

    *)
        NGX_ERROR_LOG_PATH=$NGX_PREFIX/$NGX_ERROR_LOG_PATH
    ;;
esac


case ".$NGX_HTTP_LOG_PATH" in
    ./*)
    ;;

    .)
        NGX_HTTP_LOG_PATH=$NGX_PREFIX/logs/access.log
    ;;

    *)
        NGX_HTTP_LOG_PATH=$NGX_PREFIX/$NGX_HTTP_LOG_PATH
    ;;
esac


case ".$NGX_HTTP_CLIENT_TEMP_PATH" in
    ./*)
    ;;

    .)
        NGX_HTTP_CLIENT_TEMP_PATH=$NGX_PREFIX/client_body_temp
    ;;

    *)
        NGX_HTTP_CLIENT_TEMP_PATH=$NGX_PREFIX/$NGX_HTTP_CLIENT_TEMP_PATH
    ;;
esac


case ".$NGX_HTTP_PROXY_TEMP_PATH" in
    ./*)
    ;;

    .)
        NGX_HTTP_PROXY_TEMP_PATH=$NGX_PREFIX/proxy_temp
    ;;

    *)
        NGX_HTTP_PROXY_TEMP_PATH=$NGX_PREFIX/$NGX_HTTP_PROXY_TEMP_PATH
    ;;
esac


case ".$NGX_HTTP_FASTCGI_TEMP_PATH" in
    ./*)
    ;;

    .)
        NGX_HTTP_FASTCGI_TEMP_PATH=$NGX_PREFIX/fastcgi_temp
    ;;

    *)
        NGX_HTTP_FASTCGI_TEMP_PATH=$NGX_PREFIX/$NGX_HTTP_FASTCGI_TEMP_PATH
    ;;
esac


case ".$NGX_PERL_MODULES" in
    ./*)
    ;;

    .)
    ;;

    *)
        NGX_PERL_MODULES=$NGX_PREFIX/$NGX_PERL_MODULES
    ;;
esac