From dcaccc8b722cee279c00bb321baa48ae73563931 Mon Sep 17 00:00:00 2001 From: Doğan Çeçen Date: Wed, 4 Dec 2024 12:10:11 +0200 Subject: daemon: Fix linking gcrypt when --as-needed linker arg is used MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is a followup to 8a7bd211d21f06c1234fbb82bb905d202d58f598. As it is mentioned in autoconf manual that library names should be specified in LIBS, not LDFLAGS. See: https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.72/html_node/Preset-Output-Variables.html#index-LDFLAGS-2 This change also brings back the save_* vars trick that was there before. I missed in my earlier change that nix/local.mk was referring LIBGCRYPT_* vars directly. And, instead of CXXFLAGS, CPPFLAGS is used since the latter is probably more correct as this is used for include dirs, therefore using preprocessor flags. Tested with ./configure LDFLAGS="-Wl,--as-needed" --with-libgcrypt-prefix=... combinations. * config-daemon.ac: Set ‘LIBGCRYPT_CPPFLAGS’ instead of ‘LIBGCRYPT_CXXFLAGS’. Set ‘LIBGCRYPT_LIBS’ in addition to ‘LIBGCRYPT_LDFLAGS’. Save and restore ‘CPPFLAGS’, ‘LDFLAGS’, and ‘LIBS’ around test. * nix/local.mk (libutil_a_CPPFLAGS): Add $(LIBGCRYPT_CPPFLAGS). (libstore_a_CXXFLAGS): Remove $(LIBGCRYPT_CFLAGS). (guix_daemon_LDFLAGS): New variable. Change-Id: Iadb10e1994c9a78e2927847af2cfe5e096fbb2a8 Signed-off-by: Ludovic Courtès --- nix/local.mk | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'nix/local.mk') diff --git a/nix/local.mk b/nix/local.mk index 8a2b2b88e8..0d23a48a02 100644 --- a/nix/local.mk +++ b/nix/local.mk @@ -69,7 +69,8 @@ libutil_headers = \ libutil_a_CPPFLAGS = \ -I$(top_builddir)/nix \ -I$(top_srcdir)/%D%/libutil \ - $(libformat_a_CPPFLAGS) + $(libformat_a_CPPFLAGS) \ + $(LIBGCRYPT_CPPFLAGS) libstore_a_SOURCES = \ %D%/libstore/gc.cc \ @@ -109,7 +110,7 @@ libstore_a_CPPFLAGS = \ -DDEFAULT_CHROOT_DIRS="\"\"" libstore_a_CXXFLAGS = $(AM_CXXFLAGS) \ - $(SQLITE3_CFLAGS) $(LIBGCRYPT_CFLAGS) + $(SQLITE3_CFLAGS) bin_PROGRAMS = guix-daemon @@ -122,6 +123,9 @@ guix_daemon_CPPFLAGS = \ $(libutil_a_CPPFLAGS) \ -I$(top_srcdir)/%D%/libstore +guix_daemon_LDFLAGS = \ + $(LIBGCRYPT_LDFLAGS) + guix_daemon_LDADD = \ libstore.a libutil.a libformat.a -lz \ $(SQLITE3_LIBS) $(LIBGCRYPT_LIBS) -- cgit v1.2.3