build: silence libtool during tests

Libtool is picky about linking against a module library (aka a .so);
giving lots of warnings like this in the tests directory:

  CCLD   networkxml2argvtest

*** Warning: Linking the executable networkxml2argvtest against the loadable module
*** libvirt_driver_network.so is not portable!

Fix that by splitting things into a convenience library which can
be used directly by the tests, and making the real .so just wrap
the convenience library.

Based on a suggestion by Daniel P. Berrange.

* configure.ac (--with-driver-modules): Fix help test.
* src/Makefile.am (libvirt_driver_xen.la, libvirt_driver_libxl.la)
(libvirt_driver_qemu.la, libvirt_driver_lxc.la)
(libvirt_driver_uml.la): Factor into new convenience libraries.
* tests/Makefile.am (xen_LDADDS, qemu_LDADDS, lxc_LDADDS)
(networkxml2argvtest_LDADD): Link to convenience libraries, not
shared libraries.
This commit is contained in:
Eric Blake
2012-05-25 13:18:10 -06:00
parent 1e8ecfedeb
commit 1d22ba953b
3 changed files with 69 additions and 56 deletions

View File

@@ -252,7 +252,7 @@ sockettest_SOURCES = \
sockettest_LDADD = $(LDADDS)
if WITH_XEN
xen_LDADDS = ../src/libvirt_driver_xen.la
xen_LDADDS = ../src/libvirt_driver_xen_impl.la
xen_LDADDS += $(LDADDS)
xml2sexprtest_SOURCES = \
@@ -290,9 +290,9 @@ endif
if WITH_QEMU
qemu_LDADDS = ../src/libvirt_driver_qemu.la
qemu_LDADDS = ../src/libvirt_driver_qemu_impl.la
if WITH_NETWORK
qemu_LDADDS += ../src/libvirt_driver_network.la
qemu_LDADDS += ../src/libvirt_driver_network_impl.la
endif
if WITH_DTRACE_PROBES
qemu_LDADDS += ../src/libvirt_qemu_probes.lo
@@ -337,9 +337,9 @@ endif
if WITH_LXC
lxc_LDADDS = ../src/libvirt_driver_lxc.la
lxc_LDADDS = ../src/libvirt_driver_lxc_impl.la
if WITH_NETWORK
lxc_LDADDS += ../src/libvirt_driver_network.la
lxc_LDADDS += ../src/libvirt_driver_network_impl.la
endif
lxc_LDADDS += $(LDADDS)
@@ -393,7 +393,7 @@ if WITH_NETWORK
networkxml2argvtest_SOURCES = \
networkxml2argvtest.c \
testutils.c testutils.h
networkxml2argvtest_LDADD = ../src/libvirt_driver_network.la $(LDADDS)
networkxml2argvtest_LDADD = ../src/libvirt_driver_network_impl.la $(LDADDS)
else
EXTRA_DIST += networkxml2argvtest.c
endif