From c5410abe92de715d1e82b5b9e77c2e7238b63fe7 Mon Sep 17 00:00:00 2001 From: Michael Jeanson Date: Tue, 25 Oct 2016 17:13:57 -0400 Subject: [PATCH] Port: Enable libtool to produce DLLs MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Michael Jeanson Signed-off-by: Jérémie Galarneau --- configure.ac | 5 ++++- lib/Makefile.am | 3 ++- plugins/ctf/Makefile.am | 1 + plugins/lttng-utils/Makefile.am | 4 +++- plugins/text/Makefile.am | 1 + plugins/utils/Makefile.am | 1 + python-plugin-provider/Makefile.am | 4 +++- tests/lib/test-plugin-plugins/Makefile.am | 8 ++++++-- 8 files changed, 21 insertions(+), 6 deletions(-) diff --git a/configure.ac b/configure.ac index 6e68cad1..b6ba0fe2 100644 --- a/configure.ac +++ b/configure.ac @@ -38,7 +38,7 @@ AC_PROG_CC_STDC # Checks for programs. AC_PROG_MAKE_SET -LT_INIT +LT_INIT(win32-dll) AC_PROG_YACC AC_PROG_LEX AC_PROG_MKDIR_P @@ -153,6 +153,7 @@ AC_CHECK_FUNCS([ \ MINGW32=no DEFAULT_ENABLE_DEBUG_INFO=yes +LT_NO_UNDEFINED="" AS_CASE([$host_os], [solaris*|darwin*], [ @@ -162,10 +163,12 @@ AS_CASE([$host_os], [ MINGW32=yes DEFAULT_ENABLE_DEBUG_INFO=no + LT_NO_UNDEFINED="-no-undefined" ] ) AM_CONDITIONAL([BABELTRACE_BUILD_WITH_MINGW], [test "x$MINGW32" = "xyes"]) +AC_SUBST(LT_NO_UNDEFINED) # Check for uuid in system libs AC_CHECK_FUNCS([uuid_generate], diff --git a/lib/Makefile.am b/lib/Makefile.am index c7e36880..26129be7 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -5,7 +5,8 @@ AM_CFLAGS = $(PACKAGE_CFLAGS) -I$(top_srcdir)/include lib_LTLIBRARIES = libbabeltrace.la libbabeltrace_la_SOURCES = babeltrace.c values.c ref.c logging.c -libbabeltrace_la_LDFLAGS = -version-info $(BABELTRACE_LIBRARY_VERSION) +libbabeltrace_la_LDFLAGS = $(LT_NO_UNDEFINED) \ + -version-info $(BABELTRACE_LIBRARY_VERSION) libbabeltrace_la_LIBADD = \ prio_heap/libprio_heap.la \ diff --git a/plugins/ctf/Makefile.am b/plugins/ctf/Makefile.am index 937ce639..1d6e3d45 100644 --- a/plugins/ctf/Makefile.am +++ b/plugins/ctf/Makefile.am @@ -11,6 +11,7 @@ plugin_LTLIBRARIES = libbabeltrace-plugin-ctf.la libbabeltrace_plugin_ctf_la_SOURCES = plugin.c libbabeltrace_plugin_ctf_la_LDFLAGS = \ + $(LT_NO_UNDEFINED) \ -version-info $(BABELTRACE_LIBRARY_VERSION) libbabeltrace_plugin_ctf_la_LIBADD = \ diff --git a/plugins/lttng-utils/Makefile.am b/plugins/lttng-utils/Makefile.am index 5686b90a..8f0975d6 100644 --- a/plugins/lttng-utils/Makefile.am +++ b/plugins/lttng-utils/Makefile.am @@ -19,7 +19,9 @@ libbabeltrace_plugin_lttng_utils_la_SOURCES = \ copy.c libbabeltrace_plugin_lttng_utils_la_LDFLAGS = \ - -version-info $(BABELTRACE_LIBRARY_VERSION) -lelf -ldw + $(LT_NO_UNDEFINED) \ + -version-info $(BABELTRACE_LIBRARY_VERSION) \ + -lelf -ldw if !BUILT_IN_PLUGINS libbabeltrace_plugin_lttng_utils_la_LIBADD = \ diff --git a/plugins/text/Makefile.am b/plugins/text/Makefile.am index 876276d7..99364c5a 100644 --- a/plugins/text/Makefile.am +++ b/plugins/text/Makefile.am @@ -7,6 +7,7 @@ plugin_LTLIBRARIES = libbabeltrace-plugin-text.la libbabeltrace_plugin_text_la_SOURCES = plugin.c libbabeltrace_plugin_text_la_LDFLAGS = \ + $(LT_NO_UNDEFINED) \ -version-info $(BABELTRACE_LIBRARY_VERSION) libbabeltrace_plugin_text_la_LIBADD = \ pretty/libbabeltrace-plugin-text-pretty-cc.la diff --git a/plugins/utils/Makefile.am b/plugins/utils/Makefile.am index a6b520be..4f8f0690 100644 --- a/plugins/utils/Makefile.am +++ b/plugins/utils/Makefile.am @@ -7,6 +7,7 @@ plugin_LTLIBRARIES = libbabeltrace-plugin-utils.la libbabeltrace_plugin_utils_la_SOURCES = plugin.c libbabeltrace_plugin_utils_la_LDFLAGS = \ + $(LT_NO_UNDEFINED) \ -version-info $(BABELTRACE_LIBRARY_VERSION) libbabeltrace_plugin_utils_la_LIBADD = \ dummy/libbabeltrace-plugin-dummy-cc.la \ diff --git a/python-plugin-provider/Makefile.am b/python-plugin-provider/Makefile.am index 145c46f3..b80fb4f9 100644 --- a/python-plugin-provider/Makefile.am +++ b/python-plugin-provider/Makefile.am @@ -5,7 +5,9 @@ lib_LTLIBRARIES = libbabeltrace-python-plugin-provider.la libbabeltrace_python_plugin_provider_la_SOURCES = \ python-plugin-provider.c logging.c logging.h libbabeltrace_python_plugin_provider_la_LDFLAGS = \ - -version-info $(BABELTRACE_LIBRARY_VERSION) $(PYTHON_LIBS) + $(LT_NO_UNDEFINED) \ + -version-info $(BABELTRACE_LIBRARY_VERSION) \ + $(PYTHON_LIBS) libbabeltrace_python_plugin_provider_la_LIBADD = diff --git a/tests/lib/test-plugin-plugins/Makefile.am b/tests/lib/test-plugin-plugins/Makefile.am index da148bf2..7e084c14 100644 --- a/tests/lib/test-plugin-plugins/Makefile.am +++ b/tests/lib/test-plugin-plugins/Makefile.am @@ -4,12 +4,16 @@ noinst_LTLIBRARIES = plugin-minimal.la plugin-sfs.la # the minimal plugin plugin_minimal_la_SOURCES = minimal.c -plugin_minimal_la_LDFLAGS = -rpath / -avoid-version -module +plugin_minimal_la_LDFLAGS = \ + $(LT_NO_UNDEFINED) \ + -rpath / -avoid-version -module plugin_minimal_la_LIBADD = \ $(top_builddir)/lib/libbabeltrace.la # source/filter/sink plugin plugin_sfs_la_SOURCES = sfs.c -plugin_sfs_la_LDFLAGS = -rpath / -avoid-version -module +plugin_sfs_la_LDFLAGS = \ + $(LT_NO_UNDEFINED) \ + -rpath / -avoid-version -module plugin_sfs_la_LIBADD = \ $(top_builddir)/lib/libbabeltrace.la -- 2.34.1