78 lines
2.4 KiB
Diff
78 lines
2.4 KiB
Diff
|
From ed0c2c1b9504a99a6dcc3c0f5de3b3a1c0232758 Mon Sep 17 00:00:00 2001
|
||
|
From: Rodrigo Rebello <rprebello@gmail.com>
|
||
|
Date: Mon, 20 Mar 2017 13:17:42 -0300
|
||
|
Subject: [PATCH] Get back to using pkg-config to check for OpenSSL
|
||
|
|
||
|
Commit 6300dfec7 removed the option to disable SSL support from the
|
||
|
configure script since it became a requirement, but it also removed the
|
||
|
use of pkg-config for finding the OpenSSL library and its dependencies.
|
||
|
|
||
|
This had the unfortunate consequence of breaking the correct detection
|
||
|
of library flags in many static linking scenarios. In some cases, for
|
||
|
example, OpenSSL might have been built with zlib, which requires `-lz`
|
||
|
to be passed to the linker when doing a static link of the irssi
|
||
|
executable. Thus, pkg-config becomes an invaluable tool in such
|
||
|
situations, since no guessing work is needed as the OpenSSL .pc file
|
||
|
provides all the necessary flags.
|
||
|
|
||
|
So, this patch re-inserts the PKG_CHECK_MODULES macro in the configure
|
||
|
script when looking for OpenSSL. The test using AC_CHECK_LIB remains,
|
||
|
but only as a last resort in case the one using pkg-config fails.
|
||
|
|
||
|
Also, because the macro AM_PATH_GLIB_2_0 contains an unconditional call
|
||
|
to PKG_PROG_PKG_CONFIG, the OpenSSL checks are moved so that they come
|
||
|
after the Glib ones in order to avoid doubly checking for the pkg-config
|
||
|
binary (PKG_CHECK_MODULES skips that check if it has been performed
|
||
|
before, but PKG_PROG_PKG_CONFIG does not).
|
||
|
|
||
|
Upstream status: submitted
|
||
|
https://github.com/irssi/irssi/pull/677
|
||
|
|
||
|
Signed-off-by: Rodrigo Rebello <rprebello@gmail.com>
|
||
|
---
|
||
|
configure.ac | 21 +++++++++++++++------
|
||
|
1 file changed, 15 insertions(+), 6 deletions(-)
|
||
|
|
||
|
diff --git a/configure.ac b/configure.ac
|
||
|
index 02b33497..9f191d3f 100644
|
||
|
--- a/configure.ac
|
||
|
+++ b/configure.ac
|
||
|
@@ -231,11 +231,6 @@ if test "x$want_socks" = "xyes"; then
|
||
|
fi
|
||
|
|
||
|
dnl **
|
||
|
-dnl ** OpenSSL checks
|
||
|
-dnl **
|
||
|
-AC_CHECK_LIB([ssl], [SSL_library_init])
|
||
|
-
|
||
|
-dnl **
|
||
|
dnl ** fe-text checks
|
||
|
dnl **
|
||
|
|
||
|
@@ -276,7 +271,21 @@ if test -z "$GLIB_LIBS"; then
|
||
|
AC_ERROR([GLIB is required to build irssi.])
|
||
|
fi
|
||
|
|
||
|
-LIBS="$LIBS $GLIB_LIBS -lssl -lcrypto"
|
||
|
+LIBS="$LIBS $GLIB_LIBS"
|
||
|
+
|
||
|
+dnl **
|
||
|
+dnl ** OpenSSL checks
|
||
|
+dnl **
|
||
|
+PKG_CHECK_MODULES([OPENSSL], [openssl], [
|
||
|
+ CFLAGS="$CFLAGS $OPENSSL_CFLAGS"
|
||
|
+ LIBS="$LIBS $OPENSSL_LIBS"
|
||
|
+], [
|
||
|
+ AC_CHECK_LIB([ssl], [SSL_library_init], [
|
||
|
+ LIBS="$LIBS -lssl -lcrypto"
|
||
|
+ ], [
|
||
|
+ AC_MSG_ERROR([The OpenSSL library was not found])
|
||
|
+ ])
|
||
|
+])
|
||
|
|
||
|
dnl **
|
||
|
dnl ** curses checks
|
||
|
--
|
||
|
2.11.0
|
||
|
|