Detect dynamically linked OpenSSL libraries.

This commit is contained in:
Ray Satiro 2011-04-16 18:49:07 +02:00 committed by Giuseppe Scrivano
parent f6e69baa3c
commit 918be06e06
2 changed files with 52 additions and 6 deletions

View File

@ -1,3 +1,9 @@
2011-04-16 Ray Satiro <raysatiro@yahoo.com>
2011-04-16 Giuseppe Scrivano <gscrivano@gnu.org>
* configure.ac: Detect dynamically linked OpenSSL libraries under
mingw32.
2011-04-14 Giuseppe Scrivano <gscrivano@gnu.org>
* bootstrap: Update from gnulib.

View File

@ -220,10 +220,12 @@ WGET_NANOSLEEP
WGET_POSIX_CLOCK
WGET_NSL_SOCKET
AM_CONDITIONAL(HAVE_WINDRES, env windres > /dev/null)
dnl Deal with specific hosts
case $host_os in
*mingw32* )
LIBS+='-lws2_32 -lgdi32'
LIBS+=' -lws2_32'
AC_LIBOBJ([mswindows])
;;
esac
@ -234,6 +236,9 @@ dnl Checks for libraries.
dnl
AS_IF([test x"$with_ssl" = xopenssl], [
dnl some versions of openssl use zlib compression
AC_CHECK_LIB(z, compress)
dnl As of this writing (OpenSSL 0.9.6), the libcrypto shared library
dnl doesn't record its dependency on libdl, so we need to make sure
dnl -ldl ends up in LIBS on systems that have it. Most OSes use
@ -242,11 +247,46 @@ AS_IF([test x"$with_ssl" = xopenssl], [
AC_CHECK_LIB(dl, shl_load)
])
AC_CHECK_LIB(z, compress)
AC_CHECK_LIB(crypto, EVP_MD_CTX_init)
AC_CHECK_LIB(ssl, ERR_func_error_string,,
AC_MSG_ERROR([openssl development libraries not found]))
AC_LIBOBJ([openssl])
case $host_os in
*mingw32* )
dnl prefer link to openssl dlls if possible. if not then fallback on static libs. if not then error
AC_CHECK_LIB(eay32, EVP_MD_CTX_init)
if test x"$ac_cv_lib_eay32_EVP_MD_CTX_init" != xno
then
AC_CHECK_LIB(ssl32, SSL_connect,,
AC_MSG_ERROR([openssl not found: shared lib eay32 found but ssl32 not found]))
AC_MSG_NOTICE([Enabling support for SSL via OpenSSL (shared)])
else
case $host_os in
*mingw32* )
LIBS+=' -lgdi32'
;;
esac
dnl fallback and test static libs
AC_CHECK_LIB(crypto, EVP_MD_CTX_init,,,)
if test x"$ac_cv_lib_crypto_EVP_MD_CTX_init" != xno
then
AC_CHECK_LIB(ssl, SSL_connect,, AC_MSG_ERROR([openssl not found]))
AC_MSG_NOTICE([Enabling support for SSL via OpenSSL])
else
AC_MSG_ERROR([openssl not found: shared (eay32/ssl32) or static (crypto/ssl) libs needed])
fi
fi
dnl add zdll lib as dep for above tests?
;;
*)
AC_CHECK_LIB(crypto, EVP_MD_CTX_init)
AC_CHECK_LIB(ssl, ERR_func_error_string,,
AC_MSG_ERROR([openssl development libraries not found]))
AC_MSG_NOTICE([Enabling support for SSL via OpenSSL (static)])
;;
esac
AC_LIBOBJ([openssl])
], [
# --with-ssl is not gnutls: check if it's no
AS_IF([test x"$with_ssl" != xno], [