| |
| # 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 . $NGX_AUTO/have |
| have=NGX_PCRE2 . $NGX_AUTO/have |
| |
| if [ "$NGX_PLATFORM" = win32 ]; then |
| have=PCRE2_STATIC . $NGX_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 . $NGX_AUTO/have |
| |
| if [ "$NGX_PLATFORM" = win32 ]; then |
| have=PCRE_STATIC . $NGX_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 . $NGX_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" |
| . $NGX_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` |
| . $NGX_AUTO/feature |
| fi |
| fi |
| |
| if [ $ngx_found = yes ]; then |
| have=NGX_PCRE . $NGX_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" |
| . $NGX_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 |
| |
| . $NGX_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" |
| |
| . $NGX_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 |
| |
| . $NGX_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 |
| |
| . $NGX_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;" |
| . $NGX_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 |