[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