view auto/lib/md5/conf @ 5360:3d2d3e1cf427

Win32: MinGW GCC compatibility. Several warnings silenced, notably (ngx_socket_t) -1 is now checked on socket operations instead of -1, as ngx_socket_t is unsigned on win32 and gcc complains on comparison. With this patch, it's now possible to compile nginx using mingw gcc, with options we normally compile on win32.
author Maxim Dounin <mdounin@mdounin.ru>
date Wed, 04 Sep 2013 20:48:28 +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