From 0b2e1ec9b7f2c6908b7bc8be8ef69ee5e8672713 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?agentzh=20=28=E7=AB=A0=E4=BA=A6=E6=98=A5=29?= Date: Mon, 7 Mar 2011 17:21:13 +0800 Subject: [PATCH] now we support accumulative --with-cc-opt. --- t/sanity.t | 61 ++++++++++++++++++++++++++++++++++++++++++++++++-- util/configure | 12 ++++++++-- 2 files changed, 69 insertions(+), 4 deletions(-) diff --git a/t/sanity.t b/t/sanity.t index a138db1..203bf60 100644 --- a/t/sanity.t +++ b/t/sanity.t @@ -2,7 +2,7 @@ use t::Config; -plan tests => 3 * blocks() + 3; +plan tests => 3 * blocks() + 4; #no_diff(); @@ -245,8 +245,8 @@ export LUA_INC='$OPENRESTY_BUILD_DIR/lua-root/usr/local/openresty/lua/include' cd .. cd nginx-0.8.54 ./configure --prefix=/usr/local/openresty/nginx \ - --with-cc-opt='-O0' \ --with-debug \ + --with-cc-opt='-O0' \ --add-module=../echo-nginx-module-0.36rc1 \ --add-module=../xss-nginx-module-0.03rc2 \ --add-module=../ngx_devel_kit-0.2.14 \ @@ -347,3 +347,60 @@ install: clean: rm -rf build + + +=== TEST 5: --with-cc-opt +--- cmd: ./configure --with-luajit --with-cc-opt="-O3" --dry-run +--- out +cp -r bundle/ build/ +cd build +cd libdrizzle-0.8 +./configure --prefix=/usr/local/openresty/libdrizzle +make +make install DESTDIR=$OPENRESTY_BUILD_DIR/libdrizzle-root +export LIBDRIZZLE_LIB='$OPENRESTY_BUILD_DIR/libdrizzle-root/usr/local/openresty/libdrizzle/lib' +export LIBDRIZZLE_INC='$OPENRESTY_BUILD_DIR/libdrizzle-root/usr/local/openresty/libdrizzle/include' +cd .. +cd LuaJIT-2.0.0-beta6 +make PREFIX=/usr/local/openresty/luajit +make install PREFIX=/usr/local/openresty/luajit DESTDIR=$OPENRESTY_BUILD_DIR/luajit-root +export LUAJIT_LIB='$OPENRESTY_BUILD_DIR/luajit-root/usr/local/openresty/luajit/lib' +export LUAJIT_INC='$OPENRESTY_BUILD_DIR/luajit-root/usr/local/openresty/luajit/include/luajit-2.0' +cd .. +cd nginx-0.8.54 +./configure --prefix=/usr/local/openresty/nginx \ + --with-cc-opt='-O2 -O3' \ + --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-ld-opt='-Wl,-rpath=/usr/local/openresty/libdrizzle/lib:/usr/local/openresty/luajit/lib' \ + --with-http_ssl_module +cd ../.. +--- makefile +.PHONY: all install + +all: + cd build/libdrizzle-0.8 && $(MAKE) + cd build/LuaJIT-2.0.0-beta6 && $(MAKE) PREFIX=/usr/local/openresty/luajit + cd build/nginx-0.8.54 && $(MAKE) + +install: + cd build/libdrizzle-0.8 && $(MAKE) install DESTDIR=$(DESTDIR) + cd build/LuaJIT-2.0.0-beta6 && $(MAKE) install PREFIX=/usr/local/openresty/luajit DESTDIR=$(DESTDIR) + cd build/nginx-0.8.54 && $(MAKE) install DESTDIR=$(DESTDIR) + +clean: + rm -rf build + diff --git a/util/configure b/util/configure index e012448..8af5c21 100755 --- a/util/configure +++ b/util/configure @@ -70,6 +70,7 @@ my $prefix = '/usr/local/openresty'; my %resty_opts; my $dry_run; my @ngx_rpaths; +my @ngx_cc_opts; my @ngx_opts; for my $opt (@ARGV) { @@ -87,6 +88,9 @@ for my $opt (@ARGV) { } elsif ($opt eq '--help') { usage 0; + } elsif ($opt =~ /^--with-cc-opt=(.*)/) { + push @ngx_cc_opts, $1; + } elsif ($opt =~ $without_resty_mods_regex) { die "No $1\n"; $resty_opts{"no_http_$1"} = 1; @@ -205,11 +209,15 @@ sub build_resty_opts { my $opts_line = ''; if ($opts->{debug}) { - $opts_line .= " \\\n --with-cc-opt='-O0' \\\n --with-debug"; + unshift @ngx_cc_opts, '-O0'; + $opts_line .= " \\\n --with-debug"; + } else { - $opts_line .= " \\\n --with-cc-opt='-O2'"; + unshift @ngx_cc_opts, '-O2'; } + $opts_line .= " \\\n --with-cc-opt='@ngx_cc_opts'"; + if (-d 'build') { system("rm -rf build"); }