Add guards for optional alisp symbols. This ensures that the Versions file does not contain undefined symbols when building alisp support is disabled. Fixes Gentoo bugs 914511 (https://bugs.gentoo.org/914511), 914643 (https://bugs.gentoo.org/914643), and 919417 (https://bugs.gentoo.org/919417). Fixes bug #305 Fixes alsa_lisp symbol error reported in bug #356 Signed-off-by: Nicholas Vinson <nvinson234@xxxxxxxxx> --- configure.ac | 2 +- src/Makefile.am | 11 ++++++++++- src/{Versions.in => Versions.in.in} | 4 ++++ 3 files changed, 15 insertions(+), 2 deletions(-) rename src/{Versions.in => Versions.in.in} (99%) diff --git a/configure.ac b/configure.ac index 9db527c3..024e70b0 100644 --- a/configure.ac +++ b/configure.ac @@ -749,7 +749,7 @@ fi AC_CONFIG_FILES(Makefile doc/Makefile doc/pictures/Makefile doc/doxygen.cfg \ include/Makefile include/sound/Makefile include/sound/uapi/Makefile \ - src/Versions src/Makefile \ + src/Versions.in src/Makefile \ src/control/Makefile src/mixer/Makefile \ src/pcm/Makefile src/pcm/scopes/Makefile \ src/rawmidi/Makefile src/timer/Makefile \ diff --git a/src/Makefile.am b/src/Makefile.am index df46dbc4..b4a0d5d9 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,10 +1,11 @@ -EXTRA_DIST=Versions COMPATNUM=@LIBTOOL_VERSION_INFO@ if VERSIONED_SYMBOLS VSYMS = -Wl,--version-script=Versions +BUILT_SOURCES = $(top_builddir)/src/Versions else VSYMS = +BUILT_SOURCES = endif if SYMBOLIC_FUNCTIONS @@ -13,6 +14,8 @@ else SYMFUNCS = endif +VERSION_CPPFLAGS = + lib_LTLIBRARIES = libasound.la libasound_la_SOURCES = conf.c confeval.c confmisc.c input.c output.c async.c error.c dlmisc.c socket.c shmarea.c userfile.c names.c @@ -43,6 +46,9 @@ SUBDIRS += ucm libasound_la_LIBADD += ucm/libucm.la endif if BUILD_ALISP +if VERSIONED_SYMBOLS +VERSION_CPPFLAGS += -DHAVE_ALISP_SYMS +endif SUBDIRS += alisp libasound_la_LIBADD += alisp/libalisp.la endif @@ -51,6 +57,9 @@ libasound_la_LIBADD += @ALSA_DEPLIBS@ libasound_la_LDFLAGS = -version-info $(COMPATNUM) $(VSYMS) $(SYMFUNCS) $(LDFLAGS_NOUNDEFINED) +$(top_builddir)/src/Versions: $(top_builddir)/src/Versions.in + $(COMPILE) -E $(VERSION_CPPFLAGS) -x assembler-with-cpp -o $@ $< + control/libcontrol.la: $(MAKE) -C control libcontrol.la diff --git a/src/Versions.in b/src/Versions.in.in similarity index 99% rename from src/Versions.in rename to src/Versions.in.in index c53a99fa..041eff08 100644 --- a/src/Versions.in +++ b/src/Versions.in.in @@ -118,15 +118,19 @@ ALSA_0.9.3 { } ALSA_0.9.0; ALSA_0.9.5 { +#ifdef HAVE_ALISP_SYMS global: @SYMBOL_PREFIX@alsa_lisp; +#endif } ALSA_0.9.3; ALSA_0.9.7 { +#ifdef HAVE_ALISP_SYMS global: @SYMBOL_PREFIX@alsa_lisp_*; +#endif } ALSA_0.9.5; ALSA_1.1.6 { -- 2.43.0