Fix the cygwin regression introduced in commit 48445ccff, but without repeating the fresh build regression of commit 2d550542e. * src/Makefile.am (libvirt_test_la_LIBADD): Split out subset of locally-built libraries... (libvirt_test_la_BUILT_LIBADD): ...into new variable. (libvirt_test_la_DEPENDENCIES): Depend only on the subset that automake would have given us for free if we didn't have to add our own extra file. --- Evidence that I'm a compulsive programmer, who can't bear the thought of waiting an entire weekend to fix a bug. But this time, I _won't_ commit without an ACK; even if it fixes a build regression on cygwin, it no longer falls under the trivial rule. I've tested a clean build on both Linux and cygwin. src/Makefile.am | 59 ++++++++++++++++++++++++++++++------------------------ 1 files changed, 33 insertions(+), 26 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index 15bc8fc..8617feb 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -389,7 +389,8 @@ EXTRA_DIST += $(pkgdata_DATA) # First deal with sources usable in non-daemon context noinst_LTLIBRARIES = libvirt_util.la -libvirt_la_LIBADD = libvirt_util.la +libvirt_la_LIBADD = $(libvirt_la_BUILT_LIBADD) +libvirt_la_BUILT_LIBADD = libvirt_util.la libvirt_util_la_SOURCES = \ $(UTIL_SOURCES) libvirt_util_la_CFLAGS = $(CAPNG_CFLAGS) $(YAJL_CFLAGS) @@ -397,20 +398,20 @@ libvirt_util_la_LIBADD = $(CAPNG_LIBS) $(YAJL_LIBS) $(LIB_PTHREAD) noinst_LTLIBRARIES += libvirt_conf.la -libvirt_la_LIBADD += libvirt_conf.la +libvirt_la_BUILT_LIBADD += libvirt_conf.la libvirt_conf_la_SOURCES = $(CONF_SOURCES) libvirt_conf_la_CFLAGS = libvirt_conf_la_LDFLAGS = noinst_LTLIBRARIES += libvirt_cpu.la -libvirt_la_LIBADD += libvirt_cpu.la +libvirt_la_BUILT_LIBADD += libvirt_cpu.la libvirt_cpu_la_CFLAGS = \ -I@top_srcdir@/src/conf libvirt_cpu_la_SOURCES = $(CPU_SOURCES) noinst_LTLIBRARIES += libvirt_driver.la -libvirt_la_LIBADD += libvirt_driver.la +libvirt_la_BUILT_LIBADD += libvirt_driver.la libvirt_driver_la_SOURCES = $(DRIVER_SOURCES) libvirt_driver_la_CFLAGS = $(NUMACTL_CFLAGS) \ @@ -424,7 +425,7 @@ if WITH_DRIVER_MODULES mod_LTLIBRARIES += libvirt_driver_test.la else noinst_LTLIBRARIES += libvirt_driver_test.la -libvirt_la_LIBADD += libvirt_driver_test.la +libvirt_la_BUILT_LIBADD += libvirt_driver_test.la endif libvirt_driver_test_la_CFLAGS = \ -I@top_srcdir@/src/conf @@ -439,7 +440,7 @@ if WITH_DRIVER_MODULES mod_LTLIBRARIES += libvirt_driver_remote.la else noinst_LTLIBRARIES += libvirt_driver_remote.la -libvirt_la_LIBADD += libvirt_driver_remote.la +libvirt_la_BUILT_LIBADD += libvirt_driver_remote.la endif libvirt_driver_remote_la_CFLAGS = \ $(GNUTLS_CFLAGS) \ @@ -490,7 +491,7 @@ if WITH_DRIVER_MODULES mod_LTLIBRARIES += libvirt_driver_xen.la else noinst_LTLIBRARIES += libvirt_driver_xen.la -libvirt_la_LIBADD += libvirt_driver_xen.la +libvirt_la_BUILT_LIBADD += libvirt_driver_xen.la endif libvirt_driver_xen_la_CFLAGS = \ $(XEN_CFLAGS) \ @@ -508,7 +509,7 @@ if WITH_DRIVER_MODULES mod_LTLIBRARIES += libvirt_driver_phyp.la else noinst_LTLIBRARIES += libvirt_driver_phyp.la -libvirt_la_LIBADD += libvirt_driver_phyp.la +libvirt_la_BUILT_LIBADD += libvirt_driver_phyp.la endif libvirt_driver_phyp_la_LIBADD = $(LIBSSH2_LIBS) libvirt_driver_phyp_la_CFLAGS = $(LIBSSH2_CFLAGS) \ @@ -521,7 +522,7 @@ if WITH_DRIVER_MODULES mod_LTLIBRARIES += libvirt_driver_openvz.la else noinst_LTLIBRARIES += libvirt_driver_openvz.la -libvirt_la_LIBADD += libvirt_driver_openvz.la +libvirt_la_BUILT_LIBADD += libvirt_driver_openvz.la endif libvirt_driver_openvz_la_CFLAGS = \ -I@top_srcdir@/src/conf @@ -536,7 +537,7 @@ if WITH_DRIVER_MODULES mod_LTLIBRARIES += libvirt_driver_vbox.la else noinst_LTLIBRARIES += libvirt_driver_vbox.la -libvirt_la_LIBADD += libvirt_driver_vbox.la +libvirt_la_BUILT_LIBADD += libvirt_driver_vbox.la endif libvirt_driver_vbox_la_CFLAGS = \ -I@top_srcdir@/src/conf @@ -552,7 +553,7 @@ if WITH_DRIVER_MODULES mod_LTLIBRARIES += libvirt_driver_xenapi.la else noinst_LTLIBRARIES += libvirt_driver_xenapi.la -libvirt_la_LIBADD += libvirt_driver_xenapi.la +libvirt_la_BUILT_LIBADD += libvirt_driver_xenapi.la endif libvirt_driver_xenapi_la_CFLAGS = $(LIBXENSERVER_CFLAGS) $(LIBCURL_CFLAGS) \ -I@top_srcdir@/src/conf @@ -570,7 +571,7 @@ mod_LTLIBRARIES += libvirt_driver_qemu.la else noinst_LTLIBRARIES += libvirt_driver_qemu.la # Stateful, so linked to daemon instead -#libvirt_la_LIBADD += libvirt_driver_qemu.la +#libvirt_la_BUILT_LIBADD += libvirt_driver_qemu.la endif libvirt_driver_qemu_la_CFLAGS = $(NUMACTL_CFLAGS) \ -I@top_srcdir@/src/conf @@ -596,7 +597,7 @@ mod_LTLIBRARIES += libvirt_driver_lxc.la else noinst_LTLIBRARIES += libvirt_driver_lxc.la # Stateful, so linked to daemon instead -#libvirt_la_LIBADD += libvirt_driver_lxc.la +#libvirt_la_BUILT_LIBADD += libvirt_driver_lxc.la endif libvirt_driver_lxc_la_CFLAGS = \ -I@top_srcdir@/src/conf @@ -619,7 +620,7 @@ mod_LTLIBRARIES += libvirt_driver_uml.la else noinst_LTLIBRARIES += libvirt_driver_uml.la # Stateful, so linked to daemon instead -#libvirt_la_LIBADD += libvirt_driver_uml.la +#libvirt_la_BUILT_LIBADD += libvirt_driver_uml.la endif libvirt_driver_uml_la_CFLAGS = $(NUMACTL_CFLAGS) \ -I@top_srcdir@/src/conf @@ -637,7 +638,7 @@ mod_LTLIBRARIES += libvirt_driver_one.la else noinst_LTLIBRARIES += libvirt_driver_one.la # Stateful, so linked to daemon instead -#libvirt_la_LIBADD += libvirt_driver_one.la +#libvirt_la_BUILT_LIBADD += libvirt_driver_one.la endif libvirt_driver_one_la_CFLAGS = $(XMLRPC_CFLAGS) \ -I@top_srcdir@/src/conf @@ -661,7 +662,7 @@ if WITH_DRIVER_MODULES mod_LTLIBRARIES += libvirt_driver_esx.la else noinst_LTLIBRARIES += libvirt_driver_esx.la -libvirt_la_LIBADD += libvirt_driver_esx.la +libvirt_la_BUILT_LIBADD += libvirt_driver_esx.la endif libvirt_driver_esx_la_CFLAGS = $(LIBCURL_CFLAGS) \ -I@top_srcdir@/src/conf @@ -680,7 +681,7 @@ mod_LTLIBRARIES += libvirt_driver_network.la else noinst_LTLIBRARIES += libvirt_driver_network.la # Stateful, so linked to daemon instead -#libvirt_la_LIBADD += libvirt_driver_network.la +#libvirt_la_BUILT_LIBADD += libvirt_driver_network.la endif libvirt_driver_network_la_CFLAGS = \ -I@top_srcdir@/src/conf @@ -699,7 +700,7 @@ if WITH_DRIVER_MODULES mod_LTLIBRARIES += libvirt_driver_interface.la else noinst_LTLIBRARIES += libvirt_driver_interface.la -libvirt_la_LIBADD += libvirt_driver_interface.la +libvirt_la_BUILT_LIBADD += libvirt_driver_interface.la endif libvirt_driver_interface_la_CFLAGS = $(NETCF_CFLAGS) \ -I@top_srcdir@/src/conf @@ -717,7 +718,7 @@ mod_LTLIBRARIES += libvirt_driver_secret.la else noinst_LTLIBRARIES += libvirt_driver_secret.la # Stateful, so linked to daemon instead -#libvirt_la_LIBADD += libvirt_driver_secret.la +#libvirt_la_BUILT_LIBADD += libvirt_driver_secret.la endif libvirt_driver_secret_la_CFLAGS = \ -I@top_srcdir@/src/conf @@ -740,7 +741,7 @@ mod_LTLIBRARIES += libvirt_driver_storage.la else noinst_LTLIBRARIES += libvirt_driver_storage.la # Stateful, so linked to daemon instead -#libvirt_la_LIBADD += libvirt_driver_storage.la +#libvirt_la_BUILT_LIBADD += libvirt_driver_storage.la endif if WITH_DRIVER_MODULES libvirt_driver_storage_la_LDFLAGS += -module -avoid-version @@ -778,7 +779,7 @@ mod_LTLIBRARIES += libvirt_driver_nodedev.la else noinst_LTLIBRARIES += libvirt_driver_nodedev.la # Stateful, so linked to daemon instead -#libvirt_la_LIBADD += libvirt_driver_nodedev.la +#libvirt_la_BUILT_LIBADD += libvirt_driver_nodedev.la endif libvirt_driver_nodedev_la_SOURCES = $(NODE_DEVICE_DRIVER_SOURCES) @@ -807,7 +808,7 @@ if WITH_NWFILTER if WITH_DRIVER_MODULES mod_LTLIBRARIES += libvirt_driver_nwfilter.la else -libvirt_la_LIBADD += libvirt_driver_nwfilter.la +libvirt_la_BUILT_LIBADD += libvirt_driver_nwfilter.la noinst_LTLIBRARIES += libvirt_driver_nwfilter.la endif libvirt_driver_nwfilter_la_CFLAGS = $(LIBPCAP_CFLAGS) \ @@ -824,7 +825,7 @@ endif libvirt_driver_security_la_SOURCES = $(SECURITY_DRIVER_SOURCES) noinst_LTLIBRARIES += libvirt_driver_security.la -libvirt_la_LIBADD += libvirt_driver_security.la +libvirt_la_BUILT_LIBADD += libvirt_driver_security.la libvirt_driver_security_la_CFLAGS = \ -I@top_srcdir@/src/conf libvirt_driver_security_la_LDFLAGS = @@ -972,12 +973,18 @@ libvirt_la_LDFLAGS = $(VERSION_SCRIPT_FLAGS)$(LIBVIRT_SYMBOL_FILE) \ -version-info $(LIBVIRT_VERSION_INFO) \ $(COVERAGE_CFLAGS:-f%=-Wc,-f%) \ $(CYGWIN_EXTRA_LDFLAGS) $(MINGW_EXTRA_LDFLAGS) +libvirt_la_BUILT_LIBADD += ../gnulib/lib/libgnu.la libvirt_la_LIBADD += $(LIBXML_LIBS) \ - $(LIBPCAP_LIBS) \ + $(LIBPCAP_LIBS) \ $(DRIVER_MODULE_LIBS) \ - $(CYGWIN_EXTRA_LIBADD) ../gnulib/lib/libgnu.la + $(CYGWIN_EXTRA_LIBADD) libvirt_la_CFLAGS = $(COVERAGE_CFLAGS) -DIN_LIBVIRT -libvirt_la_DEPENDENCIES = $(libvirt_la_LIBADD) $(LIBVIRT_SYMBOL_FILE) +# Because we specify libvirt_la_DEPENDENCIES for $(LIBVIRT_SYMBOL_FILE), we +# lose automake's automatic dependencies on an appropriate subset of +# $(libvirt_la_LIBADD). But we were careful to create +# $(libvirt_la_BUILT_LIBADD) as the subset that automake would have +# picked out for us. +libvirt_la_DEPENDENCIES = $(libvirt_la_BUILT_LIBADD) $(LIBVIRT_SYMBOL_FILE) # Create an automake "convenience library" version of libvirt_la, # just for testing, since the test harness requires access to internal -- 1.7.0.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list