1*3da8d17dSfengbojiang(姜凤波) 2*3da8d17dSfengbojiang(姜凤波)# Copyright (C) Igor Sysoev 3*3da8d17dSfengbojiang(姜凤波)# Copyright (C) Nginx, Inc. 4*3da8d17dSfengbojiang(姜凤波) 5*3da8d17dSfengbojiang(姜凤波) 6*3da8d17dSfengbojiang(姜凤波)echo "checking for perl" 7*3da8d17dSfengbojiang(姜凤波) 8*3da8d17dSfengbojiang(姜凤波) 9*3da8d17dSfengbojiang(姜凤波)NGX_PERL_VER=`$NGX_PERL -v 2>&1 | grep '^This is perl' 2>&1 \ 10*3da8d17dSfengbojiang(姜凤波) | sed -e 's/^This is perl, \(.*\)/\1/'` 11*3da8d17dSfengbojiang(姜凤波) 12*3da8d17dSfengbojiang(姜凤波)if test -n "$NGX_PERL_VER"; then 13*3da8d17dSfengbojiang(姜凤波) echo " + perl version: $NGX_PERL_VER" 14*3da8d17dSfengbojiang(姜凤波) 15*3da8d17dSfengbojiang(姜凤波) if [ "`$NGX_PERL -e 'use 5.008006; print "OK"'`" != "OK" ]; then 16*3da8d17dSfengbojiang(姜凤波) echo 17*3da8d17dSfengbojiang(姜凤波) echo "$0: error: perl 5.8.6 or higher is required" 18*3da8d17dSfengbojiang(姜凤波) echo 19*3da8d17dSfengbojiang(姜凤波) 20*3da8d17dSfengbojiang(姜凤波) exit 1; 21*3da8d17dSfengbojiang(姜凤波) fi 22*3da8d17dSfengbojiang(姜凤波) 23*3da8d17dSfengbojiang(姜凤波) if [ "`$NGX_PERL -MExtUtils::Embed -e 'print "OK"'`" != "OK" ]; then 24*3da8d17dSfengbojiang(姜凤波) echo 25*3da8d17dSfengbojiang(姜凤波) echo "$0: error: perl module ExtUtils::Embed is required" 26*3da8d17dSfengbojiang(姜凤波) echo 27*3da8d17dSfengbojiang(姜凤波) 28*3da8d17dSfengbojiang(姜凤波) exit 1; 29*3da8d17dSfengbojiang(姜凤波) fi 30*3da8d17dSfengbojiang(姜凤波) 31*3da8d17dSfengbojiang(姜凤波) NGX_PM_CFLAGS=`$NGX_PERL -MExtUtils::Embed -e ccopts` 32*3da8d17dSfengbojiang(姜凤波) NGX_PM_LDFLAGS=`$NGX_PERL -MConfig -e 'print $Config{lddlflags}'` 33*3da8d17dSfengbojiang(姜凤波) 34*3da8d17dSfengbojiang(姜凤波) NGX_PERL_CFLAGS="$CFLAGS `$NGX_PERL -MExtUtils::Embed -e ccopts`" 35*3da8d17dSfengbojiang(姜凤波) 36*3da8d17dSfengbojiang(姜凤波) # gcc 4.1/4.2 warn about unused values in pTHX_ 37*3da8d17dSfengbojiang(姜凤波) NGX_PERL_CFLAGS=`echo $NGX_PERL_CFLAGS \ 38*3da8d17dSfengbojiang(姜凤波) | sed -e 's/-Wunused-value/-Wno-unused-value/'` 39*3da8d17dSfengbojiang(姜凤波) # icc8 warns 'declaration hides parameter "my_perl"' in ENTER and LEAVE 40*3da8d17dSfengbojiang(姜凤波) NGX_PERL_CFLAGS=`echo $NGX_PERL_CFLAGS \ 41*3da8d17dSfengbojiang(姜凤波) | sed -e 's/-wd171/-wd171 -wd1599/'` 42*3da8d17dSfengbojiang(姜凤波) 43*3da8d17dSfengbojiang(姜凤波) ngx_perl_ldopts=`$NGX_PERL -MExtUtils::Embed -e ldopts` 44*3da8d17dSfengbojiang(姜凤波) 45*3da8d17dSfengbojiang(姜凤波) ngx_perl_dlext=`$NGX_PERL -MConfig -e 'print $Config{dlext}'` 46*3da8d17dSfengbojiang(姜凤波) ngx_perl_libdir="src/http/modules/perl/blib/arch/auto" 47*3da8d17dSfengbojiang(姜凤波) ngx_perl_module="$ngx_perl_libdir/nginx/nginx.$ngx_perl_dlext" 48*3da8d17dSfengbojiang(姜凤波) 49*3da8d17dSfengbojiang(姜凤波) if $NGX_PERL -V:usemultiplicity | grep define > /dev/null; then 50*3da8d17dSfengbojiang(姜凤波) have=NGX_HAVE_PERL_MULTIPLICITY . auto/have 51*3da8d17dSfengbojiang(姜凤波) echo " + perl interpreter multiplicity found" 52*3da8d17dSfengbojiang(姜凤波) fi 53*3da8d17dSfengbojiang(姜凤波) 54*3da8d17dSfengbojiang(姜凤波) if $NGX_PERL -V:useithreads | grep undef > /dev/null; then 55*3da8d17dSfengbojiang(姜凤波) # FreeBSD port wants to link with -pthread non-threaded perl 56*3da8d17dSfengbojiang(姜凤波) ngx_perl_ldopts=`echo $ngx_perl_ldopts | sed 's/ -pthread//'` 57*3da8d17dSfengbojiang(姜凤波) fi 58*3da8d17dSfengbojiang(姜凤波) 59*3da8d17dSfengbojiang(姜凤波) if [ "$NGX_SYSTEM" = "Darwin" ]; then 60*3da8d17dSfengbojiang(姜凤波) # OS X system perl wants to link universal binaries 61*3da8d17dSfengbojiang(姜凤波) ngx_perl_ldopts=`echo $ngx_perl_ldopts \ 62*3da8d17dSfengbojiang(姜凤波) | sed -e 's/-arch i386//' -e 's/-arch x86_64//'` 63*3da8d17dSfengbojiang(姜凤波) fi 64*3da8d17dSfengbojiang(姜凤波) 65*3da8d17dSfengbojiang(姜凤波) if [ $USE_PERL = YES ]; then 66*3da8d17dSfengbojiang(姜凤波) CORE_LINK="$CORE_LINK $ngx_perl_ldopts" 67*3da8d17dSfengbojiang(姜凤波) fi 68*3da8d17dSfengbojiang(姜凤波) 69*3da8d17dSfengbojiang(姜凤波) NGX_LIB_PERL="$ngx_perl_ldopts" 70*3da8d17dSfengbojiang(姜凤波) 71*3da8d17dSfengbojiang(姜凤波) if test -n "$NGX_PERL_MODULES"; then 72*3da8d17dSfengbojiang(姜凤波) have=NGX_PERL_MODULES value="(u_char *) \"$NGX_PERL_MODULES\"" 73*3da8d17dSfengbojiang(姜凤波) . auto/define 74*3da8d17dSfengbojiang(姜凤波) NGX_PERL_MODULES_MAN=$NGX_PERL_MODULES/man3 75*3da8d17dSfengbojiang(姜凤波) fi 76*3da8d17dSfengbojiang(姜凤波) 77*3da8d17dSfengbojiang(姜凤波)else 78*3da8d17dSfengbojiang(姜凤波) echo 79*3da8d17dSfengbojiang(姜凤波) echo "$0: error: perl 5.8.6 or higher is required" 80*3da8d17dSfengbojiang(姜凤波) echo 81*3da8d17dSfengbojiang(姜凤波) 82*3da8d17dSfengbojiang(姜凤波) exit 1; 83*3da8d17dSfengbojiang(姜凤波)fi 84