|  | 
 | # Copyright (C) Igor Sysoev | 
 | # Copyright (C) Nginx, Inc. | 
 |  | 
 |  | 
 | if [ $PCRE != NONE ]; then | 
 |  | 
 |     if [ -f $PCRE/src/pcre2.h.generic ]; then | 
 |  | 
 |         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" | 
 |  | 
 |         case "$NGX_CC_NAME" in | 
 |  | 
 |             msvc) | 
 |                 LINK_DEPS="$LINK_DEPS $PCRE/src/pcre2-8.lib" | 
 |                 CORE_LIBS="$CORE_LIBS $PCRE/src/pcre2-8.lib" | 
 |             ;; | 
 |  | 
 |             *) | 
 |                 LINK_DEPS="$LINK_DEPS $PCRE/.libs/libpcre2-8.a" | 
 |                 CORE_LIBS="$CORE_LIBS $PCRE/.libs/libpcre2-8.a" | 
 |             ;; | 
 |  | 
 |         esac | 
 |  | 
 |     else | 
 |  | 
 |         PCRE_LIBRARY=PCRE | 
 |  | 
 |         have=NGX_PCRE . auto/have | 
 |  | 
 |         if [ "$NGX_PLATFORM" = win32 ]; then | 
 |             have=PCRE_STATIC . auto/have | 
 |         fi | 
 |  | 
 |         CORE_INCS="$CORE_INCS $PCRE" | 
 |         CORE_DEPS="$CORE_DEPS $PCRE/pcre.h" | 
 |  | 
 |         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 | 
 |  | 
 |     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 | 
 |     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 | 
 |  | 
 |         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 | 
 |             PCRE_LIBRARY=PCRE | 
 |         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 |