view auto/lib/pcre/conf @ 282:675a39fd14cd NGINX_0_5_11

nginx 0.5.11 *) Feature: now configure detects system PCRE library in MacPorts. Thanks to Chris McGrath. *) Bugfix: the response was incorrect if several ranges were requested; bug appeared in 0.5.6. *) Bugfix: the "create_full_put_path" directive could not create the intermediate directories if no "dav_access" directive was set. Thanks to Evan Miller. *) Bugfix: the "0" response code might be logged in the access_log instead of the "400" and "408" error codes. *) Bugfix: a segmentation fault might occur in worker process if nginx was built with -O2 optimization.
author Igor Sysoev <http://sysoev.ru>
date Mon, 05 Feb 2007 00:00:00 +0300
parents 052a7b1d40e5
children 95183808f549
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* | sunc )
            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 [ -e $PCRE/pcre.h ]; then
                ngx_pcre_ver=`grep PCRE_MAJOR $PCRE/pcre.h \
                              | sed -e 's/^.*PCRE_MAJOR.* \(.*\)$/\1/'`

            else
                ngx_pcre_ver=`grep PCRE_MAJOR= $PCRE/configure.in \
                              | sed -e 's/^.*=\(.*\)$/\1/'`
            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