diff options
| author | Igor Sysoev <igor@sysoev.ru> | 2006-01-16 14:56:53 +0000 |
|---|---|---|
| committer | Igor Sysoev <igor@sysoev.ru> | 2006-01-16 14:56:53 +0000 |
| commit | 9bf11aa19366f45bcd10a0917034acb45f89b259 (patch) | |
| tree | c7231ce937ab196c89608185e59ab544224e4da8 /auto | |
| parent | 243edbb727c49ac25355e109a097f1ca2d9e1e44 (diff) | |
| download | nginx-9bf11aa19366f45bcd10a0917034acb45f89b259.tar.gz nginx-9bf11aa19366f45bcd10a0917034acb45f89b259.tar.bz2 | |
nginx-0.3.21-RELEASE importrelease-0.3.21
*) Feature: the ngx_http_perl_module.
*) Change: the "valid_referers" directive allows the referreres without
URI part.
Diffstat (limited to 'auto')
| -rw-r--r-- | auto/cc/gcc | 2 | ||||
| -rw-r--r-- | auto/install | 16 | ||||
| -rw-r--r-- | auto/lib/conf | 4 | ||||
| -rw-r--r-- | auto/lib/make | 4 | ||||
| -rw-r--r-- | auto/lib/perl/conf | 53 | ||||
| -rw-r--r-- | auto/lib/perl/make | 33 | ||||
| -rw-r--r-- | auto/make | 2 | ||||
| -rw-r--r-- | auto/modules | 10 | ||||
| -rw-r--r-- | auto/options | 25 | ||||
| -rw-r--r-- | auto/sources | 6 |
10 files changed, 152 insertions, 3 deletions
diff --git a/auto/cc/gcc b/auto/cc/gcc index 5c5f61cd8..21a73406e 100644 --- a/auto/cc/gcc +++ b/auto/cc/gcc @@ -172,3 +172,5 @@ CFLAGS="$CFLAGS -g" if [ ".$CPP" = "." ]; then CPP="$CC -E" fi + +NGX_PERL_CFLAGS="$CFLAGS" diff --git a/auto/install b/auto/install index 55f868a1d..07535b745 100644 --- a/auto/install +++ b/auto/install @@ -2,9 +2,23 @@ # Copyright (C) Igor Sysoev +if [ $USE_PERL = YES ]; then + + cat << END >> $NGX_MAKEFILE + +install_perl_modules: + cd $NGX_OBJS/src/http/modules/perl && make install +END + + NGX_INSTALL_PERL_MODULES=install_perl_modules + +fi + + cat << END >> $NGX_MAKEFILE -install: $NGX_OBJS${ngx_dirsep}nginx${ngx_binext} +install: $NGX_OBJS${ngx_dirsep}nginx${ngx_binext} \ + $NGX_INSTALL_PERL_MODULES test -d '$NGX_PREFIX' || mkdir -p '$NGX_PREFIX' test -d '`dirname "$NGX_SBIN_PATH"`' \ diff --git a/auto/lib/conf b/auto/lib/conf index 70053b554..62d6029bb 100644 --- a/auto/lib/conf +++ b/auto/lib/conf @@ -26,3 +26,7 @@ fi if [ $USE_ZLIB = YES ]; then . auto/lib/zlib/conf fi + +if [ $USE_PERL = YES ]; then + . auto/lib/perl/conf +fi diff --git a/auto/lib/make b/auto/lib/make index ef571c5b8..60cd7bcd2 100644 --- a/auto/lib/make +++ b/auto/lib/make @@ -17,3 +17,7 @@ fi if [ $ZLIB != NONE -a $ZLIB != NO -a $ZLIB != YES ]; then . auto/lib/zlib/make fi + +if [ $USE_PERL = YES ]; then + . auto/lib/perl/make +fi diff --git a/auto/lib/perl/conf b/auto/lib/perl/conf new file mode 100644 index 000000000..1d7fe3bde --- /dev/null +++ b/auto/lib/perl/conf @@ -0,0 +1,53 @@ + +# Copyright (C) Igor Sysoev + + +echo "checking for perl" + + +NGX_PERL_VER=`$NGX_PERL -v 2>&1 | grep '^This is perl' 2>&1 \ + | sed -e 's/^This is perl, \(.*\)/\1/'` + +if test -n "$NGX_PERL_VER"; then + echo " + perl version: $NGX_PERL_VER" + + if [ "`echo 'use 5.006001; print "OK"' | $NGX_PERL 2>&1`" != OK ]; then + echo + echo "$0: error: perl 5.6.1 or higher is required" + echo + + exit 1; + fi + + CFLAGS="$CFLAGS `$NGX_PERL -MExtUtils::Embed -e ccopts`" + ngx_perl_ldopts=`$NGX_PERL -MExtUtils::Embed -e ldopts` + + if $NGX_PERL -V:usemultiplicity | grep define > /dev/null; then + have=NGX_HAVE_PERL_MULTIPLICITY . auto/have + echo " + perl interpreter multiplicity found" + fi + + if $NGX_PERL -V:useithreads | grep define > /dev/null; then + have=NGX_HAVE_PERL_CLONE . auto/have + echo " + perl_clone() found" + + else + # FreeBSD port wants to link with -pthread non-threaded perl + ngx_perl_ldopts=`echo $ngx_perl_ldopts | sed 's/ -pthread//'` + fi + + CORE_LINK="$CORE_LINK $ngx_perl_ldopts" + LINK_DEPS="$LINK_DEPS $NGX_OBJS/src/http/modules/perl/blib/arch/auto/nginx/nginx.so" + + if test -n "$NGX_PERL_MODULES"; then + have=NGX_PERL_MODULES value="(u_char *) \"$NGX_PERL_MODULES\"" + . auto/define + fi + +else + echo + echo "$0: error: perl 5.6.1 or higher is required" + echo + + exit 1; +fi diff --git a/auto/lib/perl/make b/auto/lib/perl/make new file mode 100644 index 000000000..36544223a --- /dev/null +++ b/auto/lib/perl/make @@ -0,0 +1,33 @@ + +# Copyright (C) Igor Sysoev + + +cat << END >> $NGX_MAKEFILE + +$NGX_OBJS/src/http/modules/perl/blib/arch/auto/nginx/nginx.so: \ + src/http/modules/perl/nginx.pm \ + src/http/modules/perl/nginx.xs \ + src/http/modules/perl/ngx_http_perl_module.h \ + $NGX_OBJS/src/http/modules/perl/Makefile + + cp -p src/http/modules/perl/nginx.* $NGX_OBJS/src/http/modules/perl/ + + cd $NGX_OBJS/src/http/modules/perl && make + + +$NGX_OBJS/src/http/modules/perl/Makefile: src/http/modules/perl/Makefile.PL + + cp -p src/http/modules/perl/nginx.* $NGX_OBJS/src/http/modules/perl/ + cp -p src/http/modules/perl/typemap $NGX_OBJS/src/http/modules/perl/ + cp -p src/http/modules/perl/Makefile.PL $NGX_OBJS/src/http/modules/perl/ + + cd $NGX_OBJS/src/http/modules/perl \ + && NGX_PERL_CFLAGS="$NGX_PERL_CFLAGS" \ + NGX_PCRE=$PCRE \ + NGX_ZLIB=$ZLIB \ + NGX_OBJS=$NGX_OBJS \ + $NGX_PERL Makefile.PL \ + LIB=$NGX_PERL_MODULES + + +END @@ -5,7 +5,7 @@ mkdir -p $NGX_OBJS/src/core $NGX_OBJS/src/event $NGX_OBJS/src/event/modules \ $NGX_OBJS/src/os/unix $NGX_OBJS/src/os/win32 \ $NGX_OBJS/src/http $NGX_OBJS/src/http/modules \ - $NGX_OBJS/src/http/modules/proxy \ + $NGX_OBJS/src/http/modules/perl \ $NGX_OBJS/src/imap diff --git a/auto/modules b/auto/modules index 8a6741415..ef3a35d94 100644 --- a/auto/modules +++ b/auto/modules @@ -191,7 +191,6 @@ if [ $HTTP_PROXY = YES ]; then have=NGX_HTTP_PROXY . auto/have #USE_MD5=YES HTTP_MODULES="$HTTP_MODULES $HTTP_PROXY_MODULE" - HTTP_INCS="$HTTP_INCS $HTTP_PROXY_INCS" HTTP_DEPS="$HTTP_DEPS $HTTP_PROXY_DEPS" HTTP_SRCS="$HTTP_SRCS $HTTP_PROXY_SRCS" fi @@ -201,6 +200,15 @@ if [ $HTTP_FASTCGI = YES ]; then HTTP_SRCS="$HTTP_SRCS $HTTP_FASTCGI_SRCS" fi +if [ $HTTP_PERL = YES ]; then + USE_PERL=YES + have=NGX_HTTP_PERL . auto/have + HTTP_MODULES="$HTTP_MODULES $HTTP_PERL_MODULE" + HTTP_INCS="$HTTP_INCS $HTTP_PERL_INCS" + HTTP_DEPS="$HTTP_DEPS $HTTP_PERL_DEPS" + HTTP_SRCS="$HTTP_SRCS $HTTP_PERL_SRCS" +fi + if [ $HTTP_MEMCACHED = YES ]; then HTTP_MODULES="$HTTP_MODULES $HTTP_MEMCACHED_MODULE" HTTP_SRCS="$HTTP_SRCS $HTTP_MEMCACHED_SRCS" diff --git a/auto/options b/auto/options index da00edf47..6b991a955 100644 --- a/auto/options +++ b/auto/options @@ -62,6 +62,7 @@ HTTP_REFERER=YES HTTP_REWRITE=YES HTTP_PROXY=YES HTTP_FASTCGI=YES +HTTP_PERL=NO HTTP_MEMCACHED=YES HTTP_EMPTY_GIF=YES @@ -90,6 +91,9 @@ ZLIB=NONE ZLIB_OPT= ZLIB_ASM=NO +USE_PERL=NO +NGX_PERL=perl + NGX_CPU_CACHE_LINE= @@ -150,6 +154,10 @@ do --without-http_memcached_module) HTTP_MEMCACHED=NO ;; --without-http_empty_gif_module) HTTP_EMPTY_GIF=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 ;; @@ -235,6 +243,10 @@ cat << END --without-http_memcached_module disable ngx_http_memcached_module --without-http_empty_gif_module disable ngx_http_empty_gif_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 path @@ -414,3 +426,16 @@ case ".$NGX_HTTP_FASTCGI_TEMP_PATH" in 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 diff --git a/auto/sources b/auto/sources index c352da324..5ffbc6c98 100644 --- a/auto/sources +++ b/auto/sources @@ -360,6 +360,12 @@ HTTP_FASTCGI_MODULE=ngx_http_fastcgi_module HTTP_FASTCGI_SRCS=src/http/modules/ngx_http_fastcgi_module.c +HTTP_PERL_MODULE=ngx_http_perl_module +HTTP_PERL_INCS=src/http/modules/perl +HTTP_PERL_DEPS=src/http/modules/perl/ngx_http_perl_module.h +HTTP_PERL_SRCS=src/http/modules/perl/ngx_http_perl_module.c + + HTTP_MEMCACHED_MODULE=ngx_http_memcached_module HTTP_MEMCACHED_SRCS=src/http/modules/ngx_http_memcached_module.c |
