From 27fe067efea883629354450a042ad09e47d90ff8 Mon Sep 17 00:00:00 2001 From: Daniel Kahn Gillmor Date: Wed, 8 Oct 2014 03:12:51 -0400 Subject: [PATCH] Avoid unnecessary library linkage * dirmngr/Makefile.am: Avoid $(DNSLIBS) for dirmngr_ldap * g10/Makefile.am: $(LIBREADLINE) is only for gpg2; gpgv2 does not need $(LIBASSUAN_LIBS) * sm/Makefile.am: gpgsm does not need $(ZLIBS) * tools/Makefile.am: gpgconf does not need $(NPTH_LIBS) -- In the course of building GnuPG 2.1.0 beta864 on debian, i found that several of the installed executables were linked to libraries that they did not need to be linked to, which would cause unnecessary package dependencies at runtime. The changeset here removes these unnecessary libraries from linking. Something similar could possibly also be done by passing --as-needed to the linker, but trimming the depenencies seems more parsimonious. --- dirmngr/Makefile.am | 2 +- g10/Makefile.am | 6 +++--- sm/Makefile.am | 2 +- tools/Makefile.am | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/dirmngr/Makefile.am b/dirmngr/Makefile.am index d0226a3e8..632e52582 100644 --- a/dirmngr/Makefile.am +++ b/dirmngr/Makefile.am @@ -73,7 +73,7 @@ if USE_LDAPWRAPPER dirmngr_ldap_SOURCES = dirmngr_ldap.c $(ldap_url) dirmngr_ldap_CFLAGS = $(GPG_ERROR_CFLAGS) $(LIBGCRYPT_CFLAGS) dirmngr_ldap_LDFLAGS = -dirmngr_ldap_LDADD = $(libcommon) no-libgcrypt.o ../gl/libgnu.a $(DNSLIBS) \ +dirmngr_ldap_LDADD = $(libcommon) no-libgcrypt.o ../gl/libgnu.a \ $(GPG_ERROR_LIBS) $(LDAPLIBS) $(LBER_LIBS) $(LIBINTL) \ $(LIBICONV) endif diff --git a/g10/Makefile.am b/g10/Makefile.am index 6fa7a5c03..d0343fa00 100644 --- a/g10/Makefile.am +++ b/g10/Makefile.am @@ -138,14 +138,14 @@ gpgv2_SOURCES = gpgv.c \ # here, even that it is not used by gpg. A proper solution would # either to split up libkeybox.a or to use a separate keybox daemon. LDADD = $(needed_libs) ../common/libgpgrl.a \ - $(ZLIBS) $(DNSLIBS) $(LIBREADLINE) \ + $(ZLIBS) $(DNSLIBS) \ $(LIBINTL) $(CAPLIBS) $(NETLIBS) -gpg2_LDADD = $(LDADD) $(LIBGCRYPT_LIBS) \ +gpg2_LDADD = $(LDADD) $(LIBGCRYPT_LIBS) $(LIBREADLINE) \ $(KSBA_LIBS) $(LIBASSUAN_LIBS) $(GPG_ERROR_LIBS) \ $(LIBICONV) $(resource_objs) $(extra_sys_libs) gpg2_LDFLAGS = $(extra_bin_ldflags) gpgv2_LDADD = $(LDADD) $(LIBGCRYPT_LIBS) \ - $(KSBA_LIBS) $(LIBASSUAN_LIBS) $(GPG_ERROR_LIBS) \ + $(KSBA_LIBS) $(GPG_ERROR_LIBS) \ $(LIBICONV) $(resource_objs) $(extra_sys_libs) gpgv2_LDFLAGS = $(extra_bin_ldflags) diff --git a/sm/Makefile.am b/sm/Makefile.am index 7fff75284..12b85ab75 100644 --- a/sm/Makefile.am +++ b/sm/Makefile.am @@ -61,7 +61,7 @@ common_libs = ../kbx/libkeybox.a $(libcommon) ../gl/libgnu.a gpgsm_LDADD = $(common_libs) ../common/libgpgrl.a \ $(LIBGCRYPT_LIBS) $(KSBA_LIBS) $(LIBASSUAN_LIBS) \ - $(GPG_ERROR_LIBS) $(LIBREADLINE) $(LIBINTL) $(ZLIBS) \ + $(GPG_ERROR_LIBS) $(LIBREADLINE) $(LIBINTL) \ $(LIBICONV) $(resource_objs) $(extra_sys_libs) gpgsm_LDFLAGS = $(extra_bin_ldflags) diff --git a/tools/Makefile.am b/tools/Makefile.am index 946ae4ac7..340901a00 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -98,7 +98,7 @@ gpgconf_SOURCES = gpgconf.c gpgconf.h gpgconf-comp.c no-libgcrypt.c # common sucks in gpg-error, will they, nil they (some compilers # do not eliminate the supposed-to-be-unused-inline-functions). gpgconf_LDADD = $(maybe_commonpth_libs) $(opt_libassuan_libs) \ - $(LIBINTL) $(GPG_ERROR_LIBS) $(NPTH_LIBS) $(NETLIBS) \ + $(LIBINTL) $(GPG_ERROR_LIBS) $(NETLIBS) \ $(LIBICONV) $(W32SOCKLIBS) gpgconf_LDFLAGS = $(extra_bin_ldflags)