aboutsummaryrefslogtreecommitdiffstats
path: root/app/nginx/auto/lib/perl
diff options
context:
space:
mode:
Diffstat (limited to 'app/nginx/auto/lib/perl')
-rw-r--r--app/nginx/auto/lib/perl/conf83
-rw-r--r--app/nginx/auto/lib/perl/make46
2 files changed, 129 insertions, 0 deletions
diff --git a/app/nginx/auto/lib/perl/conf b/app/nginx/auto/lib/perl/conf
new file mode 100644
index 0000000..e16a1bc
--- /dev/null
+++ b/app/nginx/auto/lib/perl/conf
@@ -0,0 +1,83 @@
+
+# Copyright (C) Igor Sysoev
+# Copyright (C) Nginx, Inc.
+
+
+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 [ "`$NGX_PERL -e 'use 5.008006; print "OK"'`" != "OK" ]; then
+ echo
+ echo "$0: error: perl 5.8.6 or higher is required"
+ echo
+
+ exit 1;
+ fi
+
+ if [ "`$NGX_PERL -MExtUtils::Embed -e 'print "OK"'`" != "OK" ]; then
+ echo
+ echo "$0: error: perl module ExtUtils::Embed is required"
+ echo
+
+ exit 1;
+ fi
+
+ NGX_PM_CFLAGS=`$NGX_PERL -MExtUtils::Embed -e ccopts`
+ NGX_PM_LDFLAGS=`$NGX_PERL -MConfig -e 'print $Config{lddlflags}'`
+
+ NGX_PERL_CFLAGS="$CFLAGS `$NGX_PERL -MExtUtils::Embed -e ccopts`"
+
+ # gcc 4.1/4.2 warn about unused values in pTHX_
+ NGX_PERL_CFLAGS=`echo $NGX_PERL_CFLAGS \
+ | sed -e 's/-Wunused-value/-Wno-unused-value/'`
+ # icc8 warns 'declaration hides parameter "my_perl"' in ENTER and LEAVE
+ NGX_PERL_CFLAGS=`echo $NGX_PERL_CFLAGS \
+ | sed -e 's/-wd171/-wd171 -wd1599/'`
+
+ ngx_perl_ldopts=`$NGX_PERL -MExtUtils::Embed -e ldopts`
+
+ ngx_perl_dlext=`$NGX_PERL -MConfig -e 'print $Config{dlext}'`
+ ngx_perl_libdir="src/http/modules/perl/blib/arch/auto"
+ ngx_perl_module="$ngx_perl_libdir/nginx/nginx.$ngx_perl_dlext"
+
+ 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 undef > /dev/null; then
+ # FreeBSD port wants to link with -pthread non-threaded perl
+ ngx_perl_ldopts=`echo $ngx_perl_ldopts | sed 's/ -pthread//'`
+ fi
+
+ if [ "$NGX_SYSTEM" = "Darwin" ]; then
+ # OS X system perl wants to link universal binaries
+ ngx_perl_ldopts=`echo $ngx_perl_ldopts \
+ | sed -e 's/-arch i386//' -e 's/-arch x86_64//'`
+ fi
+
+ 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\""
+ . auto/define
+ NGX_PERL_MODULES_MAN=$NGX_PERL_MODULES/man3
+ fi
+
+else
+ echo
+ echo "$0: error: perl 5.8.6 or higher is required"
+ echo
+
+ exit 1;
+fi
diff --git a/app/nginx/auto/lib/perl/make b/app/nginx/auto/lib/perl/make
new file mode 100644
index 0000000..74e0f3a
--- /dev/null
+++ b/app/nginx/auto/lib/perl/make
@@ -0,0 +1,46 @@
+
+# Copyright (C) Igor Sysoev
+# Copyright (C) Nginx, Inc.
+
+
+cat << END >> $NGX_MAKEFILE
+
+$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
+ cd $NGX_OBJS/src/http/modules/perl && \$(MAKE)
+
+ rm -rf $NGX_OBJS/install_perl
+
+
+$NGX_OBJS/src/http/modules/perl/Makefile: \\
+ $NGX_AUTO_CONFIG_H \\
+ src/core/nginx.h \\
+ src/http/modules/perl/Makefile.PL \\
+ src/http/modules/perl/nginx.pm \\
+ src/http/modules/perl/nginx.xs \\
+ src/http/modules/perl/typemap
+ grep 'define NGINX_VERSION' src/core/nginx.h \\
+ | sed -e 's/^.*"\(.*\)".*/\1/' > \\
+ $NGX_OBJS/src/http/modules/perl/version
+ sed "s/%%VERSION%%/\`cat $NGX_OBJS/src/http/modules/perl/version\`/" \\
+ src/http/modules/perl/nginx.pm > \\
+ $NGX_OBJS/src/http/modules/perl/nginx.pm
+ cp -p src/http/modules/perl/nginx.xs $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_PM_CFLAGS="\$(NGX_PM_CFLAGS) -g $NGX_CC_OPT" \\
+ NGX_PM_LDFLAGS="$NGX_LD_OPT \$(NGX_PM_LDFLAGS)" \\
+ NGX_INCS="$CORE_INCS $NGX_OBJS $HTTP_INCS" \\
+ NGX_DEPS="\$(CORE_DEPS) \$(HTTP_DEPS)" \\
+ $NGX_PERL Makefile.PL \\
+ LIB=$NGX_PERL_MODULES \\
+ INSTALLSITEMAN3DIR=$NGX_PERL_MODULES_MAN
+
+END