[nginx] Dynamic modules: perl.

Ruslan Ermilov ru at nginx.com
Mon Feb 29 20:22:51 UTC 2016


details:   http://hg.nginx.org/nginx/rev/39a806ccf21e
branches:  
changeset: 6419:39a806ccf21e
user:      Ruslan Ermilov <ru at nginx.com>
date:      Fri Feb 26 14:27:04 2016 +0300
description:
Dynamic modules: perl.

diffstat:

 auto/install       |   2 +-
 auto/lib/conf      |   2 +-
 auto/lib/make      |   2 +-
 auto/lib/perl/conf |   7 +++++--
 auto/lib/perl/make |   5 ++++-
 auto/make          |  29 +++++++++++++++++++++--------
 auto/module        |   4 ++--
 auto/modules       |   6 ++----
 auto/options       |   2 ++
 9 files changed, 39 insertions(+), 20 deletions(-)

diffs (197 lines):

diff -r 8e6f34342eb6 -r 39a806ccf21e auto/install
--- a/auto/install	Mon Feb 29 18:52:33 2016 +0300
+++ b/auto/install	Fri Feb 26 14:27:04 2016 +0300
@@ -3,7 +3,7 @@
 # Copyright (C) Nginx, Inc.
 
 
-if [ $USE_PERL = YES ]; then
+if [ $USE_PERL != NO ]; then
 
     cat << END                                                >> $NGX_MAKEFILE
 
diff -r 8e6f34342eb6 -r 39a806ccf21e auto/lib/conf
--- a/auto/lib/conf	Mon Feb 29 18:52:33 2016 +0300
+++ b/auto/lib/conf	Fri Feb 26 14:27:04 2016 +0300
@@ -66,7 +66,7 @@ if [ $USE_LIBGD != NO ]; then
     . auto/lib/libgd/conf
 fi
 
-if [ $USE_PERL = YES ]; then
+if [ $USE_PERL != NO ]; then
     . auto/lib/perl/conf
 fi
 
diff -r 8e6f34342eb6 -r 39a806ccf21e auto/lib/make
--- a/auto/lib/make	Mon Feb 29 18:52:33 2016 +0300
+++ b/auto/lib/make	Fri Feb 26 14:27:04 2016 +0300
@@ -27,6 +27,6 @@ if [ $NGX_LIBATOMIC != NO -a $NGX_LIBATO
     . auto/lib/libatomic/make
 fi
 
-if [ $USE_PERL = YES ]; then
+if [ $USE_PERL != NO ]; then
     . auto/lib/perl/make
 fi
diff -r 8e6f34342eb6 -r 39a806ccf21e auto/lib/perl/conf
--- a/auto/lib/perl/conf	Mon Feb 29 18:52:33 2016 +0300
+++ b/auto/lib/perl/conf	Fri Feb 26 14:27:04 2016 +0300
@@ -60,8 +60,11 @@ if test -n "$NGX_PERL_VER"; then
                          | sed -e 's/-arch i386//' -e 's/-arch x86_64//'`
     fi
 
-    CORE_LINK="$CORE_LINK $ngx_perl_ldopts"
-    LINK_DEPS="$LINK_DEPS $NGX_OBJS/$ngx_perl_module"
+    if [ $USE_PERL = YES ]; then
+        CORE_LINK="$CORE_LINK $ngx_perl_ldopts"
+    fi
+
+    NGX_LIB_PERL="$ngx_perl_ldopts"
 
     if test -n "$NGX_PERL_MODULES"; then
         have=NGX_PERL_MODULES value="(u_char *) \"$NGX_PERL_MODULES\""
diff -r 8e6f34342eb6 -r 39a806ccf21e auto/lib/perl/make
--- a/auto/lib/perl/make	Mon Feb 29 18:52:33 2016 +0300
+++ b/auto/lib/perl/make	Fri Feb 26 14:27:04 2016 +0300
@@ -8,7 +8,10 @@ v=`grep 'define NGINX_VERSION' src/core/
 
 cat << END                                                    >> $NGX_MAKEFILE
 
-$NGX_OBJS/src/http/modules/perl/blib/arch/auto/nginx/nginx.$ngx_perl_dlext: \\
+$NGX_OBJS/src/http/modules/perl/ngx_http_perl_module.o: \\
+		$NGX_OBJS/$ngx_perl_module
+
+$NGX_OBJS/$ngx_perl_module: \\
 		\$(CORE_DEPS) \$(HTTP_DEPS) \\
 		src/http/modules/perl/ngx_http_perl_module.h \\
 		$NGX_OBJS/src/http/modules/perl/Makefile
diff -r 8e6f34342eb6 -r 39a806ccf21e auto/make
--- a/auto/make	Mon Feb 29 18:52:33 2016 +0300
+++ b/auto/make	Fri Feb 26 14:27:04 2016 +0300
@@ -281,7 +281,7 @@ if [ $HTTP = YES ]; then
         ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)"
     else
         ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) \$(CORE_INCS) \$(HTTP_INCS)"
-        ngx_perl_cc="\$(CC) $ngx_compile_opt \$(NGX_PERL_CFLAGS) "
+        ngx_perl_cc="\$(CC) $ngx_compile_opt \$(NGX_PERL_CFLAGS)"
         ngx_perl_cc="$ngx_perl_cc \$(CORE_INCS) \$(HTTP_INCS)"
     fi
 
@@ -494,6 +494,8 @@ if test -n "$NGX_PCH"; then
     ngx_cc="\$(CC) $ngx_compile_opt $ngx_pic_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)"
 else
     ngx_cc="\$(CC) $ngx_compile_opt $ngx_pic_opt \$(CFLAGS) \$(ALL_INCS)"
+    ngx_perl_cc="\$(CC) $ngx_compile_opt $ngx_pic_opt \$(NGX_PERL_CFLAGS)"
+    ngx_perl_cc="$ngx_perl_cc \$(ALL_INCS)"
 fi
 
 ngx_obj_deps="\$(CORE_DEPS)"
@@ -639,15 +641,15 @@ modules:	$ngx_obj
 
 END
 
-    for ngx_src in $ngx_module_srcs
+    for ngx_source in $ngx_module_srcs
     do
-        case "$ngx_src" in
+        case "$ngx_source" in
             src/*)
-                ngx_obj=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"`
+                ngx_obj=`echo $ngx_source | sed -e "s/\//$ngx_regex_dirsep/g"`
                 ;;
             *)
-                ngx_obj="addon/`basename \`dirname $ngx_src\``"
-                ngx_obj=`echo $ngx_obj/\`basename $ngx_src\` \
+                ngx_obj="addon/`basename \`dirname $ngx_source\``"
+                ngx_obj=`echo $ngx_obj/\`basename $ngx_source\` \
                     | sed -e "s/\//$ngx_regex_dirsep/g"`
                 ;;
         esac
@@ -658,14 +660,25 @@ END
                   -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \
                   -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"`
 
-        ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"`
+        ngx_src=`echo $ngx_source | sed -e "s/\//$ngx_regex_dirsep/g"`
 
-        cat << END                                        >> $NGX_MAKEFILE
+        if [ $ngx_source = src/http/modules/perl/ngx_http_perl_module.c ]; then
+
+            cat << END                                        >> $NGX_MAKEFILE
+
+$ngx_obj:	$ngx_obj_deps$ngx_cont$ngx_src
+	$ngx_perl_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX
+
+END
+        else
+
+            cat << END                                        >> $NGX_MAKEFILE
 
 $ngx_obj:	$ngx_obj_deps$ngx_cont$ngx_src
 	$ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX
 
 END
 
+        fi
     done
 done
diff -r 8e6f34342eb6 -r 39a806ccf21e auto/module
--- a/auto/module	Mon Feb 29 18:52:33 2016 +0300
+++ b/auto/module	Fri Feb 26 14:27:04 2016 +0300
@@ -40,7 +40,7 @@ if [ "$ngx_module_link" = DYNAMIC ]; the
     do
         case $lib in
 
-            LIBXSLT | LIBGD | GEOIP)
+            LIBXSLT | LIBGD | GEOIP | PERL)
                 libs="$libs \$NGX_LIB_$lib"
 
                 if eval [ "\$USE_${lib}" = NO ] ; then
@@ -48,7 +48,7 @@ if [ "$ngx_module_link" = DYNAMIC ]; the
                 fi
             ;;
 
-            PCRE | OPENSSL | MD5 | SHA1 | ZLIB | PERL)
+            PCRE | OPENSSL | MD5 | SHA1 | ZLIB)
                 eval USE_${lib}=YES
             ;;
 
diff -r 8e6f34342eb6 -r 39a806ccf21e auto/modules
--- a/auto/modules	Mon Feb 29 18:52:33 2016 +0300
+++ b/auto/modules	Fri Feb 26 14:27:04 2016 +0300
@@ -727,14 +727,12 @@ if [ $HTTP_SCGI = YES ]; then
     . auto/module
 fi
 
-if [ $HTTP_PERL = YES ]; then
-    USE_PERL=YES
-
+if [ $HTTP_PERL != NO ]; then
     ngx_module_name=ngx_http_perl_module
     ngx_module_incs=src/http/modules/perl
     ngx_module_deps=src/http/modules/perl/ngx_http_perl_module.h
     ngx_module_srcs=src/http/modules/perl/ngx_http_perl_module.c
-    ngx_module_libs=
+    ngx_module_libs=PERL
     ngx_module_link=$HTTP_PERL
 
     . auto/module
diff -r 8e6f34342eb6 -r 39a806ccf21e auto/options
--- a/auto/options	Mon Feb 29 18:52:33 2016 +0300
+++ b/auto/options	Fri Feb 26 14:27:04 2016 +0300
@@ -271,6 +271,7 @@ do
         --without-http_upstream_zone_module) HTTP_UPSTREAM_ZONE=NO  ;;
 
         --with-http_perl_module)         HTTP_PERL=YES              ;;
+        --with-http_perl_module=dynamic) HTTP_PERL=DYNAMIC          ;;
         --with-perl_modules_path=*)      NGX_PERL_MODULES="$value"  ;;
         --with-perl=*)                   NGX_PERL="$value"          ;;
 
@@ -452,6 +453,7 @@ cat << END
                                      disable ngx_http_upstream_zone_module
 
   --with-http_perl_module            enable ngx_http_perl_module
+  --with-http_perl_module=dynamic    enable dynamic ngx_http_perl_module
   --with-perl_modules_path=PATH      set Perl modules path
   --with-perl=PATH                   set perl binary pathname
 



More information about the nginx-devel mailing list