From 85e03c0e884360ba46351df99e54039ce94294a8 Mon Sep 17 00:00:00 2001 From: schrotthaufen Date: Wed, 3 Jul 2024 01:01:00 +0200 Subject: [PATCH 1/2] Replace libgcrypt-config with pkg-config Libgcrypt 1.11.0 deprecated libgcrypt-config in favor for gpgrt-config, which doesn't emit -lgcrypt. pkg-config does, though. See also: * https://dev.gnupg.org/T7165 * https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commit;h=2db5b5e995c21c5bd9cd193c2ed1109ba9b1a440 This should fix #5405 --- configure.ac | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/configure.ac b/configure.ac index c73d9b37f4..8a8d429ff6 100644 --- a/configure.ac +++ b/configure.ac @@ -1239,19 +1239,15 @@ AC_ARG_ENABLE(libgcrypt, [enable_libgcrypt=yes] ) if test "x$enable_libgcrypt" = "xyes"; then - AC_PATH_PROG([LIBGCRYPT_CONFIG],[libgcrypt-config],[no]) - if test "x${LIBGCRYPT_CONFIG}" = "xno"; then - AC_MSG_FAILURE([libgcrypt-config not found in PATH]) - fi AC_CHECK_LIB( - [gcrypt], - [gcry_cipher_open], - [LIBGCRYPT_CFLAGS="`${LIBGCRYPT_CONFIG} --cflags`" - LIBGCRYPT_LIBS="`${LIBGCRYPT_CONFIG} --libs`" - ], - [AC_MSG_FAILURE([libgcrypt is missing])], - [`${LIBGCRYPT_CONFIG} --libs --cflags`] - ) + [gcrypt], + [gcry_cipher_open], + [LIBGCRYPT_CFLAGS="`pkg-config --cflags libgcrypt`" + LIBGCRYPT_LIBS="`pkg-config --libs libgcrypt`" + ], + [AC_MSG_FAILURE([libgcrypt is missing])], + [`pkg-config --libs --cflags libgcrypt`] + ) AC_DEFINE([ENABLE_LIBGCRYPT], [1], [Indicator that LIBGCRYPT is present]) fi AM_CONDITIONAL(ENABLE_LIBGCRYPT, test x$enable_libgcrypt = xyes) From 8ba35bf6cd75965bb8e2282686ce4146c490e5a5 Mon Sep 17 00:00:00 2001 From: schrotthaufen Date: Thu, 4 Jul 2024 18:03:50 +0200 Subject: [PATCH 2/2] Add missing libraries to pkg-config call --- configure.ac | 41 +++++++++++++++++++++++++++++++---------- 1 file changed, 31 insertions(+), 10 deletions(-) diff --git a/configure.ac b/configure.ac index 8a8d429ff6..1017ca36b1 100644 --- a/configure.ac +++ b/configure.ac @@ -1239,16 +1239,36 @@ AC_ARG_ENABLE(libgcrypt, [enable_libgcrypt=yes] ) if test "x$enable_libgcrypt" = "xyes"; then - AC_CHECK_LIB( - [gcrypt], - [gcry_cipher_open], - [LIBGCRYPT_CFLAGS="`pkg-config --cflags libgcrypt`" - LIBGCRYPT_LIBS="`pkg-config --libs libgcrypt`" - ], - [AC_MSG_FAILURE([libgcrypt is missing])], - [`pkg-config --libs --cflags libgcrypt`] - ) - AC_DEFINE([ENABLE_LIBGCRYPT], [1], [Indicator that LIBGCRYPT is present]) + # Check for the modern pkg-config method first + AC_CHECK_PROG([HAVE_PKG_CONFIG],[pkg-config],[no]) + if test "x${HAVE_PKG_CONFIG}" = "xno"; then + # Fallback to the outdated libgcrypt-config approach + AC_PATH_PROG([LIBGCRYPT_CONFIG],[libgcrypt-config],[no]) + if test "x${LIBGCRYPT_CONFIG}" = "xno"; then + AC_MSG_FAILURE([libgcrypt-config not found in PATH and pkg-config is not available. libgcrypt is missing.]) + fi + AC_CHECK_LIB( + [gcrypt], + [gcry_cipher_open], + [LIBGCRYPT_CFLAGS="`${LIBGCRYPT_CONFIG} --cflags`" + LIBGCRYPT_LIBS="`${LIBGCRYPT_CONFIG} --libs`" + ], + [AC_MSG_FAILURE([libgcrypt is missing])], + [`${LIBGCRYPT_CONFIG} --libs --cflags`] + ) + else + # Use the preferred pkg-config approach + AC_CHECK_LIB( + [gcrypt], + [gcry_cipher_open], + [LIBGCRYPT_CFLAGS="`pkg-config --cflags libgcrypt gpg-error`" + LIBGCRYPT_LIBS="`pkg-config --libs libgcrypt gpg-error`" + ], + [AC_MSG_FAILURE([libgcrypt is missing])], + [`pkg-config --libs --cflags libgcrypt gpg-error`] + ) + fi + AC_DEFINE([ENABLE_LIBGCRYPT], [1], [Indicator that LIBGCRYPT is present]) fi AM_CONDITIONAL(ENABLE_LIBGCRYPT, test x$enable_libgcrypt = xyes) AM_CONDITIONAL(ENABLE_RSCRYUTIL, test x$enable_libgcrypt = xyes || test x$enable_openssl_crypto_provider = xyes) @@ -1256,6 +1276,7 @@ AM_CONDITIONAL(ENABLE_OPENSSL_CRYPTO_PROVIDER, test x$enable_openssl_crypto_prov AC_SUBST(LIBGCRYPT_CFLAGS) AC_SUBST(LIBGCRYPT_LIBS) + # libzstd support AC_ARG_ENABLE(libzstd, [AS_HELP_STRING([--enable-libzstd],[Enable log file compression support via libzstd @<:@default=no@:>@])],