view auto/lib/md5/conf @ 5358:670ceaba03d8

Win32: Open Watcom C compatibility fixes. Precompiled headers are disabled as they lead to internal compiler errors with long configure lines. Couple of false positive warnings silenced. Various win32 typedefs are adjusted to work with Open Watcom C 1.9 headers. With this patch, it's now again possible to compile nginx using owc386, with options we normally compile on win32 minus ipv6 and ssl.
author Maxim Dounin <mdounin@mdounin.ru>
date Wed, 04 Sep 2013 20:48:22 +0400
parents b0a616778038
children 78f8ac479735
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="md5 in 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="md5 in 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="md5 in system OpenSSL 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