From 8622767a8abff67877d0989131e64254a9a505bf Mon Sep 17 00:00:00 2001 From: Guillem Jover Date: Tue, 11 Apr 2023 00:24:13 +0200 Subject: [PATCH] build: Use an export symbols file if there is no version script support We generate the symbol list from the version script to avoid repeating ourselves and potentially getting the lists out-of-sync. --- src/Makefile.am | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/Makefile.am b/src/Makefile.am index b892ab8..bc1add6 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -66,6 +66,13 @@ if HAVE_LINKER_VERSION_SCRIPT libbsd_la_LDFLAGS += \ -Wl,--version-script=$(srcdir)/libbsd.map \ # EOL +else +libbsd_la_LDFLAGS += \ + -export-symbols libbsd.sym \ + # EOL +EXTRA_libbsd_la_DEPENDENCIES += \ + libbsd.sym \ + # EOL endif libbsd_la_SOURCES = \ arc4random.c \ @@ -136,10 +143,19 @@ CLEANFILES += \ # EOL endif +DISTCLEANFILES = \ + libbsd.sym \ + # EOL + libbsd_ctor_a_SOURCES = \ setproctitle_ctor.c \ # EOL +# Generate a simple libtool symbol export list to be used as a fallback if +# there is no version script support. +libbsd.sym: libbsd.map + $(AM_V_GEN) $(SED) -ne 's/^[[:space:]]\{1,\}\([A-Za-z0-9_]\{1,\}\);/\1/p' libbsd.map > $@ + if NEED_TRANSPARENT_LIBMD TRANSPARENT_LIBMD_DEPENDS = format.ld