view auto/lib/openssl/conf @ 2940:cb3d4dc8c6db stable-0.7

merge r2893, r2894, and r2917: various ./configure fixes: *) use md5/sha1 in OpenSSL only if OpenSSL is used *) stop ./configure at once on library failure *) librt must be tested before creating Makefile the bug has been introduced in r2817
author Igor Sysoev <igor@sysoev.ru>
date Mon, 15 Jun 2009 08:49:53 +0000
parents 658725e3eef4
children 83c940b0d18a
line wrap: on
line source


# Copyright (C) Igor Sysoev


if [ $OPENSSL != NONE ]; then

    case "$CC" in

        cl | bcc32)
            have=NGX_OPENSSL . auto/have
            have=NGX_SSL . auto/have

            CFLAGS="$CFLAGS -DNO_SYS_TYPES_H"

            CORE_INCS="$CORE_INCS $OPENSSL/openssl/include"
            CORE_DEPS="$CORE_DEPS $OPENSSL/openssl/include/openssl/ssl.h"
            CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/ssleay32.lib"
            CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libeay32.lib"

            # libeay32.lib requires gdi32.lib
            CORE_LIBS="$CORE_LIBS gdi32.lib"
        ;;

        *)
            have=NGX_OPENSSL . auto/have
            have=NGX_SSL . auto/have

            CORE_INCS="$CORE_INCS $OPENSSL/openssl/include"
            CORE_DEPS="$CORE_DEPS $OPENSSL/openssl/include/openssl/ssl.h"
            CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libssl.a"
            CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libcrypto.a"
            CORE_LIBS="$CORE_LIBS $NGX_LIBDL"
        ;;
    esac

else

    case "$NGX_PLATFORM" in

        win32)
            have=NGX_OPENSSL . auto/have
            have=NGX_SSL . auto/have
            OPENSSL=YES

            CORE_INCS="$CORE_INCS c:/openssl/include"
            CORE_LIBS="$CORE_LIBS c:/openssl/ssleay32.lib"
            CORE_LIBS="$CORE_LIBS c:/openssl/libeay32.lib"

            # libeay32.lib requires gdi32.lib
            CORE_LIBS="$CORE_LIBS gdi32.lib"
        ;;

        *)
            OPENSSL=NO

            ngx_feature="OpenSSL library"
            ngx_feature_name="NGX_OPENSSL"
            ngx_feature_run=no
            ngx_feature_incs="#include <openssl/ssl.h>"
            ngx_feature_path=
            ngx_feature_libs="-lssl -lcrypto"
            ngx_feature_test="SSL_library_init()"
            . auto/feature

            if [ $ngx_found = yes ]; then
                have=NGX_SSL . auto/have
                CORE_LIBS="$CORE_LIBS $ngx_feature_libs $NGX_LIBDL"
                OPENSSL=YES
            else

cat << END

$0: error: SSL modules require the OpenSSL library.
You can either do not enable the modules, or install the OpenSSL library
into the system, or build the OpenSSL library statically from the source
with nginx by using --with-openssl=<path> option.

END
                exit 1
            fi
        ;;

    esac

fi