[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug-wget] [PATCH 4/5] use pkg-config to check openssl deps if available
From: |
Mike Frysinger |
Subject: |
[Bug-wget] [PATCH 4/5] use pkg-config to check openssl deps if available |
Date: |
Mon, 27 Oct 2014 14:55:24 -0400 |
Newer versions of these packages ship with pkg-config files, so if we can
detect it via those, do so. If that fails, fall back to the old methods.
---
configure.ac | 100 ++++++++++++++++++++++++++++++++---------------------------
1 file changed, 54 insertions(+), 46 deletions(-)
diff --git a/configure.ac b/configure.ac
index 8d2050e..ec55fbb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -258,42 +258,50 @@ AS_IF([test x"$with_zlib" != xno], [
])
AS_IF([test x"$with_ssl" = xopenssl], [
- 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
- dnl dlopen(), but HP-UX uses shl_load().
- AC_CHECK_LIB(dl, dlopen, [], [
- AC_CHECK_LIB(dl, shl_load)
- ])
-
- ssl_found=no
- case $host_os in
- *mingw32* )
- dnl prefer link to openssl dlls if possible. if not then fallback on
static libs. if not then error
+ PKG_CHECK_MODULES([OPENSSL], [openssl], [
+ AC_MSG_NOTICE([compiling in support for SSL via OpenSSL])
+ AC_LIBOBJ([openssl])
+ LIBS="$OPENSSL_LIBS $LIBS"
+ CFLAGS="$OPENSSL_CFLAGS -DHAVE_LIBSSL $CFLAGS"
+ LIBSSL=" " # ntlm check below wants this
+ AC_DEFINE([HAVE_LIBSSL], [1], [Define if using openssl.])
+ ], [
+ 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
+ dnl dlopen(), but HP-UX uses shl_load().
+ AC_CHECK_LIB(dl, dlopen, [], [
+ AC_CHECK_LIB(dl, shl_load)
+ ])
- 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, [
- ssl_found=yes
- AC_MSG_NOTICE([Enabling support for SSL via OpenSSL (shared)])
- AC_LIBOBJ([openssl])
- LIBS="${LIBS} -lssl32"
- AC_DEFINE([HAVE_LIBSSL32], [1], [Define to 1 if you have the `ssl32'
library (-lssl32).])
- ],
- AC_MSG_ERROR([openssl not found: shared lib eay32 found but ssl32 not
found]))
-
- else
- LIBS+=' -lgdi32'
- dnl fallback and test static libs
- fi
- dnl add zdll lib as dep for above tests?
- ;;
- esac
+ ssl_found=no
+ 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, [
+ ssl_found=yes
+ AC_MSG_NOTICE([Enabling support for SSL via OpenSSL (shared)])
+ AC_LIBOBJ([openssl])
+ LIBS="${LIBS} -lssl32"
+ AC_DEFINE([HAVE_LIBSSL32], [1], [Define to 1 if you have the
`ssl32' library (-lssl32).])
+ ],
+ AC_MSG_ERROR([openssl not found: shared lib eay32 found but ssl32
not found]))
+
+ else
+ LIBS+=' -lgdi32'
+ dnl fallback and test static libs
+ fi
+ dnl add zdll lib as dep for above tests?
+ ;;
+ esac
- AS_IF([test x$ssl_found != xyes], [
- dnl Now actually check for -lssl if it wasn't already found
- AC_LIB_HAVE_LINKFLAGS([ssl], [crypto], [
+ AS_IF([test x$ssl_found != xyes], [
+ dnl Now actually check for -lssl if it wasn't already found
+ AC_LIB_HAVE_LINKFLAGS([ssl], [crypto], [
#include <openssl/ssl.h>
#include <openssl/x509.h>
#include <openssl/err.h>
@@ -301,19 +309,19 @@ AS_IF([test x"$with_ssl" = xopenssl], [
#include <openssl/des.h>
#include <openssl/md4.h>
#include <openssl/md5.h>
- ], [SSL_library_init ()])
- if test x"$LIBSSL" != x
- then
- ssl_found=yes
- AC_MSG_NOTICE([compiling in support for SSL via OpenSSL])
- AC_LIBOBJ([openssl])
- LIBS="$LIBSSL $LIBS"
- elif test x"$with_ssl" != x
- then
- AC_MSG_ERROR([--with-ssl=openssl was given, but SSL is not available.])
- fi
+ ], [SSL_library_init ()])
+ if test x"$LIBSSL" != x
+ then
+ ssl_found=yes
+ AC_MSG_NOTICE([compiling in support for SSL via OpenSSL])
+ AC_LIBOBJ([openssl])
+ LIBS="$LIBSSL $LIBS"
+ elif test x"$with_ssl" != x
+ then
+ AC_MSG_ERROR([--with-ssl=openssl was given, but SSL is not available.])
+ fi
+ ])
])
-
], [
# --with-ssl is not openssl: check if it's no
AS_IF([test x"$with_ssl" != xno], [
--
2.1.2