2004-02-10 04:47:18 +08:00
|
|
|
|
2004-09-30 00:00:49 +08:00
|
|
|
# Copyright (C) Igor Sysoev
|
2012-01-18 23:07:43 +08:00
|
|
|
# Copyright (C) Nginx, Inc.
|
2004-09-30 00:00:49 +08:00
|
|
|
|
|
|
|
|
2004-02-10 04:47:18 +08:00
|
|
|
if [ $PCRE != NONE ]; then
|
2021-12-25 06:07:14 +08:00
|
|
|
|
2021-12-25 06:07:15 +08:00
|
|
|
if [ -f $PCRE/src/pcre2.h.generic ]; then
|
2021-12-25 06:07:14 +08:00
|
|
|
|
2021-12-25 06:07:15 +08:00
|
|
|
PCRE_LIBRARY=PCRE2
|
|
|
|
|
|
|
|
have=NGX_PCRE . auto/have
|
|
|
|
have=NGX_PCRE2 . auto/have
|
|
|
|
|
|
|
|
if [ "$NGX_PLATFORM" = win32 ]; then
|
|
|
|
have=PCRE2_STATIC . auto/have
|
|
|
|
fi
|
|
|
|
|
|
|
|
CORE_INCS="$CORE_INCS $PCRE/src/"
|
|
|
|
CORE_DEPS="$CORE_DEPS $PCRE/src/pcre2.h"
|
2021-12-25 06:07:14 +08:00
|
|
|
|
2021-12-25 06:07:15 +08:00
|
|
|
case "$NGX_CC_NAME" in
|
2004-02-10 04:47:18 +08:00
|
|
|
|
2021-12-25 06:07:15 +08:00
|
|
|
msvc)
|
|
|
|
LINK_DEPS="$LINK_DEPS $PCRE/src/pcre2-8.lib"
|
|
|
|
CORE_LIBS="$CORE_LIBS $PCRE/src/pcre2-8.lib"
|
|
|
|
;;
|
2004-03-10 03:47:07 +08:00
|
|
|
|
2021-12-25 06:07:15 +08:00
|
|
|
*)
|
|
|
|
LINK_DEPS="$LINK_DEPS $PCRE/.libs/libpcre2-8.a"
|
|
|
|
CORE_LIBS="$CORE_LIBS $PCRE/.libs/libpcre2-8.a"
|
|
|
|
;;
|
2004-03-10 03:47:07 +08:00
|
|
|
|
2021-12-25 06:07:15 +08:00
|
|
|
esac
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
PCRE_LIBRARY=PCRE
|
|
|
|
|
|
|
|
have=NGX_PCRE . auto/have
|
|
|
|
|
|
|
|
if [ "$NGX_PLATFORM" = win32 ]; then
|
|
|
|
have=PCRE_STATIC . auto/have
|
|
|
|
fi
|
2004-03-10 03:47:07 +08:00
|
|
|
|
2021-12-25 06:07:15 +08:00
|
|
|
CORE_INCS="$CORE_INCS $PCRE"
|
|
|
|
CORE_DEPS="$CORE_DEPS $PCRE/pcre.h"
|
2004-02-10 04:47:18 +08:00
|
|
|
|
2021-12-25 06:07:15 +08:00
|
|
|
case "$NGX_CC_NAME" in
|
|
|
|
|
|
|
|
msvc | owc | bcc)
|
|
|
|
LINK_DEPS="$LINK_DEPS $PCRE/pcre.lib"
|
|
|
|
CORE_LIBS="$CORE_LIBS $PCRE/pcre.lib"
|
|
|
|
;;
|
|
|
|
|
|
|
|
*)
|
|
|
|
LINK_DEPS="$LINK_DEPS $PCRE/.libs/libpcre.a"
|
|
|
|
CORE_LIBS="$CORE_LIBS $PCRE/.libs/libpcre.a"
|
|
|
|
;;
|
|
|
|
|
|
|
|
esac
|
|
|
|
fi
|
2011-12-26 21:10:36 +08:00
|
|
|
|
|
|
|
if [ $PCRE_JIT = YES ]; then
|
|
|
|
have=NGX_HAVE_PCRE_JIT . auto/have
|
|
|
|
PCRE_CONF_OPT="$PCRE_CONF_OPT --enable-jit"
|
|
|
|
fi
|
|
|
|
|
2004-02-10 04:47:18 +08:00
|
|
|
else
|
|
|
|
|
2005-02-22 22:40:13 +08:00
|
|
|
if [ "$NGX_PLATFORM" != win32 ]; then
|
2004-10-21 23:34:38 +08:00
|
|
|
PCRE=NO
|
2021-12-25 06:07:15 +08:00
|
|
|
fi
|
|
|
|
|
|
|
|
if [ $PCRE = NO -a $PCRE2 != DISABLED ]; then
|
|
|
|
|
|
|
|
ngx_feature="PCRE2 library"
|
|
|
|
ngx_feature_name="NGX_PCRE2"
|
|
|
|
ngx_feature_run=no
|
|
|
|
ngx_feature_incs="#define PCRE2_CODE_UNIT_WIDTH 8
|
|
|
|
#include <pcre2.h>"
|
|
|
|
ngx_feature_path=
|
|
|
|
ngx_feature_libs="-lpcre2-8"
|
|
|
|
ngx_feature_test="pcre2_code *re;
|
|
|
|
re = pcre2_compile(NULL, 0, 0, NULL, NULL, NULL);
|
|
|
|
if (re == NULL) return 1"
|
|
|
|
. auto/feature
|
|
|
|
|
|
|
|
if [ $ngx_found = no ]; then
|
|
|
|
|
|
|
|
# pcre2-config
|
|
|
|
|
|
|
|
ngx_pcre2_prefix=`pcre2-config --prefix 2>/dev/null`
|
|
|
|
|
|
|
|
if [ -n "$ngx_pcre2_prefix" ]; then
|
|
|
|
ngx_feature="PCRE2 library in $ngx_pcre2_prefix"
|
|
|
|
ngx_feature_path=`pcre2-config --cflags \
|
|
|
|
| sed -n -e 's/.*-I *\([^ ][^ ]*\).*/\1/p'`
|
|
|
|
ngx_feature_libs=`pcre2-config --libs8`
|
|
|
|
. auto/feature
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ $ngx_found = yes ]; then
|
|
|
|
have=NGX_PCRE . auto/have
|
|
|
|
CORE_INCS="$CORE_INCS $ngx_feature_path"
|
|
|
|
CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
|
|
|
|
PCRE=YES
|
|
|
|
PCRE_LIBRARY=PCRE2
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ $PCRE = NO ]; then
|
2004-10-21 23:34:38 +08:00
|
|
|
|
|
|
|
ngx_feature="PCRE library"
|
2004-11-26 00:17:31 +08:00
|
|
|
ngx_feature_name="NGX_PCRE"
|
2004-10-21 23:34:38 +08:00
|
|
|
ngx_feature_run=no
|
|
|
|
ngx_feature_incs="#include <pcre.h>"
|
2006-11-27 19:07:09 +08:00
|
|
|
ngx_feature_path=
|
2004-10-21 23:34:38 +08:00
|
|
|
ngx_feature_libs="-lpcre"
|
2012-03-28 00:44:52 +08:00
|
|
|
ngx_feature_test="pcre *re;
|
|
|
|
re = pcre_compile(NULL, 0, NULL, 0, NULL);
|
|
|
|
if (re == NULL) return 1"
|
2004-10-21 23:34:38 +08:00
|
|
|
. auto/feature
|
2004-02-10 04:47:18 +08:00
|
|
|
|
2008-05-16 22:32:58 +08:00
|
|
|
if [ $ngx_found = no ]; then
|
2006-11-27 19:07:09 +08:00
|
|
|
|
|
|
|
# FreeBSD port
|
|
|
|
|
|
|
|
ngx_feature="PCRE library in /usr/local/"
|
|
|
|
ngx_feature_path="/usr/local/include"
|
2007-09-19 20:14:05 +08:00
|
|
|
|
|
|
|
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
|
|
|
|
|
2006-11-27 19:07:09 +08:00
|
|
|
. auto/feature
|
2004-03-10 03:47:07 +08:00
|
|
|
fi
|
2006-11-27 19:07:09 +08:00
|
|
|
|
2008-05-16 22:32:58 +08:00
|
|
|
if [ $ngx_found = no ]; then
|
2006-11-27 19:07:09 +08:00
|
|
|
|
2008-08-04 22:54:12 +08:00
|
|
|
# RedHat RPM, Solaris package
|
2006-11-27 19:07:09 +08:00
|
|
|
|
2008-05-16 22:32:58 +08:00
|
|
|
ngx_feature="PCRE library in /usr/include/pcre/"
|
|
|
|
ngx_feature_path="/usr/include/pcre"
|
|
|
|
ngx_feature_libs="-lpcre"
|
|
|
|
|
|
|
|
. auto/feature
|
2006-11-27 19:07:09 +08:00
|
|
|
fi
|
|
|
|
|
2008-05-16 22:32:58 +08:00
|
|
|
if [ $ngx_found = no ]; then
|
2006-11-27 19:07:09 +08:00
|
|
|
|
|
|
|
# NetBSD port
|
|
|
|
|
2008-05-16 22:32:58 +08:00
|
|
|
ngx_feature="PCRE library in /usr/pkg/"
|
|
|
|
ngx_feature_path="/usr/pkg/include"
|
2007-09-19 20:14:05 +08:00
|
|
|
|
2008-05-16 22:32:58 +08:00
|
|
|
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"
|
2006-11-27 19:12:34 +08:00
|
|
|
fi
|
2008-05-16 22:32:58 +08:00
|
|
|
|
|
|
|
. auto/feature
|
2006-11-27 19:07:09 +08:00
|
|
|
fi
|
|
|
|
|
2008-05-16 22:32:58 +08:00
|
|
|
if [ $ngx_found = no ]; then
|
2007-01-28 03:51:00 +08:00
|
|
|
|
|
|
|
# MacPorts
|
|
|
|
|
2008-05-16 22:32:58 +08:00
|
|
|
ngx_feature="PCRE library in /opt/local/"
|
|
|
|
ngx_feature_path="/opt/local/include"
|
2007-09-19 20:14:05 +08:00
|
|
|
|
2008-05-16 22:32:58 +08:00
|
|
|
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"
|
2007-01-28 03:51:00 +08:00
|
|
|
fi
|
2008-05-16 22:32:58 +08:00
|
|
|
|
|
|
|
. auto/feature
|
2007-01-28 03:51:00 +08:00
|
|
|
fi
|
|
|
|
|
2006-11-27 19:07:09 +08:00
|
|
|
if [ $ngx_found = yes ]; then
|
|
|
|
CORE_INCS="$CORE_INCS $ngx_feature_path"
|
|
|
|
CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
|
|
|
|
PCRE=YES
|
2021-12-25 06:07:15 +08:00
|
|
|
PCRE_LIBRARY=PCRE
|
2010-07-08 23:57:36 +08:00
|
|
|
fi
|
2011-12-26 21:10:36 +08:00
|
|
|
|
2011-12-29 23:58:53 +08:00
|
|
|
if [ $PCRE = YES ]; then
|
2011-12-26 21:10:36 +08:00
|
|
|
ngx_feature="PCRE JIT support"
|
|
|
|
ngx_feature_name="NGX_HAVE_PCRE_JIT"
|
|
|
|
ngx_feature_test="int jit = 0;
|
2012-12-12 21:50:07 +08:00
|
|
|
pcre_free_study(NULL);
|
2011-12-26 21:10:36 +08:00
|
|
|
pcre_config(PCRE_CONFIG_JIT, &jit);
|
|
|
|
if (jit != 1) return 1;"
|
|
|
|
. auto/feature
|
|
|
|
|
|
|
|
if [ $ngx_found = yes ]; then
|
|
|
|
PCRE_JIT=YES
|
|
|
|
fi
|
|
|
|
fi
|
2010-07-08 23:57:36 +08:00
|
|
|
fi
|
2009-05-26 22:28:49 +08:00
|
|
|
|
2010-07-08 23:57:36 +08:00
|
|
|
if [ $PCRE != YES ]; then
|
2009-05-26 22:28:49 +08:00
|
|
|
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
|
2010-07-08 23:57:36 +08:00
|
|
|
exit 1
|
2004-02-10 04:47:18 +08:00
|
|
|
fi
|
2010-07-08 23:57:36 +08:00
|
|
|
|
2004-02-10 04:47:18 +08:00
|
|
|
fi
|