mirror of https://github.com/nginx/nginx
An official read-only mirror of http://hg.nginx.org/nginx/ which is updated hourly. Pull requests on GitHub cannot be accepted and will be automatically closed. The proper way to submit changes to nginx is via the nginx development mailing list, see http:
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
203 lines
5.8 KiB
203 lines
5.8 KiB
|
|
# 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
|
|
|