| |
| # 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 . $NGX_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\"" |
| . $NGX_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 |