[PATCH virt-viewer 3/3] Build an intermediate convenience library

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Instead of building every single source file twice (once for
virt-viewer, and once for remote-viewer), just build them into a
temporary library and link the final executables against that.

The one possible drawback to this approach is that we now use the same
log domain for both executables: 'virt-viewer'. Previously, the
remote-viewer executable used 'remote-viewer' for its log domain.
---
 src/Makefile.am | 85 +++++++++++++++++++++++++++++++--------------------------
 1 file changed, 47 insertions(+), 38 deletions(-)

diff --git a/src/Makefile.am b/src/Makefile.am
index 345aafc..1ebc24e 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -3,6 +3,8 @@ LDADD =
 MAINTAINERCLEANFILES =
 bin_PROGRAMS =
 
+noinst_LTLIBRARIES = libvirt-viewer.la
+
 builderxmldir = $(pkgdatadir)/ui
 builderxml_DATA =				\
 	virt-viewer.xml				\
@@ -36,7 +38,7 @@ $(BUILT_SOURCES): %: %.etemplate $(ENUMS_FILES)
             sed -e 's/VIRT_TYPE_VIEWER/VIRT_VIEWER_TYPE/' \
                 -e 's,#include "$(srcdir)/,#include ",' > $@
 
-COMMON_SOURCES =					\
+libvirt_viewer_la_SOURCES =					\
 	$(BUILT_SOURCES)				\
 	virt-glib-compat.h				\
 	virt-glib-compat.c				\
@@ -68,7 +70,7 @@ COMMON_SOURCES =					\
 	$(NULL)
 
 if HAVE_GTK_VNC
-COMMON_SOURCES +=						\
+libvirt_viewer_la_SOURCES += \
 	virt-viewer-session-vnc.h \
 	virt-viewer-session-vnc.c \
 	virt-viewer-display-vnc.h \
@@ -77,7 +79,7 @@ COMMON_SOURCES +=						\
 endif
 
 if HAVE_SPICE_GTK
-COMMON_SOURCES +=						\
+libvirt_viewer_la_SOURCES += \
 	virt-viewer-session-spice.h \
 	virt-viewer-session-spice.c \
 	virt-viewer-display-spice.h \
@@ -86,12 +88,43 @@ COMMON_SOURCES +=						\
 endif
 
 if HAVE_OVIRT
-COMMON_SOURCES +=					\
+libvirt_viewer_la_SOURCES += \
 	ovirt-foreign-menu.h \
 	ovirt-foreign-menu.c \
 	$(NULL)
 endif
 
+COMMON_LIBS = \
+	-lm					\
+	$(GLIB2_LIBS)				\
+	$(GTK_LIBS)				\
+	$(GTK_VNC_LIBS)				\
+	$(SPICE_GTK_LIBS)			\
+	$(LIBXML2_LIBS)				\
+	$(OVIRT_LIBS) \
+	$(NULL)
+
+COMMON_CFLAGS = \
+	-DLOCALE_DIR=\""$(datadir)/locale"\" \
+	-DG_LOG_DOMAIN=\"virt-viewer\" \
+	$(GLIB2_CFLAGS) \
+	$(GTK_CFLAGS) \
+	$(GTK_VNC_CFLAGS) \
+	$(SPICE_GTK_CFLAGS) \
+	$(LIBXML2_CFLAGS) \
+	$(OVIRT_CFLAGS) \
+	$(WARN_CFLAGS) \
+	$(NULL)
+
+
+libvirt_viewer_la_LIBADD = \
+	$(COMMON_LIBS) \
+	$(NULL)
+
+libvirt_viewer_la_CFLAGS = \
+	$(COMMON_CFLAGS)
+	$(NULL)
+
 check_PROGRAMS = test-version-compare
 TESTS = $(check_PROGRAMS)
 test_version_compare_SOURCES =				\
@@ -115,7 +148,6 @@ test_version_compare_CFLAGS =			\
 if HAVE_LIBVIRT
 bin_PROGRAMS += virt-viewer
 virt_viewer_SOURCES =					\
-	$(COMMON_SOURCES)				\
 	virt-viewer-events.h				\
 	virt-viewer-events.c				\
 	virt-viewer.h					\
@@ -123,33 +155,21 @@ virt_viewer_SOURCES =					\
 	virt-viewer-main.c				\
 	$(NULL)
 virt_viewer_LDFLAGS =				\
-	-lm					\
-	$(GLIB2_LIBS)				\
-	$(GTK_LIBS)				\
-	$(GTK_VNC_LIBS)				\
-	$(LIBXML2_LIBS)				\
+	$(COMMON_LIBS)				\
 	$(LIBVIRT_LIBS)				\
-	$(OVIRT_LIBS)				\
-	$(SPICE_GTK_LIBS)			\
 	$(NULL)
 virt_viewer_CFLAGS = 				\
-	-DLOCALE_DIR=\""$(datadir)/locale"\"	\
-	-DG_LOG_DOMAIN=\"virt-viewer\"          \
-	$(GLIB2_CFLAGS) 			\
-	$(GTK_CFLAGS)				\
-	$(GTK_VNC_CFLAGS)			\
-	$(LIBXML2_CFLAGS)			\
+	$(COMMON_CFLAGS) 			\
 	$(LIBVIRT_CFLAGS)			\
-	$(OVIRT_CFLAGS)				\
-	$(SPICE_GTK_CFLAGS)			\
-	$(WARN_CFLAGS)				\
+	$(NULL)
+virt_viewer_LDADD = \
+	libvirt-viewer.la \
 	$(NULL)
 endif
 
 
 bin_PROGRAMS += remote-viewer
 remote_viewer_SOURCES =				\
-	$(COMMON_SOURCES)			\
 	remote-viewer.h				\
 	remote-viewer.c				\
 	remote-viewer-connect.c 		\
@@ -157,26 +177,15 @@ remote_viewer_SOURCES =				\
 	remote-viewer-main.c			\
 	$(NULL)
 remote_viewer_LDFLAGS =				\
-	-lm					\
-	$(GLIB2_LIBS)				\
-	$(GTK_LIBS)				\
-	$(GTK_VNC_LIBS)				\
-	$(LIBXML2_LIBS)				\
-	$(OVIRT_LIBS)				\
-	$(SPICE_GTK_LIBS)			\
+	$(COMMON_LIBS)				\
 	$(SPICE_CONTROLLER_LIBS)		\
 	$(NULL)
 remote_viewer_CFLAGS =				\
-	-DLOCALE_DIR=\""$(datadir)/locale"\"	\
-	-DG_LOG_DOMAIN=\"remote-viewer\"        \
-	$(GLIB2_CFLAGS) 			\
-	$(GTK_CFLAGS)				\
-	$(GTK_VNC_CFLAGS)			\
-	$(LIBXML2_CFLAGS)			\
-	$(OVIRT_CFLAGS)				\
-	$(SPICE_GTK_CFLAGS)			\
+	$(COMMON_CFLAGS) 			\
 	$(SPICE_CONTROLLER_CFLAGS)		\
-	$(WARN_CFLAGS)				\
+	$(NULL)
+remote_viewer_LDADD = \
+	libvirt-viewer.la \
 	$(NULL)
 
 if OS_WIN32
-- 
2.1.0

_______________________________________________
virt-tools-list mailing list
virt-tools-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/virt-tools-list



[Index of Archives]     [Linux Virtualization]     [KVM Development]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux