From: Nick Bowler Date: Sat, 19 Feb 2022 23:07:59 +0000 (-0500) Subject: Fix regressions caused by symbol renaming changes. X-Git-Tag: v1.2~3 X-Git-Url: https://git.draconx.ca/gitweb/cdecl99.git/commitdiff_plain/0952160d3cc8fdc6effe54f6d4124e93a0d39bd0 Fix regressions caused by symbol renaming changes. A bug in dxcommon was causing VPATH builds to continue to apply symbol renaming to all gnulib sources. Fixing this revealed that dependency tracking was broken for the non-renamed objects (distcheck noticed that the dependency products were not being cleaned). To fix dependency tracking Automake needs to be aware of all the source files going into the statically-linked version of the library. Unfortunately, Automake complains if we just add the same sources to a non-libtool library, even though there is no real conflict since only one will actually be built. The issue can be worked around by using Automake's object renaming facilities, which complicates things slightly but is straightforward enough to implement. --- diff --git a/Makefile.am b/Makefile.am index 0248f6d..6a85bae 100644 --- a/Makefile.am +++ b/Makefile.am @@ -54,7 +54,11 @@ endif EXTRA_LIBRARIES = libgnu.a libgnu_a_SOURCES = +libgnu_a_SHORTNAME = s +libgnu_a_CFLAGS = $(AM_CFLAGS) libgnu_a_LIBADD = $(static_gl_objects) +EXTRA_libgnu_a_SOURCES = $(libgnu_la_SOURCES) $(EXTRA_libgnu_la_SOURCES) + EXTRA_libgnu_a_DEPENDENCIES = $(static_gl_objects) dummy $(static_gl_objects): $(gnulib_headers) diff --git a/common b/common index e7d2900..6a6059f 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit e7d29006d05055ab5b7af44078668c1915d35262 +Subproject commit 6a6059f779c9ebb39f6011c2285afa93365139ea diff --git a/configure.ac b/configure.ac index d2b02d4..66e9bc6 100644 --- a/configure.ac +++ b/configure.ac @@ -53,7 +53,7 @@ AS_IF([test x"$dx_cv_rl_add_history" = x"yes"], m4_include([lib/gnulib.mk]) DX_GLSYM_PREFIX([cdecl__gl_]) -DX_GNULIB_SYMFILES([lib/symfiles]) +DX_GNULIB_SYMFILES([lib/symfiles], [s]) AM_CONDITIONAL([BUILD_STATIC], [test x"$enable_static" = x"yes"]) dnl We provide our own makefile rules for gettext. Disable tracing of