Router: matching regular expressions support.
This commit is contained in:
@@ -35,6 +35,8 @@ cat << END
|
||||
|
||||
--no-ipv6 disable IPv6 support
|
||||
--no-unix-sockets disable Unix domain sockets support
|
||||
--no-regex disable regular expression support
|
||||
--no-pcre2 force using PCRE library
|
||||
|
||||
--openssl enable OpenSSL library usage
|
||||
|
||||
|
||||
10
auto/options
10
auto/options
@@ -16,8 +16,11 @@ NXT_DEBUG=NO
|
||||
NXT_INET6=YES
|
||||
NXT_UNIX_DOMAIN=YES
|
||||
|
||||
NXT_REGEX=NO
|
||||
NXT_PCRE=NO
|
||||
NXT_PCRE_CFLAGS=
|
||||
NXT_PCRE_LIB=
|
||||
|
||||
NXT_REGEX=YES
|
||||
NXT_TRY_PCRE2=YES
|
||||
|
||||
NXT_TLS=NO
|
||||
NXT_OPENSSL=NO
|
||||
@@ -73,7 +76,8 @@ do
|
||||
--no-ipv6) NXT_INET6=NO ;;
|
||||
--no-unix-sockets) NXT_UNIX_DOMAIN=NO ;;
|
||||
|
||||
--pcre) NXT_PCRE=YES ;;
|
||||
--no-regex) NXT_REGEX=NO ;;
|
||||
--no-pcre2) NXT_TRY_PCRE2=NO ;;
|
||||
|
||||
--openssl) NXT_OPENSSL=YES ;;
|
||||
--gnutls) NXT_GNUTLS=YES ;;
|
||||
|
||||
62
auto/pcre
62
auto/pcre
@@ -3,15 +3,41 @@
|
||||
# Copyright (C) NGINX, Inc.
|
||||
|
||||
|
||||
NXT_REGEX=NO
|
||||
NXT_PCRE_CFLAGS=
|
||||
NXT_PCRE_LIB=
|
||||
nxt_found=no
|
||||
NXT_HAVE_PCRE2=NO
|
||||
|
||||
if [ $NXT_TRY_PCRE2 = YES ]; then
|
||||
if /bin/sh -c "(pcre2-config --version)" >> $NXT_AUTOCONF_ERR 2>&1; then
|
||||
|
||||
if [ $NXT_PCRE = YES ]; then
|
||||
NXT_PCRE_CFLAGS=`pcre2-config --cflags`
|
||||
NXT_PCRE_LIB=`pcre2-config --libs8`
|
||||
|
||||
nxt_found=no
|
||||
nxt_feature="PCRE2 library"
|
||||
nxt_feature_name=NXT_HAVE_PCRE2
|
||||
nxt_feature_run=no
|
||||
nxt_feature_incs="-DPCRE2_CODE_UNIT_WIDTH=8 $NXT_PCRE_CFLAGS"
|
||||
nxt_feature_libs=$NXT_PCRE_LIB
|
||||
nxt_feature_test="#include <pcre2.h>
|
||||
|
||||
int main(void) {
|
||||
pcre2_code *re;
|
||||
|
||||
re = pcre2_compile((PCRE2_SPTR)\"\",
|
||||
PCRE2_ZERO_TERMINATED, 0,
|
||||
NULL, NULL, NULL);
|
||||
return (re == NULL);
|
||||
}"
|
||||
|
||||
. auto/feature
|
||||
|
||||
if [ $nxt_found = yes ]; then
|
||||
NXT_HAVE_PCRE2=YES
|
||||
$echo " + PCRE2 version: `pcre2-config --version`"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $nxt_found = no ]; then
|
||||
if /bin/sh -c "(pcre-config --version)" >> $NXT_AUTOCONF_ERR 2>&1; then
|
||||
|
||||
NXT_PCRE_CFLAGS=`pcre-config --cflags`
|
||||
@@ -33,17 +59,19 @@ if [ $NXT_PCRE = YES ]; then
|
||||
return 0;
|
||||
}"
|
||||
. auto/feature
|
||||
|
||||
if [ $nxt_found = yes ]; then
|
||||
$echo " + PCRE version: `pcre-config --version`"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $nxt_found = no ]; then
|
||||
$echo
|
||||
$echo $0: error: no PCRE library found.
|
||||
$echo
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
NXT_REGEX=YES
|
||||
nxt_have=NXT_REGEX . auto/have
|
||||
|
||||
$echo " + PCRE version: `pcre-config --version`"
|
||||
fi
|
||||
|
||||
if [ $nxt_found = yes ]; then
|
||||
nxt_have=NXT_HAVE_REGEX . auto/have
|
||||
|
||||
else
|
||||
$echo
|
||||
$echo $0: error: no PCRE library found.
|
||||
$echo
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
11
auto/sources
11
auto/sources
@@ -128,6 +128,9 @@ NXT_LIB_GNUTLS_SRCS="src/nxt_gnutls.c"
|
||||
NXT_LIB_CYASSL_SRCS="src/nxt_cyassl.c"
|
||||
NXT_LIB_POLARSSL_SRCS="src/nxt_polarssl.c"
|
||||
|
||||
NXT_LIB_PCRE_SRCS="src/nxt_pcre.c"
|
||||
NXT_LIB_PCRE2_SRCS="src/nxt_pcre2.c"
|
||||
|
||||
NXT_LIB_EPOLL_SRCS="src/nxt_epoll_engine.c"
|
||||
NXT_LIB_KQUEUE_SRCS="src/nxt_kqueue_engine.c"
|
||||
NXT_LIB_EVENTPORT_SRCS="src/nxt_eventport_engine.c"
|
||||
@@ -211,6 +214,14 @@ if [ $NXT_POLARSSL = YES ]; then
|
||||
fi
|
||||
|
||||
|
||||
if [ "$NXT_REGEX" = "YES" ]; then
|
||||
if [ "$NXT_HAVE_PCRE2" = "YES" ]; then
|
||||
NXT_LIB_SRCS="$NXT_LIB_SRCS $NXT_LIB_PCRE2_SRCS"
|
||||
else
|
||||
NXT_LIB_SRCS="$NXT_LIB_SRCS $NXT_LIB_PCRE_SRCS"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$NXT_HAVE_EPOLL" = "YES" -o "$NXT_TEST_BUILD_EPOLL" = "YES" ]; then
|
||||
NXT_LIB_SRCS="$NXT_LIB_SRCS $NXT_LIB_EPOLL_SRCS"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user