view auto/lib/pcre/conf @ 320:95183808f549 NGINX_0_6_4

nginx 0.6.4 *) Security: the "msie_refresh" directive allowed XSS. Thanks to Maxim Boguk. *) Change: the "proxy_store" and "fastcgi_store" directives were changed. *) Feature: the "proxy_store_access" and "fastcgi_store_access" directives. *) Bugfix: nginx did not work on Solaris/sparc64 if it was built by Sun Studio. Thanks to Andrei Nigmatulin. *) Workaround: for Sun Studio 12. Thanks to Jiang Hong.
author Igor Sysoev <http://sysoev.ru>
date Tue, 17 Jul 2007 00:00:00 +0400
parents 675a39fd14cd
children d16d691432c9
line wrap: on
line source


# 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.h ]; 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"
            #CORE_LIBS="$CORE_LIBS -L $PCRE/.libs -lpcre"
        ;;

    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 = yes ]; then
            CORE_DEPS="$CORE_DEPS $REGEX_DEPS"
            CORE_SRCS="$CORE_SRCS $REGEX_SRCS"
            CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
            PCRE=YES
            ngx_found=no

        else
            # FreeBSD port

            ngx_feature="PCRE library in /usr/local/"
            ngx_feature_name="NGX_PCRE"
            ngx_feature_run=no
            ngx_feature_incs="#include <pcre.h>"
            ngx_feature_path="/usr/local/include"
            ngx_feature_libs="-L /usr/local/lib -lpcre"
            ngx_feature_test="pcre *re;
                              re = pcre_compile(NULL, 0, NULL, 0, NULL)"
            . 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
            ngx_found=no

        else
            # Linux package

            if [ $PCRE = NO ]; then

                ngx_feature="PCRE library in /usr/include/pcre/"
                ngx_feature_name="NGX_PCRE"
                ngx_feature_run=no
                ngx_feature_incs="#include <pcre.h>"
                ngx_feature_path="/usr/include/pcre"
                ngx_feature_libs="-lpcre"
                ngx_feature_test="pcre *re;
                                  re = pcre_compile(NULL, 0, NULL, 0, NULL)"
                . auto/feature
            fi
        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
            ngx_found=no

        else
            # NetBSD port

            if [ $PCRE = NO ]; then

                ngx_feature="PCRE library in /usr/pkg/"
                ngx_feature_name="NGX_PCRE"
                ngx_feature_run=no
                ngx_feature_incs="#include <pcre.h>"
                ngx_feature_path="/usr/pkg/include"
                ngx_feature_libs="-L /usr/pkg/lib -lpcre"
                ngx_feature_test="pcre *re;
                                  re = pcre_compile(NULL, 0, NULL, 0, NULL)"
                . auto/feature
            fi
        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
            ngx_found=no

        else
            # MacPorts

            if [ $PCRE = NO ]; then

                ngx_feature="PCRE library in /opt/local/"
                ngx_feature_name="NGX_PCRE"
                ngx_feature_run=no
                ngx_feature_incs="#include <pcre.h>"
                ngx_feature_path="/opt/local/include"
                ngx_feature_libs="-L/opt/local/lib -lpcre"
                ngx_feature_test="pcre *re;
                                  re = pcre_compile(NULL, 0, NULL, 0, NULL)"
                . auto/feature
            fi
        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
            ngx_found=no
        fi

    fi
fi