From b57b820a3f0464e3151dd675af4f28ad109d683c Mon Sep 17 00:00:00 2001 From: Vitezslav Cizek Date: Tue, 9 Jun 2020 13:54:04 +0200 Subject: [PATCH] configure: improve nettle, gmp, and hogweed soname detection Some linkers might optimize away the libraries passed on the command line if they aren't actually needed, such as gnu ld with --as-needed. The ldd output then won't list the shared libraries and the detection will fail. Make sure nettle and others are really used. Signed-off-by: Vitezslav Cizek --- configure.ac | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index e4ca66aec..ccbe4e563 100644 --- a/configure.ac +++ b/configure.ac @@ -741,7 +741,10 @@ LIBS=$save_LIBS save_LIBS=$LIBS LIBS="$LIBS $GMP_LIBS" AC_MSG_CHECKING([gmp soname]) -AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], +AC_LINK_IFELSE([AC_LANG_PROGRAM([ + #include ],[ + mpz_t n; + mpz_init(n);])], [gmp_so=`(eval "$LDDPROG conftest$EXEEXT $LDDPOSTPROC") | grep '^libgmp\.so'`], [gmp_so=none]) if test -z "$gmp_so"; then @@ -754,7 +757,10 @@ LIBS=$save_LIBS save_LIBS=$LIBS LIBS="$LIBS $NETTLE_LIBS" AC_MSG_CHECKING([nettle soname]) -AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], +AC_LINK_IFELSE([AC_LANG_PROGRAM([ + #include ],[ + struct sha256_ctx ctx; + sha256_init(&ctx);])], [nettle_so=`(eval "$LDDPROG conftest$EXEEXT $LDDPOSTPROC") | grep '^libnettle\.so'`], [nettle_so=none]) if test -z "$nettle_so"; then @@ -767,7 +773,10 @@ LIBS=$save_LIBS save_LIBS=$LIBS LIBS="$LIBS $HOGWEED_LIBS" AC_MSG_CHECKING([hogweed soname]) -AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], +AC_LINK_IFELSE([AC_LANG_PROGRAM([ + #include ],[ + struct rsa_private_key priv; + nettle_rsa_private_key_init(&priv);])], [hogweed_so=`(eval "$LDDPROG conftest$EXEEXT $LDDPOSTPROC") | grep '^libhogweed\.so'`], [hogweed_so=none]) if test -z "$hogweed_so"; then -- 2.25.4