diff --git a/Makefile b/Makefile index ec1b717..a47cd39 100644 --- a/Makefile +++ b/Makefile @@ -6,3 +6,6 @@ all: test: all prove -r t +try: all + cd ngx_openresty-`./util/ver` && ./configure + diff --git a/t/sanity.t b/t/sanity.t index 660c6b7..758819c 100644 --- a/t/sanity.t +++ b/t/sanity.t @@ -23,6 +23,7 @@ __DATA__ --without-http_echo_module disable ngx_http_echo_module --without-http_xss_module disable ngx_http_xss_module + --without-http_set_misc_module disable ngx_http_set_misc_module --without-http_form_input_module disable ngx_http_form_input_module --without-http_encrypted_session_module disable ngx_http_encrypted_session_module @@ -177,19 +178,54 @@ Options directly inherited from nginx cp -r bundle/ build/ cd build cd nginx-0.8.54 -./configure --prefix=/usr/local/openresty/nginx --with-ld-opt='-Wl,-rpath=/usr/local/openresty/nginx/lib' --with-cc-opt='-O2' +./configure --prefix=/usr/local/openresty/nginx \ + --with-ld-opt='-Wl,-rpath=/usr/local/openresty/lib' \ + --with-cc-opt='-O2' \ + --add-module=../echo-nginx-module-0.36rc1 \ + --add-module=../xss-nginx-module-0.03rc2 \ + --add-module=../ngx_devel_kit-0.2.14 \ + --add-module=../set-misc-nginx-module-0.21rc2 \ + --add-module=../form-input-nginx-module-0.07rc4 \ + --add-module=../encrypted-session-nginx-module-0.01 \ + --add-module=../drizzle-nginx-module-0.0.15rc9 \ + --add-module=../lua-nginx-module-0.1.6rc1 \ + --add-module=../headers-more-nginx-module-0.14 \ + --add-module=../srcache-nginx-module-0.12rc1 \ + --add-module=../array-var-nginx-module-0.02 \ + --add-module=../memc-nginx-module-0.12rc1 \ + --add-module=../upstream-keepalive-nginx-module-0.3 \ + --add-module=../auth-request-nginx-module-0.2 \ + --add-module=../rds-json-nginx-module-0.11rc2 \ + --with-http_ssl_module === TEST 3: --with-debug --- cmd: ./configure --with-debug --dry-run ---- exit: 0 ---- err --- out cp -r bundle/ build/ cd build cd nginx-0.8.54 -./configure --prefix=/usr/local/openresty/nginx --with-ld-opt='-Wl,-rpath=/usr/local/openresty/nginx/lib' --with-cc-opt='-O0' --with-debug +./configure --prefix=/usr/local/openresty/nginx \ + --with-ld-opt='-Wl,-rpath=/usr/local/openresty/lib' \ + --with-cc-opt='-O0' \ + --with-debug \ + --add-module=../echo-nginx-module-0.36rc1 \ + --add-module=../xss-nginx-module-0.03rc2 \ + --add-module=../ngx_devel_kit-0.2.14 \ + --add-module=../set-misc-nginx-module-0.21rc2 \ + --add-module=../form-input-nginx-module-0.07rc4 \ + --add-module=../encrypted-session-nginx-module-0.01 \ + --add-module=../drizzle-nginx-module-0.0.15rc9 \ + --add-module=../lua-nginx-module-0.1.6rc1 \ + --add-module=../headers-more-nginx-module-0.14 \ + --add-module=../srcache-nginx-module-0.12rc1 \ + --add-module=../array-var-nginx-module-0.02 \ + --add-module=../memc-nginx-module-0.12rc1 \ + --add-module=../upstream-keepalive-nginx-module-0.3 \ + --add-module=../auth-request-nginx-module-0.2 \ + --add-module=../rds-json-nginx-module-0.11rc2 \ + --with-http_ssl_module diff --git a/util/configure b/util/configure index d12d3a4..525259e 100755 --- a/util/configure +++ b/util/configure @@ -16,6 +16,7 @@ my @modules = ( [http_echo => 'echo-nginx-module'], [http_xss => 'xss-nginx-module'], [ndk => 'ngx_devel_kit'], + [http_set_misc => 'set-misc-nginx-module'], [http_form_input => 'form-input-nginx-module'], [http_encrypted_session => 'encrypted-session-nginx-module'], [http_drizzle => 'drizzle-nginx-module'], @@ -111,27 +112,11 @@ for my $opt (@ARGV) { my $ngx_prefix = "$prefix/nginx"; my $cmd = "./configure --prefix=$ngx_prefix" - . " --with-ld-opt='-Wl,-rpath=$ngx_prefix/lib'" + . " \\\n --with-ld-opt='-Wl,-rpath=$prefix/lib'" . build_resty_opts(\%resty_opts) - . (@ngx_opts ? " " . join(" ", @ngx_opts) : ""); + . (@ngx_opts ? " \\\n " . join(" ", @ngx_opts) : ""); ; -if (-d 'build') { - system("rm -rf build"); -} - -if (-f 'build') { - die "build/ directory already exists\n"; -} - -shell "cp -r bundle/ build/"; - -cd 'build'; - -my $ngx_dir = auto_complete "nginx"; - -cd $ngx_dir; - if ($dry_run) { print "$cmd\n"; exit 0; @@ -187,12 +172,47 @@ sub build_resty_opts { die "--with-http_ssl_module conflicts with --without-http_ssl_module\n"; } + if (! $opts->{no_http_ssl} && ! $opts->{http_ssl}) { + $resty_opts{http_ssl} = 1; + push @ngx_opts, '--with-http_ssl_module'; + } + my $opts_line = ''; if ($resty_opts{debug}) { - $opts_line .= " --with-cc-opt='-O0' --with-debug"; + $opts_line .= " \\\n --with-cc-opt='-O0' \\\n --with-debug"; } else { - $opts_line .= " --with-cc-opt='-O2'"; + $opts_line .= " \\\n --with-cc-opt='-O2'"; + } + + if (-d 'build') { + system("rm -rf build"); + } + + if (-f 'build') { + die "build/ directory already exists\n"; + } + + shell "cp -r bundle/ build/"; + + cd 'build'; + + my $ngx_dir = auto_complete "nginx"; + + cd $ngx_dir; + + for my $mod (@modules) { + my ($name, $prefix, $attr) = @$mod; + + if ($attr && $attr eq 'disabled') { + next if not $resty_opts{"$name"}; + } else { + next if $resty_opts{"no_$name"}; + } + + my $dir = auto_complete "../$prefix"; + + $opts_line .= " \\\n --add-module=$dir"; } return $opts_line;