|  |  | 
|  | # Copyright (C) Igor Sysoev | 
|  |  | 
|  |  | 
|  | if [ $PCRE != NONE ]; then | 
|  | CORE_INCS="$CORE_INCS $PCRE" | 
|  | CORE_DEPS="$CORE_DEPS $REGEX_DEPS" | 
|  | CORE_SRCS="$CORE_SRCS $REGEX_SRCS" | 
|  |  | 
|  | 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 | 
|  | CORE_DEPS="$CORE_DEPS $PCRE/pcre.h" | 
|  | LINK_DEPS="$LINK_DEPS $PCRE/.libs/libpcre.a" | 
|  | CORE_LIBS="$CORE_LIBS $PCRE/.libs/libpcre.a" | 
|  | ;; | 
|  |  | 
|  | esac | 
|  |  | 
|  | 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)" | 
|  | . 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_DEPS="$CORE_DEPS $REGEX_DEPS" | 
|  | CORE_SRCS="$CORE_SRCS $REGEX_SRCS" | 
|  | CORE_INCS="$CORE_INCS $ngx_feature_path" | 
|  | CORE_LIBS="$CORE_LIBS $ngx_feature_libs" | 
|  | PCRE=YES | 
|  | else | 
|  |  | 
|  | 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 | 
|  | fi |