diff options
author | Christophe Fergeau <cfergeau@redhat.com> | 2018-11-21 09:04:35 +0100 |
---|---|---|
committer | Christophe Fergeau <cfergeau@redhat.com> | 2018-11-21 11:49:48 +0100 |
commit | 7f2ed970e96e61582f82fa07586ed9c365ef09bb (patch) | |
tree | b951f1d3c3f315b14be17975310d14840ae5c3a1 | |
parent | 2adcc468d7b5605f7985bf6d154b0ffe2a481384 (diff) |
build: Remove need for static linking for testsbuild
Currently, spice-gtk tests are disabled if build of static libraries is
disabled. This commit introduces an intermediate
spice-client-glib-impl.la convenience library which does not have its
internal symbols hidden, and can thus be used instead of static linking
when building the tests.
The installed spice-client-glib-2.0.la library is just this library with
the version script applied to hide non exported symbols.
This was inspired by similar work Fabiano Fidencio did in libosinfo:
https://www.redhat.com/archives/libosinfo/2018-November/msg00231.html
Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
-rw-r--r-- | Makefile.am | 6 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | src/Makefile.am | 34 | ||||
-rw-r--r-- | tests/Makefile.am | 4 |
4 files changed, 22 insertions, 24 deletions
diff --git a/Makefile.am b/Makefile.am index e9dfbe4..6881007 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,11 +1,7 @@ ACLOCAL_AMFLAGS = -I m4 NULL = -SUBDIRS = subprojects/spice-common src man po doc data tools - -if BUILD_TESTS -SUBDIRS += tests -endif +SUBDIRS = subprojects/spice-common src man po doc data tools tests if HAVE_INTROSPECTION if WITH_VALA diff --git a/configure.ac b/configure.ac index e686d76..69c03da 100644 --- a/configure.ac +++ b/configure.ac @@ -571,8 +571,6 @@ AC_SUBST(SPICE_GTK_REQUIRES) m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) -AM_CONDITIONAL([BUILD_TESTS], [test x"$enable_static" = xyes]) - AC_OUTPUT([ Makefile spice-client-glib-2.0.pc diff --git a/src/Makefile.am b/src/Makefile.am index 1bb6f9b..b876530 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -44,6 +44,7 @@ acldir = $(ACL_HELPER_DIR) acl_PROGRAMS = spice-client-glib-usb-acl-helper endif +noinst_LTLIBRARIES = libspice-client-glib-impl.la lib_LTLIBRARIES = libspice-client-glib-2.0.la if WITH_GTK @@ -175,7 +176,9 @@ libspice_client_glib_2_0_la_LDFLAGS = \ $(GLIB_SYMBOLS_LDFLAGS) \ $(NULL) -libspice_client_glib_2_0_la_LIBADD = \ +libspice_client_glib_2_0_la_LIBADD = libspice-client-glib-impl.la + +libspice_client_glib_impl_la_LIBADD = \ $(SPICE_COMMON_DIR)/common/libspice-common.la \ $(SPICE_COMMON_DIR)/common/libspice-common-client.la \ $(GLIB2_LIBS) \ @@ -208,7 +211,8 @@ else USB_ACL_HELPER_SRCS = endif -libspice_client_glib_2_0_la_SOURCES = \ +libspice_client_glib_2_0_la_SOURCES = +libspice_client_glib_impl_la_SOURCES = \ bio-gio.c \ bio-gio.h \ spice-audio.c \ @@ -270,7 +274,7 @@ libspice_client_glib_2_0_la_SOURCES = \ spice-glib-main.c \ $(NULL) -nodist_libspice_client_glib_2_0_la_SOURCES = \ +nodist_libspice_client_glib_impl_la_SOURCES = \ spice-glib-enums.c \ spice-marshal.c \ spice-marshal.h \ @@ -308,49 +312,49 @@ nodist_libspice_client_glibinclude_HEADERS = \ $(NULL) if HAVE_PULSE -libspice_client_glib_2_0_la_SOURCES += \ +libspice_client_glib_impl_la_SOURCES += \ spice-pulse.c \ spice-pulse.h \ $(NULL) endif if HAVE_GSTAUDIO -libspice_client_glib_2_0_la_SOURCES += \ +libspice_client_glib_impl_la_SOURCES += \ spice-gstaudio.c \ spice-gstaudio.h \ $(NULL) endif if HAVE_BUILTIN_MJPEG -libspice_client_glib_2_0_la_SOURCES += \ +libspice_client_glib_impl_la_SOURCES += \ channel-display-mjpeg.c \ $(NULL) endif if HAVE_GSTVIDEO -libspice_client_glib_2_0_la_SOURCES += \ +libspice_client_glib_impl_la_SOURCES += \ channel-display-gst.c \ $(NULL) endif if WITH_PHODAV -libspice_client_glib_2_0_la_SOURCES += \ +libspice_client_glib_impl_la_SOURCES += \ giopipe.c \ giopipe.h \ $(NULL) endif if WITH_UCONTEXT -libspice_client_glib_2_0_la_SOURCES += continuation.h continuation.c coroutine_ucontext.c +libspice_client_glib_impl_la_SOURCES += continuation.h continuation.c coroutine_ucontext.c endif if WITH_WINFIBER -libspice_client_glib_2_0_la_SOURCES += coroutine_winfibers.c +libspice_client_glib_impl_la_SOURCES += coroutine_winfibers.c endif if WITH_GTHREAD -libspice_client_glib_2_0_la_SOURCES += coroutine_gthread.c -libspice_client_glib_2_0_la_LIBADD += $(GTHREAD_LIBS) +libspice_client_glib_impl_la_SOURCES += coroutine_gthread.c +libspice_client_glib_impl_la_LIBADD += $(GTHREAD_LIBS) endif @@ -363,10 +367,10 @@ WIN_USB_FILES= \ if OS_WIN32 if WITH_USBREDIR -libspice_client_glib_2_0_la_SOURCES += \ +libspice_client_glib_impl_la_SOURCES += \ $(WIN_USB_FILES) endif -libspice_client_glib_2_0_la_LIBADD += -lws2_32 -lgdi32 +libspice_client_glib_impl_la_LIBADD += -lws2_32 -lgdi32 endif if WITH_POLKIT @@ -397,7 +401,7 @@ install-data-hook: endif -$(libspice_client_glib_2_0_la_SOURCES): spice-glib-enums.h spice-marshal.h +$(libspice_client_glib_impl_la_SOURCES): spice-glib-enums.h spice-marshal.h if WITH_GTK $(libspice_client_gtk_3_0_la_SOURCES): spice-glib-enums.h spice-widget-enums.h diff --git a/tests/Makefile.am b/tests/Makefile.am index bfa43a3..1bb0a25 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -30,10 +30,10 @@ AM_CPPFLAGS = \ -DG_LOG_DOMAIN=\"GSpice\" \ $(NULL) -AM_LDFLAGS = $(GIO_LIBS) -static +AM_LDFLAGS = $(GIO_LIBS) LDADD = \ - $(top_builddir)/src/libspice-client-glib-2.0.la \ + $(top_builddir)/src/libspice-client-glib-impl.la\ $(NULL) test_util_SOURCES = util.c |