123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203 |
- # Copyright (C) Igor Sysoev
- # Copyright (C) Nginx, Inc.
- if [ $PCRE != NONE ]; then
- CORE_INCS="$CORE_INCS $PCRE"
- case "$NGX_CC_NAME" in
- msvc | owc | bcc)
- have=NGX_PCRE . auto/have
- have=PCRE_STATIC . auto/have
- CORE_DEPS="$CORE_DEPS $PCRE/pcre.h"
- LINK_DEPS="$LINK_DEPS $PCRE/pcre.lib"
- CORE_LIBS="$CORE_LIBS $PCRE/pcre.lib"
- ;;
- icc)
- have=NGX_PCRE . auto/have
- CORE_DEPS="$CORE_DEPS $PCRE/pcre.h"
- LINK_DEPS="$LINK_DEPS $PCRE/.libs/libpcre.a"
- echo $ngx_n "checking for PCRE library ...$ngx_c"
- if [ -f $PCRE/pcre.h ]; then
- ngx_pcre_ver=`grep PCRE_MAJOR $PCRE/pcre.h \
- | sed -e 's/^.*PCRE_MAJOR.* \(.*\)$/\1/'`
- else if [ -f $PCRE/configure.in ]; then
- ngx_pcre_ver=`grep PCRE_MAJOR= $PCRE/configure.in \
- | sed -e 's/^.*=\(.*\)$/\1/'`
- else
- ngx_pcre_ver=`grep pcre_major, $PCRE/configure.ac \
- | sed -e 's/^.*pcre_major,.*\[\(.*\)\].*$/\1/'`
- fi
- fi
- echo " $ngx_pcre_ver major version found"
- # to allow -ipo optimization we link with the *.o but not library
- case "$ngx_pcre_ver" in
- 4|5)
- CORE_LIBS="$CORE_LIBS $PCRE/pcre.o"
- ;;
- 6)
- CORE_LIBS="$CORE_LIBS $PCRE/pcre_chartables.o"
- CORE_LIBS="$CORE_LIBS $PCRE/pcre_compile.o"
- CORE_LIBS="$CORE_LIBS $PCRE/pcre_exec.o"
- CORE_LIBS="$CORE_LIBS $PCRE/pcre_fullinfo.o"
- CORE_LIBS="$CORE_LIBS $PCRE/pcre_globals.o"
- CORE_LIBS="$CORE_LIBS $PCRE/pcre_tables.o"
- CORE_LIBS="$CORE_LIBS $PCRE/pcre_try_flipped.o"
- ;;
- *)
- CORE_LIBS="$CORE_LIBS $PCRE/pcre_chartables.o"
- CORE_LIBS="$CORE_LIBS $PCRE/pcre_compile.o"
- CORE_LIBS="$CORE_LIBS $PCRE/pcre_exec.o"
- CORE_LIBS="$CORE_LIBS $PCRE/pcre_fullinfo.o"
- CORE_LIBS="$CORE_LIBS $PCRE/pcre_globals.o"
- CORE_LIBS="$CORE_LIBS $PCRE/pcre_tables.o"
- CORE_LIBS="$CORE_LIBS $PCRE/pcre_try_flipped.o"
- CORE_LIBS="$CORE_LIBS $PCRE/pcre_newline.o"
- ;;
- esac
- ;;
- *)
- have=NGX_PCRE . auto/have
- if [ "$NGX_PLATFORM" = win32 ]; then
- have=PCRE_STATIC . auto/have
- fi
- CORE_DEPS="$CORE_DEPS $PCRE/pcre.h"
- LINK_DEPS="$LINK_DEPS $PCRE/.libs/libpcre.a"
- CORE_LIBS="$CORE_LIBS $PCRE/.libs/libpcre.a"
- ;;
- esac
- if [ $PCRE_JIT = YES ]; then
- have=NGX_HAVE_PCRE_JIT . auto/have
- PCRE_CONF_OPT="$PCRE_CONF_OPT --enable-jit"
- fi
- else
- if [ "$NGX_PLATFORM" != win32 ]; then
- PCRE=NO
- ngx_feature="PCRE library"
- ngx_feature_name="NGX_PCRE"
- ngx_feature_run=no
- ngx_feature_incs="#include <pcre.h>"
- ngx_feature_path=
- ngx_feature_libs="-lpcre"
- ngx_feature_test="pcre *re;
- re = pcre_compile(NULL, 0, NULL, 0, NULL);
- if (re == NULL) return 1"
- . auto/feature
- if [ $ngx_found = no ]; then
- # FreeBSD port
- ngx_feature="PCRE library in /usr/local/"
- ngx_feature_path="/usr/local/include"
- if [ $NGX_RPATH = YES ]; then
- ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -lpcre"
- else
- ngx_feature_libs="-L/usr/local/lib -lpcre"
- fi
- . auto/feature
- fi
- if [ $ngx_found = no ]; then
- # RedHat RPM, Solaris package
- ngx_feature="PCRE library in /usr/include/pcre/"
- ngx_feature_path="/usr/include/pcre"
- ngx_feature_libs="-lpcre"
- . auto/feature
- fi
- if [ $ngx_found = no ]; then
- # NetBSD port
- ngx_feature="PCRE library in /usr/pkg/"
- ngx_feature_path="/usr/pkg/include"
- if [ $NGX_RPATH = YES ]; then
- ngx_feature_libs="-R/usr/pkg/lib -L/usr/pkg/lib -lpcre"
- else
- ngx_feature_libs="-L/usr/pkg/lib -lpcre"
- fi
- . auto/feature
- fi
- if [ $ngx_found = no ]; then
- # MacPorts
- ngx_feature="PCRE library in /opt/local/"
- ngx_feature_path="/opt/local/include"
- if [ $NGX_RPATH = YES ]; then
- ngx_feature_libs="-R/opt/local/lib -L/opt/local/lib -lpcre"
- else
- ngx_feature_libs="-L/opt/local/lib -lpcre"
- fi
- . auto/feature
- fi
- if [ $ngx_found = yes ]; then
- CORE_INCS="$CORE_INCS $ngx_feature_path"
- CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
- PCRE=YES
- fi
- if [ $PCRE = YES ]; then
- ngx_feature="PCRE JIT support"
- ngx_feature_name="NGX_HAVE_PCRE_JIT"
- ngx_feature_test="int jit = 0;
- pcre_free_study(NULL);
- pcre_config(PCRE_CONFIG_JIT, &jit);
- if (jit != 1) return 1;"
- . auto/feature
- if [ $ngx_found = yes ]; then
- PCRE_JIT=YES
- fi
- fi
- fi
- if [ $PCRE != YES ]; then
- cat << END
- $0: error: the HTTP rewrite module requires the PCRE library.
- You can either disable the module by using --without-http_rewrite_module
- option, or install the PCRE library into the system, or build the PCRE library
- statically from the source with nginx by using --with-pcre=<path> option.
- END
- exit 1
- fi
- fi
|