123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517 |
- # 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_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_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_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 ;;
- --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 ;;
- --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_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
- --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
- 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
|