xref: /f-stack/app/nginx-1.16.1/auto/lib/perl/conf (revision 3da8d17d)
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