blob: fabd5d0d15668f321b84e5b00c7c395f19b761ab [file] [log] [blame]
Igor Sysoeva8fa0a62003-11-25 20:44:56 +00001
Igor Sysoevff8da912004-09-29 16:00:49 +00002# Copyright (C) Igor Sysoev
3
Igor Sysoevc0edbcc2004-10-21 15:34:38 +00004
Igor Sysoevdc867cd2003-12-14 20:10:27 +00005help=no
Igor Sysoeva8fa0a62003-11-25 20:44:56 +00006
Igor Sysoevf6906042004-11-25 16:17:31 +00007NGX_PREFIX=
8NGX_SBIN_PATH=
Igor Sysoeva1df4162007-07-29 18:05:45 +00009NGX_CONF_PREFIX=
Igor Sysoevf6906042004-11-25 16:17:31 +000010NGX_CONF_PATH=
11NGX_ERROR_LOG_PATH=
12NGX_PID_PATH=
Igor Sysoevffe71442006-02-08 15:33:12 +000013NGX_LOCK_PATH=
Igor Sysoevc0edbcc2004-10-21 15:34:38 +000014NGX_USER=
15NGX_GROUP=
Igor Sysoev090849d2004-05-18 20:28:54 +000016
Igor Sysoevc0edbcc2004-10-21 15:34:38 +000017CC=${CC:-gcc}
Igor Sysoeva893eab2004-03-11 21:34:52 +000018CPP=
Igor Sysoevc0edbcc2004-10-21 15:34:38 +000019NGX_OBJS=objs
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000020
Igor Sysoevf6906042004-11-25 16:17:31 +000021NGX_DEBUG=NO
Igor Sysoevc0edbcc2004-10-21 15:34:38 +000022NGX_CC_OPT=
23NGX_LD_OPT=
Igor Sysoev7b908342004-03-10 20:56:39 +000024CPU=NO
Igor Sysoev24b56c92004-03-10 17:55:19 +000025
Igor Sysoev274b63e2007-09-19 12:14:05 +000026NGX_RPATH=NO
27
Igor Sysoevf6906042004-11-25 16:17:31 +000028NGX_TEST_BUILD_DEVPOLL=NO
Igor Sysoev4524fb02006-09-26 12:20:12 +000029NGX_TEST_BUILD_EVENTPORT=NO
Igor Sysoevf6906042004-11-25 16:17:31 +000030NGX_TEST_BUILD_EPOLL=NO
31NGX_TEST_BUILD_RTSIG=NO
Igor Sysoev42b12b32004-12-02 18:40:46 +000032NGX_TEST_BUILD_SOLARIS_SENDFILEV=NO
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000033
Igor Sysoevf6906042004-11-25 16:17:31 +000034NGX_PLATFORM=
Igor Sysoev1b735832004-11-11 14:07:14 +000035NGX_WINE=
36
Igor Sysoeva4b16df2004-02-02 21:19:52 +000037EVENT_FOUND=NO
38
Igor Sysoev9139cd22004-02-17 17:53:12 +000039EVENT_RTSIG=NO
Igor Sysoeva4b16df2004-02-02 21:19:52 +000040EVENT_SELECT=NO
41EVENT_POLL=NO
42EVENT_AIO=NO
Igor Sysoev5c8c52f2004-01-23 09:26:18 +000043
Igor Sysoevb54698b2004-02-23 20:57:12 +000044USE_THREADS=NO
45
Igor Sysoeva35eacc2009-02-21 07:02:02 +000046NGX_IPV6=NO
47
Igor Sysoev980a9242004-09-05 19:54:02 +000048HTTP=YES
Igor Sysoev02025fd2005-01-18 13:03:58 +000049
50NGX_HTTP_LOG_PATH=
51NGX_HTTP_CLIENT_TEMP_PATH=
52NGX_HTTP_PROXY_TEMP_PATH=
53NGX_HTTP_FASTCGI_TEMP_PATH=
54
Igor Sysoev3d5c0fc2004-06-22 16:43:09 +000055HTTP_CHARSET=YES
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000056HTTP_GZIP=YES
Igor Sysoev75569452004-07-08 15:17:47 +000057HTTP_SSL=NO
Igor Sysoev11d75322005-03-01 15:20:36 +000058HTTP_SSI=YES
Igor Sysoev899b44e2005-05-12 14:58:06 +000059HTTP_POSTPONE=NO
Igor Sysoev09c684b2005-11-09 17:25:55 +000060HTTP_REALIP=NO
Igor Sysoev1ae389d2008-08-04 14:48:15 +000061HTTP_XSLT=NO
Igor Sysoevd9bb8e32007-04-19 17:54:23 +000062HTTP_SUB=NO
Igor Sysoev6d16e1e2006-04-05 13:40:54 +000063HTTP_ADDITION=NO
Igor Sysoev8a2b2fb2006-04-14 09:53:38 +000064HTTP_DAV=NO
Igor Sysoev59f3aa32004-06-24 16:07:04 +000065HTTP_ACCESS=YES
Igor Sysoev4d656dc2005-03-22 16:02:46 +000066HTTP_AUTH_BASIC=YES
Igor Sysoev967fd632004-08-27 15:40:59 +000067HTTP_USERID=YES
Igor Sysoev723e6cc2004-10-25 15:29:23 +000068HTTP_AUTOINDEX=YES
Igor Sysoev2e2b81d2008-09-05 15:45:55 +000069HTTP_RANDOM_INDEX=NO
Igor Sysoev6d2a14a2004-09-27 16:03:21 +000070HTTP_STATUS=NO
Igor Sysoev805d9db2005-02-03 19:33:37 +000071HTTP_GEO=YES
Igor Sysoev24025022005-12-16 15:07:08 +000072HTTP_MAP=YES
Igor Sysoev0e5dc5c2005-11-15 13:30:52 +000073HTTP_REFERER=YES
Igor Sysoevc83f6832004-06-24 07:53:37 +000074HTTP_REWRITE=YES
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000075HTTP_PROXY=YES
Igor Sysoev02025fd2005-01-18 13:03:58 +000076HTTP_FASTCGI=YES
Igor Sysoev9bf11aa2006-01-16 14:56:53 +000077HTTP_PERL=NO
Igor Sysoevc31a9bb2005-11-26 10:11:11 +000078HTTP_MEMCACHED=YES
Igor Sysoev138e3842007-01-06 18:52:46 +000079HTTP_LIMIT_ZONE=YES
Igor Sysoevabe378e2008-11-10 15:22:33 +000080HTTP_LIMIT_REQ=YES
Igor Sysoev0e5dc5c2005-11-15 13:30:52 +000081HTTP_EMPTY_GIF=YES
Igor Sysoev3383ff62006-09-18 12:25:07 +000082HTTP_BROWSER=YES
Igor Sysoeve52991e2008-09-27 13:22:10 +000083HTTP_SECURE_LINK=NO
Igor Sysoevb5050062006-10-09 14:17:36 +000084HTTP_FLV=NO
Igor Sysoevc16b0052007-12-27 14:21:59 +000085HTTP_GZIP_STATIC=NO
Igor Sysoev3d2fd182006-12-04 16:46:13 +000086HTTP_UPSTREAM_IP_HASH=YES
Igor Sysoeva8fa0a62003-11-25 20:44:56 +000087
Igor Sysoevaa828612005-02-09 14:31:07 +000088# STUB
89HTTP_STUB_STATUS=NO
90
Igor Sysoev02c8d182007-03-19 13:36:56 +000091MAIL=NO
92MAIL_SSL=NO
Igor Sysoev48714082007-09-15 16:51:16 +000093MAIL_POP3=YES
94MAIL_IMAP=YES
95MAIL_SMTP=YES
Igor Sysoev59cf56c2004-09-07 15:29:22 +000096
Igor Sysoev1ebfead2005-02-16 13:40:36 +000097NGX_ADDONS=
Igor Sysoevd43bee82004-11-20 19:52:20 +000098
Igor Sysoeve9b2cb12004-02-09 20:47:18 +000099USE_PCRE=NO
Igor Sysoev43c3cd92004-02-19 08:45:27 +0000100PCRE=NONE
Igor Sysoeva893eab2004-03-11 21:34:52 +0000101PCRE_OPT=
Igor Sysoeva8fa0a62003-11-25 20:44:56 +0000102
Igor Sysoev0599b112004-07-25 18:34:14 +0000103USE_OPENSSL=NO
104OPENSSL=NONE
105
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000106USE_MD5=NO
Igor Sysoev7af6b162004-02-09 07:46:43 +0000107MD5=NONE
Igor Sysoeva893eab2004-03-11 21:34:52 +0000108MD5_OPT=
Igor Sysoev7b908342004-03-10 20:56:39 +0000109MD5_ASM=NO
Igor Sysoeva8fa0a62003-11-25 20:44:56 +0000110
Igor Sysoevafd7ec52006-05-29 17:28:12 +0000111USE_SHA1=NO
112SHA1=NONE
113SHA1_OPT=
114SHA1_ASM=NO
115
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000116USE_ZLIB=NO
Igor Sysoev7af6b162004-02-09 07:46:43 +0000117ZLIB=NONE
Igor Sysoeva893eab2004-03-11 21:34:52 +0000118ZLIB_OPT=
Igor Sysoev7b908342004-03-10 20:56:39 +0000119ZLIB_ASM=NO
Igor Sysoeva8fa0a62003-11-25 20:44:56 +0000120
Igor Sysoev9bf11aa2006-01-16 14:56:53 +0000121USE_PERL=NO
122NGX_PERL=perl
123
Igor Sysoev1ae389d2008-08-04 14:48:15 +0000124USE_LIBXSLT=NO
125
Igor Sysoev85dd8fc2008-03-18 10:36:27 +0000126NGX_GOOGLE_PERFTOOLS=NO
Igor Sysoeve24b57a2008-08-05 19:32:50 +0000127NGX_CPP_TEST=NO
Igor Sysoev85dd8fc2008-03-18 10:36:27 +0000128
Igor Sysoev24025022005-12-16 15:07:08 +0000129NGX_CPU_CACHE_LINE=
130
Igor Sysoeva8fa0a62003-11-25 20:44:56 +0000131
132for option
133do
134 case "$option" in
135 -*=*) value=`echo "$option" | sed -e 's/[-_a-zA-Z0-9]*=//'` ;;
136 *) value="" ;;
137 esac
138
139 case "$option" in
Igor Sysoevdc867cd2003-12-14 20:10:27 +0000140 --help) help=yes ;;
Igor Sysoeva8fa0a62003-11-25 20:44:56 +0000141
Igor Sysoevf6906042004-11-25 16:17:31 +0000142 --prefix=*) NGX_PREFIX="$value" ;;
143 --sbin-path=*) NGX_SBIN_PATH="$value" ;;
144 --conf-path=*) NGX_CONF_PATH="$value" ;;
145 --error-log-path=*) NGX_ERROR_LOG_PATH="$value";;
146 --pid-path=*) NGX_PID_PATH="$value" ;;
Igor Sysoevffe71442006-02-08 15:33:12 +0000147 --lock-path=*) NGX_LOCK_PATH="$value" ;;
Igor Sysoevc0edbcc2004-10-21 15:34:38 +0000148 --user=*) NGX_USER="$value" ;;
149 --group=*) NGX_GROUP="$value" ;;
Igor Sysoev090849d2004-05-18 20:28:54 +0000150
Igor Sysoevf6906042004-11-25 16:17:31 +0000151 --crossbuild=*) NGX_PLATFORM="$value" ;;
Igor Sysoeva8fa0a62003-11-25 20:44:56 +0000152
Igor Sysoevc0edbcc2004-10-21 15:34:38 +0000153 --builddir=*) NGX_OBJS="$value" ;;
Igor Sysoeva8fa0a62003-11-25 20:44:56 +0000154
Igor Sysoev9139cd22004-02-17 17:53:12 +0000155 --with-rtsig_module) EVENT_RTSIG=YES ;;
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000156 --with-select_module) EVENT_SELECT=YES ;;
Igor Sysoeve9b2cb12004-02-09 20:47:18 +0000157 --without-select_module) EVENT_SELECT=NONE ;;
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000158 --with-poll_module) EVENT_POLL=YES ;;
Igor Sysoeve9b2cb12004-02-09 20:47:18 +0000159 --without-poll_module) EVENT_POLL=NONE ;;
Igor Sysoeva4b16df2004-02-02 21:19:52 +0000160 --with-aio_module) EVENT_AIO=YES ;;
Igor Sysoev5c8c52f2004-01-23 09:26:18 +0000161
Igor Sysoev84433602008-04-29 09:27:55 +0000162 #--with-threads=*) USE_THREADS="$value" ;;
163 #--with-threads) USE_THREADS="pthreads" ;;
Igor Sysoevb54698b2004-02-23 20:57:12 +0000164
Igor Sysoeva35eacc2009-02-21 07:02:02 +0000165 --with-ipv6) NGX_IPV6=YES ;;
166
Igor Sysoev980a9242004-09-05 19:54:02 +0000167 --without-http) HTTP=NO ;;
Igor Sysoevf6906042004-11-25 16:17:31 +0000168 --http-log-path=*) NGX_HTTP_LOG_PATH="$value" ;;
Igor Sysoev02025fd2005-01-18 13:03:58 +0000169 --http-client-body-temp-path=*) NGX_HTTP_CLIENT_TEMP_PATH="$value" ;;
170 --http-proxy-temp-path=*) NGX_HTTP_PROXY_TEMP_PATH="$value" ;;
171 --http-fastcgi-temp-path=*) NGX_HTTP_FASTCGI_TEMP_PATH="$value" ;;
Igor Sysoev980a9242004-09-05 19:54:02 +0000172
Igor Sysoev75569452004-07-08 15:17:47 +0000173 --with-http_ssl_module) HTTP_SSL=YES ;;
Igor Sysoev09c684b2005-11-09 17:25:55 +0000174 --with-http_realip_module) HTTP_REALIP=YES ;;
Igor Sysoev6d16e1e2006-04-05 13:40:54 +0000175 --with-http_addition_module) HTTP_ADDITION=YES ;;
Igor Sysoev1ae389d2008-08-04 14:48:15 +0000176 --with-http_xslt_module) HTTP_XSLT=YES ;;
Igor Sysoevd9bb8e32007-04-19 17:54:23 +0000177 --with-http_sub_module) HTTP_SUB=YES ;;
Igor Sysoev8a2b2fb2006-04-14 09:53:38 +0000178 --with-http_dav_module) HTTP_DAV=YES ;;
Igor Sysoevb5050062006-10-09 14:17:36 +0000179 --with-http_flv_module) HTTP_FLV=YES ;;
Igor Sysoevc16b0052007-12-27 14:21:59 +0000180 --with-http_gzip_static_module) HTTP_GZIP_STATIC=YES ;;
Igor Sysoev2e2b81d2008-09-05 15:45:55 +0000181 --with-http_random_index_module) HTTP_RANDOM_INDEX=YES ;;
Igor Sysoeve52991e2008-09-27 13:22:10 +0000182 --with-http_secure_link_module) HTTP_SECURE_LINK=YES ;;
Igor Sysoev8a2b2fb2006-04-14 09:53:38 +0000183
Igor Sysoev3d5c0fc2004-06-22 16:43:09 +0000184 --without-http_charset_module) HTTP_CHARSET=NO ;;
Igor Sysoeva8fa0a62003-11-25 20:44:56 +0000185 --without-http_gzip_module) HTTP_GZIP=NO ;;
Igor Sysoev75569452004-07-08 15:17:47 +0000186 --without-http_ssi_module) HTTP_SSI=NO ;;
Igor Sysoev967fd632004-08-27 15:40:59 +0000187 --without-http_userid_module) HTTP_USERID=NO ;;
Igor Sysoeva7c4a2a2004-08-29 03:55:41 +0000188 --without-http_access_module) HTTP_ACCESS=NO ;;
Igor Sysoev4d656dc2005-03-22 16:02:46 +0000189 --without-http_auth_basic_module) HTTP_AUTH_BASIC=NO ;;
Igor Sysoev723e6cc2004-10-25 15:29:23 +0000190 --without-http_autoindex_module) HTTP_AUTOINDEX=NO ;;
Igor Sysoevc83f6832004-06-24 07:53:37 +0000191 --without-http_status_module) HTTP_STATUS=NO ;;
Igor Sysoev805d9db2005-02-03 19:33:37 +0000192 --without-http_geo_module) HTTP_GEO=NO ;;
Igor Sysoev24025022005-12-16 15:07:08 +0000193 --without-http_map_module) HTTP_MAP=NO ;;
Igor Sysoevc31a9bb2005-11-26 10:11:11 +0000194 --without-http_referer_module) HTTP_REFERER=NO ;;
Igor Sysoevc83f6832004-06-24 07:53:37 +0000195 --without-http_rewrite_module) HTTP_REWRITE=NO ;;
Igor Sysoeva8fa0a62003-11-25 20:44:56 +0000196 --without-http_proxy_module) HTTP_PROXY=NO ;;
Igor Sysoev02025fd2005-01-18 13:03:58 +0000197 --without-http_fastcgi_module) HTTP_FASTCGI=NO ;;
Igor Sysoevc31a9bb2005-11-26 10:11:11 +0000198 --without-http_memcached_module) HTTP_MEMCACHED=NO ;;
Igor Sysoev138e3842007-01-06 18:52:46 +0000199 --without-http_limit_zone_module) HTTP_LIMIT_ZONE=NO ;;
Igor Sysoevabe378e2008-11-10 15:22:33 +0000200 --without-http_limit_req_module) HTTP_LIMIT_REQ=NO ;;
Igor Sysoevc31a9bb2005-11-26 10:11:11 +0000201 --without-http_empty_gif_module) HTTP_EMPTY_GIF=NO ;;
Igor Sysoev3383ff62006-09-18 12:25:07 +0000202 --without-http_browser_module) HTTP_BROWSER=NO ;;
Igor Sysoev3d2fd182006-12-04 16:46:13 +0000203 --without-http_upstream_ip_hash_module) HTTP_UPSTREAM_IP_HASH=NO ;;
Igor Sysoeva8fa0a62003-11-25 20:44:56 +0000204
Igor Sysoev9bf11aa2006-01-16 14:56:53 +0000205 --with-http_perl_module) HTTP_PERL=YES ;;
206 --with-perl_modules_path=*) NGX_PERL_MODULES="$value" ;;
207 --with-perl=*) NGX_PERL="$value" ;;
208
Igor Sysoevaa828612005-02-09 14:31:07 +0000209 # STUB
210 --with-http_stub_status_module) HTTP_STUB_STATUS=YES ;;
211
Igor Sysoev02c8d182007-03-19 13:36:56 +0000212 --with-mail) MAIL=YES ;;
213 --with-mail_ssl_module) MAIL_SSL=YES ;;
214 # STUB
215 --with-imap) MAIL=YES ;;
216 --with-imap_ssl_module) MAIL_SSL=YES ;;
Igor Sysoev48714082007-09-15 16:51:16 +0000217 --without-mail_pop3_module) MAIL_POP3=NO ;;
218 --without-mail_imap_module) MAIL_IMAP=NO ;;
219 --without-mail_smtp_module) MAIL_SMTP=NO ;;
Igor Sysoev59cf56c2004-09-07 15:29:22 +0000220
Igor Sysoev85dd8fc2008-03-18 10:36:27 +0000221 --with-google_perftools_module) NGX_GOOGLE_PERFTOOLS=YES ;;
Igor Sysoev49f06852008-08-13 08:29:27 +0000222 --with-cpp_test_module) NGX_CPP_TEST=YES ;;
Igor Sysoev85dd8fc2008-03-18 10:36:27 +0000223
Igor Sysoev1ebfead2005-02-16 13:40:36 +0000224 --add-module=*) NGX_ADDONS="$NGX_ADDONS $value" ;;
Igor Sysoevd43bee82004-11-20 19:52:20 +0000225
Igor Sysoeva8fa0a62003-11-25 20:44:56 +0000226 --with-cc=*) CC="$value" ;;
Igor Sysoeva893eab2004-03-11 21:34:52 +0000227 --with-cpp=*) CPP="$value" ;;
Igor Sysoevc0edbcc2004-10-21 15:34:38 +0000228 --with-cc-opt=*) NGX_CC_OPT="$value" ;;
229 --with-ld-opt=*) NGX_LD_OPT="$value" ;;
Igor Sysoev7b908342004-03-10 20:56:39 +0000230 --with-cpu-opt=*) CPU="$value" ;;
Igor Sysoevf6906042004-11-25 16:17:31 +0000231 --with-debug) NGX_DEBUG=YES ;;
Igor Sysoeva8fa0a62003-11-25 20:44:56 +0000232
Igor Sysoevbb1ba3f2004-02-19 16:48:14 +0000233 --without-pcre) USE_PCRE=DISABLED ;;
Igor Sysoeva8fa0a62003-11-25 20:44:56 +0000234 --with-pcre=*) PCRE="$value" ;;
Igor Sysoev7b908342004-03-10 20:56:39 +0000235 --with-pcre-opt=*) PCRE_OPT="$value" ;;
236
Igor Sysoev0599b112004-07-25 18:34:14 +0000237 --with-openssl=*) OPENSSL="$value" ;;
Igor Sysoevc1571722005-03-19 12:38:37 +0000238 --with-openssl-opt=*) OPENSSL_OPT="$value" ;;
Igor Sysoev0599b112004-07-25 18:34:14 +0000239
Igor Sysoeva8fa0a62003-11-25 20:44:56 +0000240 --with-md5=*) MD5="$value" ;;
Igor Sysoev7b908342004-03-10 20:56:39 +0000241 --with-md5-opt=*) MD5_OPT="$value" ;;
242 --with-md5-asm) MD5_ASM=YES ;;
243
Igor Sysoevafd7ec52006-05-29 17:28:12 +0000244 --with-sha1=*) SHA1="$value" ;;
245 --with-sha1-opt=*) SHA1_OPT="$value" ;;
246 --with-sha1-asm) SHA1_ASM=YES ;;
247
Igor Sysoeva8fa0a62003-11-25 20:44:56 +0000248 --with-zlib=*) ZLIB="$value" ;;
Igor Sysoev24b56c92004-03-10 17:55:19 +0000249 --with-zlib-opt=*) ZLIB_OPT="$value" ;;
Igor Sysoev7b908342004-03-10 20:56:39 +0000250 --with-zlib-asm=*) ZLIB_ASM="$value" ;;
Igor Sysoeva8fa0a62003-11-25 20:44:56 +0000251
Igor Sysoevf6906042004-11-25 16:17:31 +0000252 --test-build-devpoll) NGX_TEST_BUILD_DEVPOLL=YES ;;
Igor Sysoev4524fb02006-09-26 12:20:12 +0000253 --test-build-eventport) NGX_TEST_BUILD_EVENTPORT=YES ;;
Igor Sysoevf6906042004-11-25 16:17:31 +0000254 --test-build-epoll) NGX_TEST_BUILD_EPOLL=YES ;;
255 --test-build-rtsig) NGX_TEST_BUILD_RTSIG=YES ;;
Igor Sysoev42b12b32004-12-02 18:40:46 +0000256 --test-build-solaris-sendfilev) NGX_TEST_BUILD_SOLARIS_SENDFILEV=YES ;;
Igor Sysoeva8fa0a62003-11-25 20:44:56 +0000257
258 *)
259 echo "$0: error: invalid option \"$option\""
260 exit 1
261 ;;
262 esac
263done
264
265
Igor Sysoevdc867cd2003-12-14 20:10:27 +0000266if [ $help = yes ]; then
Igor Sysoeva8fa0a62003-11-25 20:44:56 +0000267
Igor Sysoevc0edbcc2004-10-21 15:34:38 +0000268cat << END
Igor Sysoev5c8c52f2004-01-23 09:26:18 +0000269
Igor Sysoev02025fd2005-01-18 13:03:58 +0000270 --help this message
Igor Sysoev5c8c52f2004-01-23 09:26:18 +0000271
Igor Sysoev02025fd2005-01-18 13:03:58 +0000272 --prefix=PATH set the installation prefix
273 --sbin-path=PATH set path to the nginx binary file
274 --conf-path=PATH set path to the nginx.conf file
275 --error-log-path=PATH set path to the error log
276 --pid-path=PATH set path to nginx.pid file
Igor Sysoevffe71442006-02-08 15:33:12 +0000277 --lock-path=PATH set path to nginx.lock file
Igor Sysoev5c8c52f2004-01-23 09:26:18 +0000278
Igor Sysoev02025fd2005-01-18 13:03:58 +0000279 --user=USER set non-privilege user
280 for the worker processes
281 --group=GROUP set non-privilege group
282 for the worker processes
Igor Sysoevc0edbcc2004-10-21 15:34:38 +0000283
Igor Sysoev02025fd2005-01-18 13:03:58 +0000284 --builddir=DIR set the build directory
Igor Sysoevc0edbcc2004-10-21 15:34:38 +0000285
Igor Sysoev02025fd2005-01-18 13:03:58 +0000286 --with-rtsig_module enable rtsig module
287 --with-select_module enable select module
288 --without-select_module disable select module
289 --with-poll_module enable poll module
290 --without-poll_module disable poll module
Igor Sysoevc0edbcc2004-10-21 15:34:38 +0000291
Igor Sysoeva35eacc2009-02-21 07:02:02 +0000292 --with-ipv6 enable ipv6 support
293
Igor Sysoev02025fd2005-01-18 13:03:58 +0000294 --with-http_ssl_module enable ngx_http_ssl_module
Igor Sysoevc31a9bb2005-11-26 10:11:11 +0000295 --with-http_realip_module enable ngx_http_realip_module
Igor Sysoevcdf609a2006-04-17 19:55:41 +0000296 --with-http_addition_module enable ngx_http_addition_module
Igor Sysoev1ae389d2008-08-04 14:48:15 +0000297 --with-http_xslt_module enable ngx_http_xslt_module
Igor Sysoevd9bb8e32007-04-19 17:54:23 +0000298 --with-http_sub_module enable ngx_http_sub_module
Igor Sysoevcdf609a2006-04-17 19:55:41 +0000299 --with-http_dav_module enable ngx_http_dav_module
Igor Sysoevb5050062006-10-09 14:17:36 +0000300 --with-http_flv_module enable ngx_http_flv_module
Igor Sysoevc16b0052007-12-27 14:21:59 +0000301 --with-http_gzip_static_module enable ngx_http_gzip_static_module
Igor Sysoev2e2b81d2008-09-05 15:45:55 +0000302 --with-http_random_index_module enable ngx_http_random_index_module
Igor Sysoeve52991e2008-09-27 13:22:10 +0000303 --with-http_secure_link_module enable ngx_http_secure_link_module
Igor Sysoev60e84402007-05-01 19:55:25 +0000304 --with-http_stub_status_module enable ngx_http_stub_status_module
Igor Sysoevcdf609a2006-04-17 19:55:41 +0000305
Igor Sysoev02025fd2005-01-18 13:03:58 +0000306 --without-http_charset_module disable ngx_http_charset_module
307 --without-http_gzip_module disable ngx_http_gzip_module
Igor Sysoevc1571722005-03-19 12:38:37 +0000308 --without-http_ssi_module disable ngx_http_ssi_module
Igor Sysoev02025fd2005-01-18 13:03:58 +0000309 --without-http_userid_module disable ngx_http_userid_module
310 --without-http_access_module disable ngx_http_access_module
Igor Sysoev4d656dc2005-03-22 16:02:46 +0000311 --without-http_auth_basic_module disable ngx_http_auth_basic_module
Igor Sysoev02025fd2005-01-18 13:03:58 +0000312 --without-http_autoindex_module disable ngx_http_autoindex_module
Igor Sysoev805d9db2005-02-03 19:33:37 +0000313 --without-http_geo_module disable ngx_http_geo_module
Igor Sysoev347f7fe2006-09-26 21:15:02 +0000314 --without-http_map_module disable ngx_http_map_module
Igor Sysoevc31a9bb2005-11-26 10:11:11 +0000315 --without-http_referer_module disable ngx_http_referer_module
Igor Sysoev02025fd2005-01-18 13:03:58 +0000316 --without-http_rewrite_module disable ngx_http_rewrite_module
317 --without-http_proxy_module disable ngx_http_proxy_module
318 --without-http_fastcgi_module disable ngx_http_fastcgi_module
Igor Sysoevc31a9bb2005-11-26 10:11:11 +0000319 --without-http_memcached_module disable ngx_http_memcached_module
Igor Sysoev138e3842007-01-06 18:52:46 +0000320 --without-http_limit_zone_module disable ngx_http_limit_zone_module
Igor Sysoevabe378e2008-11-10 15:22:33 +0000321 --without-http_limit_req_module disable ngx_http_limit_req_module
Igor Sysoevc31a9bb2005-11-26 10:11:11 +0000322 --without-http_empty_gif_module disable ngx_http_empty_gif_module
Igor Sysoev347f7fe2006-09-26 21:15:02 +0000323 --without-http_browser_module disable ngx_http_browser_module
Igor Sysoev3d2fd182006-12-04 16:46:13 +0000324 --without-http_upstream_ip_hash_module
325 disable ngx_http_upstream_ip_hash_module
Igor Sysoev02025fd2005-01-18 13:03:58 +0000326
Igor Sysoev9bf11aa2006-01-16 14:56:53 +0000327 --with-http_perl_module enable ngx_http_perl_module
328 --with-perl_modules_path=PATH set path to the perl modules
329 --with-perl=PATH set path to the perl binary
330
Igor Sysoev02025fd2005-01-18 13:03:58 +0000331 --http-log-path=PATH set path to the http access log
332 --http-client-body-temp-path=PATH set path to the http client request body
Igor Sysoevcdf609a2006-04-17 19:55:41 +0000333 temporary files
334 --http-proxy-temp-path=PATH set path to the http proxy temporary files
Igor Sysoev02025fd2005-01-18 13:03:58 +0000335 --http-fastcgi-temp-path=PATH set path to the http fastcgi temporary
Igor Sysoevcdf609a2006-04-17 19:55:41 +0000336 files
Igor Sysoev02025fd2005-01-18 13:03:58 +0000337
Igor Sysoev187b7d92005-07-14 12:51:53 +0000338 --without-http disable HTTP server
339
Igor Sysoev884d6342007-09-21 16:14:17 +0000340 --with-mail enable POP3/IMAP4/SMTP proxy module
Igor Sysoev02c8d182007-03-19 13:36:56 +0000341 --with-mail_ssl_module enable ngx_mail_ssl_module
Igor Sysoev884d6342007-09-21 16:14:17 +0000342 --without-mail_pop3_module disable ngx_mail_pop3_module
343 --without-mail_imap_module disable ngx_mail_imap_module
344 --without-mail_smtp_module disable ngx_mail_smtp_module
Igor Sysoev187b7d92005-07-14 12:51:53 +0000345
Igor Sysoev85dd8fc2008-03-18 10:36:27 +0000346 --with-google_perftools_module enable ngx_google_perftools_module
Igor Sysoeve24b57a2008-08-05 19:32:50 +0000347 --with-cpp_test_module enable ngx_cpp_test_module
Igor Sysoev85dd8fc2008-03-18 10:36:27 +0000348
Igor Sysoev60e84402007-05-01 19:55:25 +0000349 --add-module=PATH enable an external module
350
Igor Sysoev02025fd2005-01-18 13:03:58 +0000351 --with-cc=PATH set path to C compiler
352 --with-cpp=PATH set path to C preprocessor
353 --with-cc-opt=OPTIONS set additional options for C compiler
354 --with-ld-opt=OPTIONS set additional options for linker
355 --with-cpu-opt=CPU build for specified CPU, the valid values:
Igor Sysoevc2807ec2006-02-16 15:26:46 +0000356 pentium, pentiumpro, pentium3, pentium4,
357 athlon, opteron, sparc32, sparc64, ppc64
Igor Sysoev02025fd2005-01-18 13:03:58 +0000358
359 --without-pcre disable PCRE libarary usage
360 --with-pcre=DIR set path to PCRE library sources
361 --with-pcre-opt=OPTIONS set additional options for PCRE building
362
363 --with-md5=DIR set path to md5 library sources
364 --with-md5-opt=OPTIONS set additional options for md5 building
365 --with-md5-asm use md5 assembler sources
366
Igor Sysoevafd7ec52006-05-29 17:28:12 +0000367 --with-sha1=DIR set path to sha1 library sources
368 --with-sha1-opt=OPTIONS set additional options for sha1 building
369 --with-sha1-asm use sha1 assembler sources
370
Igor Sysoev02025fd2005-01-18 13:03:58 +0000371 --with-zlib=DIR set path to zlib library sources
372 --with-zlib-opt=OPTIONS set additional options for zlib building
373 --with-zlib-asm=CPU use zlib assembler sources optimized
374 for specified CPU, the valid values:
375 pentium, pentiumpro
376
377 --with-openssl=DIR set path to OpenSSL library sources
Igor Sysoevc1571722005-03-19 12:38:37 +0000378 --with-openssl-opt=OPTIONS set additional options for OpenSSL building
Igor Sysoev02025fd2005-01-18 13:03:58 +0000379
380 --with-debug enable the debugging logging
Igor Sysoevc0edbcc2004-10-21 15:34:38 +0000381
382END
Igor Sysoeva8fa0a62003-11-25 20:44:56 +0000383
384 exit 1
385fi
Igor Sysoev732a2712004-04-21 18:54:33 +0000386
387
Igor Sysoev562626a2004-09-14 05:45:22 +0000388if [ $HTTP = NO ]; then
389 HTTP_CHARSET=NO
390 HTTP_GZIP=NO
391 HTTP_SSI=NO
392 HTTP_USERID=NO
393 HTTP_ACCESS=NO
394 HTTP_STATUS=NO
395 HTTP_REWRITE=NO
396 HTTP_PROXY=NO
Igor Sysoev02025fd2005-01-18 13:03:58 +0000397 HTTP_FASTCGI=NO
Igor Sysoev562626a2004-09-14 05:45:22 +0000398fi
399
400
Igor Sysoevf6906042004-11-25 16:17:31 +0000401if [ ".$NGX_PLATFORM" = ".win32" ]; then
Igor Sysoev1b735832004-11-11 14:07:14 +0000402 NGX_WINE=$WINE
Igor Sysoev732a2712004-04-21 18:54:33 +0000403fi
Igor Sysoev090849d2004-05-18 20:28:54 +0000404
405
Igor Sysoevb1dfe472004-12-21 12:30:30 +0000406NGX_PREFIX=${NGX_PREFIX:-/usr/local/nginx}
Igor Sysoev090849d2004-05-18 20:28:54 +0000407
Igor Sysoev090849d2004-05-18 20:28:54 +0000408
Igor Sysoevf6906042004-11-25 16:17:31 +0000409case ".$NGX_SBIN_PATH" in
Igor Sysoev6d2a14a2004-09-27 16:03:21 +0000410 ./*)
411 ;;
Igor Sysoev090849d2004-05-18 20:28:54 +0000412
Igor Sysoev6d2a14a2004-09-27 16:03:21 +0000413 .)
Igor Sysoevf6906042004-11-25 16:17:31 +0000414 NGX_SBIN_PATH=$NGX_PREFIX/sbin/nginx
Igor Sysoev6d2a14a2004-09-27 16:03:21 +0000415 ;;
Igor Sysoev090849d2004-05-18 20:28:54 +0000416
Igor Sysoev6d2a14a2004-09-27 16:03:21 +0000417 *)
Igor Sysoevf6906042004-11-25 16:17:31 +0000418 NGX_SBIN_PATH=$NGX_PREFIX/$NGX_SBIN_PATH
Igor Sysoev6d2a14a2004-09-27 16:03:21 +0000419 ;;
420esac
Igor Sysoev090849d2004-05-18 20:28:54 +0000421
Igor Sysoev6d2a14a2004-09-27 16:03:21 +0000422
Igor Sysoevf6906042004-11-25 16:17:31 +0000423case ".$NGX_CONF_PATH" in
Igor Sysoev6d2a14a2004-09-27 16:03:21 +0000424 ./*)
425 ;;
426
427 .)
Igor Sysoev5cf4d1a2007-08-14 19:26:20 +0000428 NGX_CONF_PATH=$NGX_PREFIX/conf/nginx.conf
Igor Sysoev6d2a14a2004-09-27 16:03:21 +0000429 ;;
430
431 *)
Igor Sysoev5cf4d1a2007-08-14 19:26:20 +0000432 NGX_CONF_PATH=$NGX_PREFIX/$NGX_CONF_PATH
Igor Sysoev6d2a14a2004-09-27 16:03:21 +0000433 ;;
434esac
435
436
Igor Sysoev5cf4d1a2007-08-14 19:26:20 +0000437NGX_CONF_PREFIX=`dirname $NGX_CONF_PATH`
438
439
Igor Sysoevf6906042004-11-25 16:17:31 +0000440case ".$NGX_PID_PATH" in
Igor Sysoev6d2a14a2004-09-27 16:03:21 +0000441 ./*)
442 ;;
443
444 .)
Igor Sysoevf6906042004-11-25 16:17:31 +0000445 NGX_PID_PATH=$NGX_PREFIX/logs/nginx.pid
Igor Sysoev6d2a14a2004-09-27 16:03:21 +0000446 ;;
447
448 *)
Igor Sysoevf6906042004-11-25 16:17:31 +0000449 NGX_PID_PATH=$NGX_PREFIX/$NGX_PID_PATH
Igor Sysoev6d2a14a2004-09-27 16:03:21 +0000450 ;;
451esac
452
453
Igor Sysoevffe71442006-02-08 15:33:12 +0000454case ".$NGX_LOCK_PATH" in
455 ./*)
456 ;;
457
458 .)
459 NGX_LOCK_PATH=$NGX_PREFIX/logs/nginx.lock
460 ;;
461
462 *)
463 NGX_LOCK_PATH=$NGX_PREFIX/$NGX_LOCK_PATH
464 ;;
465esac
466
467
Igor Sysoevf6906042004-11-25 16:17:31 +0000468case ".$NGX_ERROR_LOG_PATH" in
Igor Sysoev6d2a14a2004-09-27 16:03:21 +0000469 ./*)
470 ;;
471
472 .)
Igor Sysoevf6906042004-11-25 16:17:31 +0000473 NGX_ERROR_LOG_PATH=$NGX_PREFIX/logs/error.log
Igor Sysoev6d2a14a2004-09-27 16:03:21 +0000474 ;;
475
Igor Sysoevff8da912004-09-29 16:00:49 +0000476 .stderr)
Igor Sysoevf6906042004-11-25 16:17:31 +0000477 NGX_ERROR_LOG_PATH=
Igor Sysoevff8da912004-09-29 16:00:49 +0000478 ;;
479
Igor Sysoev6d2a14a2004-09-27 16:03:21 +0000480 *)
Igor Sysoevf6906042004-11-25 16:17:31 +0000481 NGX_ERROR_LOG_PATH=$NGX_PREFIX/$NGX_ERROR_LOG_PATH
Igor Sysoev6d2a14a2004-09-27 16:03:21 +0000482 ;;
483esac
484
485
Igor Sysoevf6906042004-11-25 16:17:31 +0000486case ".$NGX_HTTP_LOG_PATH" in
Igor Sysoev6d2a14a2004-09-27 16:03:21 +0000487 ./*)
488 ;;
489
490 .)
Igor Sysoevf6906042004-11-25 16:17:31 +0000491 NGX_HTTP_LOG_PATH=$NGX_PREFIX/logs/access.log
Igor Sysoev6d2a14a2004-09-27 16:03:21 +0000492 ;;
493
494 *)
Igor Sysoevf6906042004-11-25 16:17:31 +0000495 NGX_HTTP_LOG_PATH=$NGX_PREFIX/$NGX_HTTP_LOG_PATH
Igor Sysoev6d2a14a2004-09-27 16:03:21 +0000496 ;;
497esac
Igor Sysoev02025fd2005-01-18 13:03:58 +0000498
499
500case ".$NGX_HTTP_CLIENT_TEMP_PATH" in
501 ./*)
502 ;;
503
504 .)
505 NGX_HTTP_CLIENT_TEMP_PATH=$NGX_PREFIX/client_body_temp
506 ;;
507
508 *)
509 NGX_HTTP_CLIENT_TEMP_PATH=$NGX_PREFIX/$NGX_HTTP_CLIENT_TEMP_PATH
510 ;;
511esac
512
513
514case ".$NGX_HTTP_PROXY_TEMP_PATH" in
515 ./*)
516 ;;
517
518 .)
519 NGX_HTTP_PROXY_TEMP_PATH=$NGX_PREFIX/proxy_temp
520 ;;
521
522 *)
523 NGX_HTTP_PROXY_TEMP_PATH=$NGX_PREFIX/$NGX_HTTP_PROXY_TEMP_PATH
524 ;;
525esac
526
527
528case ".$NGX_HTTP_FASTCGI_TEMP_PATH" in
529 ./*)
530 ;;
531
532 .)
533 NGX_HTTP_FASTCGI_TEMP_PATH=$NGX_PREFIX/fastcgi_temp
534 ;;
535
536 *)
537 NGX_HTTP_FASTCGI_TEMP_PATH=$NGX_PREFIX/$NGX_HTTP_FASTCGI_TEMP_PATH
538 ;;
539esac
Igor Sysoev9bf11aa2006-01-16 14:56:53 +0000540
541
542case ".$NGX_PERL_MODULES" in
543 ./*)
544 ;;
545
546 .)
547 ;;
548
549 *)
550 NGX_PERL_MODULES=$NGX_PREFIX/$NGX_PERL_MODULES
551 ;;
552esac