
# 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
