Dynamic modules: perl.

This commit is contained in:
Ruslan Ermilov 2016-02-26 14:27:04 +03:00
parent 39b78fdf96
commit 89b8f57768
9 changed files with 39 additions and 20 deletions

View File

@ -3,7 +3,7 @@
# Copyright (C) Nginx, Inc. # Copyright (C) Nginx, Inc.
if [ $USE_PERL = YES ]; then if [ $USE_PERL != NO ]; then
cat << END >> $NGX_MAKEFILE cat << END >> $NGX_MAKEFILE

View File

@ -66,7 +66,7 @@ if [ $USE_LIBGD != NO ]; then
. auto/lib/libgd/conf . auto/lib/libgd/conf
fi fi
if [ $USE_PERL = YES ]; then if [ $USE_PERL != NO ]; then
. auto/lib/perl/conf . auto/lib/perl/conf
fi fi

View File

@ -27,6 +27,6 @@ if [ $NGX_LIBATOMIC != NO -a $NGX_LIBATOMIC != YES ]; then
. auto/lib/libatomic/make . auto/lib/libatomic/make
fi fi
if [ $USE_PERL = YES ]; then if [ $USE_PERL != NO ]; then
. auto/lib/perl/make . auto/lib/perl/make
fi fi

View File

@ -60,8 +60,11 @@ if test -n "$NGX_PERL_VER"; then
| sed -e 's/-arch i386//' -e 's/-arch x86_64//'` | sed -e 's/-arch i386//' -e 's/-arch x86_64//'`
fi fi
if [ $USE_PERL = YES ]; then
CORE_LINK="$CORE_LINK $ngx_perl_ldopts" CORE_LINK="$CORE_LINK $ngx_perl_ldopts"
LINK_DEPS="$LINK_DEPS $NGX_OBJS/$ngx_perl_module" fi
NGX_LIB_PERL="$ngx_perl_ldopts"
if test -n "$NGX_PERL_MODULES"; then if test -n "$NGX_PERL_MODULES"; then
have=NGX_PERL_MODULES value="(u_char *) \"$NGX_PERL_MODULES\"" have=NGX_PERL_MODULES value="(u_char *) \"$NGX_PERL_MODULES\""

View File

@ -8,7 +8,10 @@ v=`grep 'define NGINX_VERSION' src/core/nginx.h | sed -e 's/^.*"\(.*\)".*/\1/'`
cat << END >> $NGX_MAKEFILE 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) \\ \$(CORE_DEPS) \$(HTTP_DEPS) \\
src/http/modules/perl/ngx_http_perl_module.h \\ src/http/modules/perl/ngx_http_perl_module.h \\
$NGX_OBJS/src/http/modules/perl/Makefile $NGX_OBJS/src/http/modules/perl/Makefile

View File

@ -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)" ngx_cc="\$(CC) $ngx_compile_opt $ngx_pic_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)"
else else
ngx_cc="\$(CC) $ngx_compile_opt $ngx_pic_opt \$(CFLAGS) \$(ALL_INCS)" 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 fi
ngx_obj_deps="\$(CORE_DEPS)" ngx_obj_deps="\$(CORE_DEPS)"
@ -639,15 +641,15 @@ $ngx_modules_obj: \$(CORE_DEPS)$ngx_cont$ngx_modules_c
END END
for ngx_src in $ngx_module_srcs for ngx_source in $ngx_module_srcs
do do
case "$ngx_src" in case "$ngx_source" in
src/*) 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="addon/`basename \`dirname $ngx_source\``"
ngx_obj=`echo $ngx_obj/\`basename $ngx_src\` \ ngx_obj=`echo $ngx_obj/\`basename $ngx_source\` \
| sed -e "s/\//$ngx_regex_dirsep/g"` | sed -e "s/\//$ngx_regex_dirsep/g"`
;; ;;
esac esac
@ -658,7 +660,17 @@ END
-e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \ -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \
-e "s#^\(.*\.\)S\\$#$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"`
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 cat << END >> $NGX_MAKEFILE
@ -667,5 +679,6 @@ $ngx_obj: $ngx_obj_deps$ngx_cont$ngx_src
END END
fi
done done
done done

View File

@ -40,7 +40,7 @@ if [ "$ngx_module_link" = DYNAMIC ]; then
do do
case $lib in case $lib in
LIBXSLT | LIBGD | GEOIP) LIBXSLT | LIBGD | GEOIP | PERL)
libs="$libs \$NGX_LIB_$lib" libs="$libs \$NGX_LIB_$lib"
if eval [ "\$USE_${lib}" = NO ] ; then if eval [ "\$USE_${lib}" = NO ] ; then
@ -48,7 +48,7 @@ if [ "$ngx_module_link" = DYNAMIC ]; then
fi fi
;; ;;
PCRE | OPENSSL | MD5 | SHA1 | ZLIB | PERL) PCRE | OPENSSL | MD5 | SHA1 | ZLIB)
eval USE_${lib}=YES eval USE_${lib}=YES
;; ;;

View File

@ -727,14 +727,12 @@ if [ $HTTP_SCGI = YES ]; then
. auto/module . auto/module
fi fi
if [ $HTTP_PERL = YES ]; then if [ $HTTP_PERL != NO ]; then
USE_PERL=YES
ngx_module_name=ngx_http_perl_module ngx_module_name=ngx_http_perl_module
ngx_module_incs=src/http/modules/perl ngx_module_incs=src/http/modules/perl
ngx_module_deps=src/http/modules/perl/ngx_http_perl_module.h 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_srcs=src/http/modules/perl/ngx_http_perl_module.c
ngx_module_libs= ngx_module_libs=PERL
ngx_module_link=$HTTP_PERL ngx_module_link=$HTTP_PERL
. auto/module . auto/module

View File

@ -271,6 +271,7 @@ do
--without-http_upstream_zone_module) HTTP_UPSTREAM_ZONE=NO ;; --without-http_upstream_zone_module) HTTP_UPSTREAM_ZONE=NO ;;
--with-http_perl_module) HTTP_PERL=YES ;; --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_modules_path=*) NGX_PERL_MODULES="$value" ;;
--with-perl=*) NGX_PERL="$value" ;; --with-perl=*) NGX_PERL="$value" ;;
@ -452,6 +453,7 @@ cat << END
disable ngx_http_upstream_zone_module disable ngx_http_upstream_zone_module
--with-http_perl_module enable ngx_http_perl_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_modules_path=PATH set Perl modules path
--with-perl=PATH set perl binary pathname --with-perl=PATH set perl binary pathname