view auto/lib/md5/conf @ 5106:afee87b8190a

SSL: Next Protocol Negotiation extension support. Not only this is useful for the upcoming SPDY support, but it can also help to improve HTTPS performance by enabling TLS False Start in Chrome/Chromium browsers [1]. So, we always enable NPN for HTTPS if it is supported by OpenSSL. [1] http://www.imperialviolet.org/2012/04/11/falsestart.html
author Valentin Bartenev <vbart@nginx.com>
date Thu, 07 Mar 2013 18:21:28 +0000
parents d620f497c50f
children b0a616778038
line wrap: on
line source


# Copyright (C) Igor Sysoev
# Copyright (C) Nginx, Inc.


if [ $MD5 != NONE ]; then

    if grep MD5_Init $MD5/md5.h 2>&1 >/dev/null; then
        # OpenSSL md5
        OPENSSL_MD5=YES
        have=NGX_HAVE_OPENSSL_MD5 . auto/have
        have=NGX_OPENSSL_MD5 . auto/have
    else
        # rsaref md5
        OPENSSL_MD5=NO
    fi

    have=NGX_HAVE_MD5 . auto/have
    CORE_INCS="$CORE_INCS $MD5"

    case "$NGX_CC_NAME" in

        msvc* | owc* | bcc)
            LINK_DEPS="$LINK_DEPS $MD5/md5.lib"
            CORE_LIBS="$CORE_LIBS $MD5/md5.lib"
        ;;

        icc*)
            LINK_DEPS="$LINK_DEPS $MD5/libmd5.a"

            # to allow -ipo optimization we link with the *.o but not library
            CORE_LIBS="$CORE_LIBS $MD5/md5_dgst.o"

            if [ $MD5_ASM = YES ]; then
                CORE_LIBS="$CORE_LIBS $MD5/asm/mx86-elf.o"
            fi
        ;;

        *)
            LINK_DEPS="$LINK_DEPS $MD5/libmd5.a"
            CORE_LIBS="$CORE_LIBS $MD5/libmd5.a"
            #CORE_LIBS="$CORE_LIBS -L $MD5 -lmd5"
        ;;

    esac

else

    if [ "$NGX_PLATFORM" != win32 ]; then

            MD5=NO

            # FreeBSD, Solaris 10

            ngx_feature="system md library"
            ngx_feature_name=NGX_HAVE_MD5
            ngx_feature_run=no
            ngx_feature_incs="#include <md5.h>"
            ngx_feature_path=
            ngx_feature_libs="-lmd"
            ngx_feature_test="MD5_CTX md5; MD5Init(&md5)"
            . auto/feature

            ngx_md5_lib="system md"

        if [ $ngx_found = no ]; then

            # Solaris 8/9

            ngx_feature="system md5 library"
            ngx_feature_libs="-lmd5"
            . auto/feature

            ngx_md5_lib="system md5"
        fi

        if [ $ngx_found = no ]; then

            # OpenSSL crypto library

            ngx_feature="OpenSSL md5 crypto library"
            ngx_feature_name="NGX_OPENSSL_MD5"
            ngx_feature_incs="#include <openssl/md5.h>"
            ngx_feature_libs="-lcrypto"
            ngx_feature_test="MD5_CTX md5; MD5_Init(&md5)"
            . auto/feature

            ngx_md5_lib="system crypto"

            if [ $ngx_found = yes ]; then
                have=NGX_HAVE_OPENSSL_MD5_H . auto/have
                have=NGX_HAVE_MD5 . auto/have
            fi
        fi

        if [ $ngx_found = yes ]; then
            CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
            MD5=YES
            MD5_LIB=$ngx_md5_lib
        fi
    fi

fi