Skip to content
Snippets Groups Projects
Commit 766e8b6c authored by Daniel Salzman's avatar Daniel Salzman
Browse files

Makefiles: rework linker parameters to avoid binary size increase with slibtool + refactoring

relates #722
parent ace46283
Branches
Tags
No related merge requests found
......@@ -3,13 +3,14 @@ noinst_LTLIBRARIES += libcontrib.la
libcontrib_la_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAG_VISIBILITY)
libcontrib_la_LDFLAGS = $(AM_LDFLAGS) $(LDFLAG_EXCLUDE_LIBS)
libcontrib_la_LIBADD = $(pthread_LIBS)
libcontrib_LIBS = libcontrib.la
if USE_GNUTLS_MEMSET
libcontrib_la_CPPFLAGS += $(gnutls_CFLAGS)
libcontrib_la_LIBADD += $(gnutls_LIBS)
libcontrib_LIBS += $(gnutls_LIBS)
endif USE_GNUTLS_MEMSET
if EMBEDDED_LIBBPF
libcontrib_la_CPPFLAGS += $(embedded_libbpf_CFLAGS)
libcontrib_la_LIBADD += $(embedded_libbpf_LIBS)
libcontrib_LIBS += $(embedded_libbpf_LIBS)
endif EMBEDDED_LIBBPF
EXTRA_DIST += \
......
libknotd_la_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAG_VISIBILITY) $(systemd_CFLAGS) \
$(liburcu_CFLAGS) $(lmdb_CFLAGS) -DKNOTD_MOD_STATIC
libknotd_la_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAG_VISIBILITY) $(liburcu_CFLAGS) \
$(lmdb_CFLAGS) $(systemd_CFLAGS) -DKNOTD_MOD_STATIC
libknotd_la_LDFLAGS = $(AM_LDFLAGS) -export-symbols-regex '^knotd_'
libknotd_la_LIBADD = libcontrib.la libknot.la libzscanner.la $(systemd_LIBS) \
$(liburcu_LIBS) $(lmdb_LIBS) $(pthread_LIBS) $(dlopen_LIBS)
libknotd_la_LIBADD = $(dlopen_LIBS) $(pthread_LIBS)
libknotd_LIBS = libknotd.la libknot.la libdnssec.la libzscanner.la \
$(libcontrib_LIBS) $(liburcu_LIBS) $(lmdb_LIBS) \
$(systemd_LIBS)
include_libknotddir = $(includedir)/knot
include_libknotd_HEADERS = \
......
......@@ -8,6 +8,6 @@ endif
if SHARED_MODULE_cookies
knot_modules_cookies_la_LDFLAGS = $(KNOTD_MOD_LDFLAGS)
knot_modules_cookies_la_CPPFLAGS = $(KNOTD_MOD_CPPFLAGS)
knot_modules_cookies_la_LIBADD = libcontrib.la
knot_modules_cookies_la_LIBADD = $(libcontrib_LIBS)
pkglib_LTLIBRARIES += knot/modules/cookies.la
endif
......@@ -8,6 +8,6 @@ endif
if SHARED_MODULE_dnsproxy
knot_modules_dnsproxy_la_LDFLAGS = $(KNOTD_MOD_LDFLAGS)
knot_modules_dnsproxy_la_CPPFLAGS = $(KNOTD_MOD_CPPFLAGS)
knot_modules_dnsproxy_la_LIBADD = libcontrib.la
knot_modules_dnsproxy_la_LIBADD = $(libcontrib_LIBS)
pkglib_LTLIBRARIES += knot/modules/dnsproxy.la
endif
......@@ -12,6 +12,6 @@ endif
if SHARED_MODULE_geoip
knot_modules_geoip_la_LDFLAGS = $(KNOTD_MOD_LDFLAGS)
knot_modules_geoip_la_CPPFLAGS = $(KNOTD_MOD_CPPFLAGS) $(libmaxminddb_CFLAGS)
knot_modules_geoip_la_LIBADD = libcontrib.la $(libmaxminddb_LIBS)
knot_modules_geoip_la_LIBADD = $(libcontrib_LIBS) $(libmaxminddb_LIBS)
pkglib_LTLIBRARIES += knot/modules/geoip.la
endif
......@@ -10,6 +10,6 @@ endif
if SHARED_MODULE_onlinesign
knot_modules_onlinesign_la_LDFLAGS = $(KNOTD_MOD_LDFLAGS)
knot_modules_onlinesign_la_CPPFLAGS = $(KNOTD_MOD_CPPFLAGS)
knot_modules_onlinesign_la_LIBADD = libcontrib.la
knot_modules_onlinesign_la_LIBADD = $(libcontrib_LIBS)
pkglib_LTLIBRARIES += knot/modules/onlinesign.la
endif
......@@ -10,6 +10,6 @@ endif
if SHARED_MODULE_rrl
knot_modules_rrl_la_LDFLAGS = $(KNOTD_MOD_LDFLAGS)
knot_modules_rrl_la_CPPFLAGS = $(KNOTD_MOD_CPPFLAGS)
knot_modules_rrl_la_LIBADD = libcontrib.la
knot_modules_rrl_la_LIBADD = $(libcontrib_LIBS)
pkglib_LTLIBRARIES += knot/modules/rrl.la
endif
......@@ -8,6 +8,6 @@ endif
if SHARED_MODULE_stats
knot_modules_stats_la_LDFLAGS = $(KNOTD_MOD_LDFLAGS)
knot_modules_stats_la_CPPFLAGS = $(KNOTD_MOD_CPPFLAGS)
knot_modules_stats_la_LIBADD = libcontrib.la
knot_modules_stats_la_LIBADD = $(libcontrib_LIBS)
pkglib_LTLIBRARIES += knot/modules/stats.la
endif
......@@ -8,6 +8,6 @@ endif
if SHARED_MODULE_synthrecord
knot_modules_synthrecord_la_LDFLAGS = $(KNOTD_MOD_LDFLAGS)
knot_modules_synthrecord_la_CPPFLAGS = $(KNOTD_MOD_CPPFLAGS)
knot_modules_synthrecord_la_LIBADD = libcontrib.la
knot_modules_synthrecord_la_LIBADD = $(libcontrib_LIBS)
pkglib_LTLIBRARIES += knot/modules/synthrecord.la
endif
......@@ -3,7 +3,7 @@ pkgconfig_DATA += libdnssec.pc
libdnssec_la_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAG_VISIBILITY) $(gnutls_CFLAGS)
libdnssec_la_LDFLAGS = $(AM_LDFLAGS) $(libdnssec_VERSION_INFO) $(LDFLAG_EXCLUDE_LIBS)
libdnssec_la_LIBADD = libcontrib.la $(gnutls_LIBS)
libdnssec_la_LIBADD = $(libcontrib_LIBS) $(gnutls_LIBS)
if ENABLE_PKCS11
libdnssec_la_LIBADD += $(pthread_LIBS)
endif
......
......@@ -3,7 +3,7 @@ pkgconfig_DATA += libknot.pc
libknot_la_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAG_VISIBILITY) $(lmdb_CFLAGS)
libknot_la_LDFLAGS = $(AM_LDFLAGS) $(libknot_VERSION_INFO) $(LDFLAG_EXCLUDE_LIBS)
libknot_la_LIBADD = libcontrib.la libdnssec.la $(math_LIBS) $(lmdb_LIBS)
libknot_la_LIBADD = libdnssec.la $(libcontrib_LIBS) $(lmdb_LIBS) $(math_LIBS)
include_libknotdir = $(includedir)
nobase_include_libknot_HEADERS = \
......
......@@ -4,12 +4,13 @@ sbin_PROGRAMS =
if HAVE_LIBUTILS
noinst_LTLIBRARIES += libknotus.la
libknotus_la_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAG_VISIBILITY) $(libidn2_CFLAGS) \
$(libidn_CFLAGS) $(libedit_CFLAGS) $(libnghttp2_CFLAGS) \
$(gnutls_CFLAGS)
libknotus_la_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAG_VISIBILITY) $(gnutls_CFLAGS) \
$(libedit_CFLAGS) $(libidn2_CFLAGS) $(libidn_CFLAGS) \
$(libnghttp2_CFLAGS) $(lmdb_CFLAGS)
libknotus_la_LDFLAGS = $(AM_LDFLAGS) $(LDFLAG_EXCLUDE_LIBS)
libknotus_la_LIBADD = libcontrib.la libknot.la $(libidn2_LIBS) $(libidn_LIBS) \
$(libedit_LIBS) $(libnghttp2_LIBS) $(gnutls_LIBS)
libknotus_la_LIBADD = $(libidn2_LIBS) $(libidn_LIBS) $(libnghttp2_LIBS)
libknotus_LIBS = libknotus.la libknot.la libdnssec.la $(libcontrib_LIBS) \
$(gnutls_LIBS) $(libedit_LIBS)
libknotus_la_SOURCES = \
utils/common/cert.c \
......@@ -67,14 +68,14 @@ knsupdate_SOURCES = \
utils/knsupdate/knsupdate_params.c \
utils/knsupdate/knsupdate_params.h
kdig_CPPFLAGS = $(AM_CPPFLAGS) $(gnutls_CFLAGS) $(libnghttp2_CFLAGS)
kdig_LDADD = libknotus.la
khost_CPPFLAGS = $(AM_CPPFLAGS) $(gnutls_CFLAGS) $(libnghttp2_CFLAGS)
khost_LDADD = libknotus.la
knsec3hash_CPPFLAGS = $(AM_CPPFLAGS)
knsec3hash_LDADD = libcontrib.la libdnssec.la libknot.la
knsupdate_CPPFLAGS = $(AM_CPPFLAGS) $(gnutls_CFLAGS) $(libnghttp2_CFLAGS)
knsupdate_LDADD = libknotus.la libzscanner.la
kdig_CPPFLAGS = $(libknotus_la_CPPFLAGS)
kdig_LDADD = $(libknotus_LIBS)
khost_CPPFLAGS = $(libknotus_la_CPPFLAGS)
khost_LDADD = $(libknotus_LIBS)
knsec3hash_CPPFLAGS = $(libknotus_la_CPPFLAGS)
knsec3hash_LDADD = libknot.la libdnssec.la $(libcontrib_LIBS)
knsupdate_CPPFLAGS = $(libknotus_la_CPPFLAGS)
knsupdate_LDADD = $(libknotus_LIBS) libzscanner.la
if HAVE_DNSTAP
kdig_CPPFLAGS += $(DNSTAP_CFLAGS)
......@@ -92,8 +93,8 @@ kxdpgun_SOURCES = \
utils/kxdpgun/load_queries.h \
utils/kxdpgun/main.c
kxdpgun_CPPFLAGS = $(AM_CPPFLAGS) $(libmnl_CFLAGS)
kxdpgun_LDADD = libcontrib.la libknot.la $(pthread_LIBS) $(libmnl_LIBS)
kxdpgun_CPPFLAGS = $(libknotus_la_CPPFLAGS) $(libmnl_CFLAGS)
kxdpgun_LDADD = libknot.la $(libcontrib_LIBS) $(libmnl_LIBS) $(pthread_LIBS)
endif ENABLE_XDP
endif HAVE_UTILS
......@@ -118,14 +119,11 @@ knotc_SOURCES = \
knotd_SOURCES = \
utils/knotd/main.c
knotc_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAG_VISIBILITY) $(libedit_CFLAGS) \
$(lmdb_CFLAGS)
knotc_LDADD = libcontrib.la libknotd.la libknotus.la $(libedit_LIBS)
knotc_CPPFLAGS = $(libknotus_la_CPPFLAGS)
knotc_LDADD = $(libknotd_LIBS) $(libknotus_LIBS)
knotc_LDFLAGS = $(AM_LDFLAGS) -rdynamic
knotd_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAG_VISIBILITY) $(liburcu_CFLAGS) \
$(lmdb_CFLAGS)
knotd_LDADD = $(malloc_LIBS) libcontrib.la libknotd.la $(liburcu_LIBS) \
$(cap_ng_LIBS)
knotd_CPPFLAGS = $(libknotus_la_CPPFLAGS) $(liburcu_CFLAGS) $(systemd_CFLAGS)
knotd_LDADD = $(malloc_LIBS) $(libknotd_LIBS) $(cap_ng_LIBS)
knotd_LDFLAGS = $(AM_LDFLAGS) -rdynamic
if HAVE_UTILS
......@@ -155,16 +153,15 @@ kjournalprint_SOURCES = \
kcatalogprint_SOURCES = \
utils/kcatalogprint/main.c
kzonecheck_CPPFLAGS = $(AM_CPPFLAGS) $(lmdb_CFLAGS)
kzonecheck_LDADD = libcontrib.la libknotd.la
kzonesign_CPPFLAGS = $(AM_CPPFLAGS) $(lmdb_CFLAGS)
kzonesign_LDADD = libcontrib.la libknotd.la
keymgr_CPPFLAGS = $(AM_CPPFLAGS) $(gnutls_CFLAGS) $(lmdb_CFLAGS)
keymgr_LDADD = libcontrib.la libknotd.la libknotus.la libdnssec.la \
libzscanner.la
kjournalprint_CPPFLAGS = $(AM_CPPFLAGS) $(lmdb_CFLAGS)
kjournalprint_LDADD = libcontrib.la libknotd.la
kcatalogprint_CPPFLAGS = $(AM_CPPFLAGS) $(lmdb_CFLAGS)
kcatalogprint_LDADD = libcontrib.la libknotd.la
kzonecheck_CPPFLAGS = $(libknotus_la_CPPFLAGS)
kzonecheck_LDADD = $(libknotd_LIBS)
kzonesign_CPPFLAGS = $(libknotus_la_CPPFLAGS)
kzonesign_LDADD = $(libknotd_LIBS)
keymgr_CPPFLAGS = $(libknotus_la_CPPFLAGS)
keymgr_LDADD = $(libknotd_LIBS) $(libknotus_LIBS)
kjournalprint_CPPFLAGS = $(libknotus_la_CPPFLAGS)
kjournalprint_LDADD = $(libknotd_LIBS)
kcatalogprint_CPPFLAGS = $(libknotus_la_CPPFLAGS)
kcatalogprint_LDADD = $(libknotd_LIBS)
endif HAVE_UTILS
endif HAVE_DAEMON
......@@ -21,14 +21,28 @@ check_PROGRAMS += knotd_stdio
nodist_knotd_stdio_SOURCES = knotd_wrap/main.c
knotd_stdio_SOURCES = \
knotd_wrap/afl-loop.h \
knotd_wrap/server.c \
knotd_wrap/tcp-handler.c \
knotd_wrap/afl-loop.h \
knotd_wrap/server.c \
knotd_wrap/tcp-handler.c \
knotd_wrap/udp-handler.c
knotd_stdio_CPPFLAGS = $(AM_CPPFLAGS) $(liburcu_CFLAGS) $(lmdb_CFLAGS)
knotd_stdio_LDADD = $(top_builddir)/src/libknotd.la $(top_builddir)/src/libcontrib.la \
$(liburcu_LIBS) $(cap_ng_LIBS)
knotd_stdio_CPPFLAGS = \
$(AM_CPPFLAGS) \
$(liburcu_CFLAGS) \
$(lmdb_CFLAGS) \
$(systemd_CFLAGS)
knotd_stdio_LDADD = \
$(top_builddir)/src/libknotd.la \
$(top_builddir)/src/libknot.la \
$(top_builddir)/src/libdnssec.la \
$(top_builddir)/src/libcontrib.la \
$(top_builddir)/src/libzscanner.la \
$(cap_ng_LIBS) \
$(gnutls_LIBS) \
$(liburcu_LIBS) \
$(lmdb_LIBS) \
$(systemd_LIBS)
BUILT_SOURCES = knotd_wrap/main.c
CLEANFILES = knotd_wrap/main.c
......@@ -41,19 +55,32 @@ endif HAVE_DAEMON
fuzz_packet_SOURCES = fuzz_packet.c
fuzz_packet_CPPFLAGS = $(AM_CPPFLAGS)
fuzz_packet_LDADD = $(top_builddir)/src/libknot.la
fuzz_packet_LDADD = \
$(top_builddir)/src/libknot.la \
$(top_builddir)/src/libdnssec.la \
$(top_builddir)/src/libcontrib.la \
$(lmdb_LIBS)
fuzz_zscanner_SOURCES = fuzz_zscanner.c
fuzz_zscanner_CPPFLAGS = $(AM_CPPFLAGS)
fuzz_zscanner_LDADD = $(top_builddir)/src/libzscanner.la
fuzz_zscanner_LDADD = \
$(top_builddir)/src/libzscanner.la
fuzz_dname_to_str_SOURCES = fuzz_dname_to_str.c
fuzz_dname_to_str_CPPFLAGS = $(AM_CPPFLAGS)
fuzz_dname_to_str_LDADD = $(top_builddir)/src/libknot.la
fuzz_dname_to_str_LDADD = \
$(top_builddir)/src/libknot.la \
$(top_builddir)/src/libdnssec.la \
$(top_builddir)/src/libcontrib.la \
$(lmdb_LIBS)
fuzz_dname_from_str_SOURCES = fuzz_dname_from_str.c
fuzz_dname_from_str_CPPFLAGS = $(AM_CPPFLAGS)
fuzz_dname_from_str_LDADD = $(top_builddir)/src/libknot.la
fuzz_dname_from_str_LDADD = \
$(top_builddir)/src/libknot.la \
$(top_builddir)/src/libdnssec.la \
$(top_builddir)/src/libcontrib.la \
$(lmdb_LIBS)
if OSS_FUZZ
......
......@@ -3,20 +3,27 @@ AM_CPPFLAGS = \
-I$(top_srcdir)/src \
-I$(top_srcdir)/src/libdnssec \
-I$(top_srcdir)/src/libdnssec/shared \
$(gnutls_CFLAGS) $(lmdb_CFLAGS)
$(gnutls_CFLAGS) \
$(lmdb_CFLAGS)
LDADD = \
libtap.la \
$(top_builddir)/src/libknot.la \
$(top_builddir)/src/libdnssec.la \
$(top_builddir)/src/libcontrib.la \
$(top_builddir)/src/libzscanner.la
libtap.la
if HAVE_DAEMON
LDADD += \
$(top_builddir)/src/libknotd.la
$(top_builddir)/src/libknotd.la \
$(liburcu_LIBS) \
$(systemd_LIBS)
endif HAVE_DAEMON
LDADD += \
$(top_builddir)/src/libknot.la \
$(top_builddir)/src/libdnssec.la \
$(top_builddir)/src/libcontrib.la \
$(top_builddir)/src/libzscanner.la \
$(gnutls_LIBS) \
$(lmdb_LIBS)
EXTRA_DIST = \
tap/libtap.sh \
libdnssec/sample_keys.h \
......@@ -173,34 +180,34 @@ endif
endif HAVE_DAEMON
libdnssec_test_keystore_pkcs11_CPPFLAGS = \
$(AM_CPPFLAGS) \
$(AM_CPPFLAGS) \
-DLIBDIR='"$(libdir)"'
if HAVE_LIBUTILS
utils_test_lookup_CPPFLAGS = \
$(AM_CPPFLAGS) \
$(AM_CPPFLAGS) \
$(libedit_CFLAGS)
utils_test_lookup_LDADD = \
libtap.la \
$(top_builddir)/src/libknotus.la \
$(libedit_LIBS)
$(top_builddir)/src/libknotus.la \
$(libedit_LIBS) \
$(LDADD)
utils_test_cert_CPPFLAGS = \
$(AM_CPPFLAGS) \
$(AM_CPPFLAGS) \
$(libedit_CFLAGS)
utils_test_cert_LDADD = \
libtap.la \
$(top_builddir)/src/libknotus.la \
$(libedit_LIBS)
$(top_builddir)/src/libknotus.la \
$(libedit_LIBS) \
$(LDADD)
endif HAVE_LIBUTILS
EXTRA_PROGRAMS += libzscanner/zscanner-tool
libzscanner_zscanner_tool_SOURCES = \
libzscanner/zscanner-tool.c \
libzscanner/processing.h \
libzscanner/zscanner-tool.c \
libzscanner/processing.h \
libzscanner/processing.c
check_SCRIPTS = \
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment