|  |  | 
|  | # Copyright (C) Igor Sysoev | 
|  |  | 
|  |  | 
|  | help=no | 
|  |  | 
|  | NGX_PREFIX= | 
|  | NGX_SBIN_PATH= | 
|  | 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_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_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_UPSTREAM_IP_HASH=YES | 
|  |  | 
|  | # STUB | 
|  | HTTP_STUB_STATUS=NO | 
|  |  | 
|  | IMAP=NO | 
|  | IMAP_SSL=NO | 
|  |  | 
|  | 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_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_dav_module)          HTTP_DAV=YES               ;; | 
|  | --with-http_flv_module)          HTTP_FLV=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-imap)                     IMAP=YES                   ;; | 
|  | --with-imap_ssl_module)          IMAP_SSL=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_dav_module             enable ngx_http_dav_module | 
|  | --with-http_flv_module             enable ngx_http_flv_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-imap                        enable IMAP4/POP3 proxy module | 
|  | --with-imap_ssl_module             enable ngx_imap_ssl_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 | 
|  |  | 
|  |  | 
|  | 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 |