2006-05-09 23:35:46 +08:00
|
|
|
## Process this file with automake to produce Makefile.in
|
|
|
|
|
2012-02-03 04:20:09 +08:00
|
|
|
## Copyright (C) 2005-2012 Red Hat, Inc.
|
2011-07-29 02:56:24 +08:00
|
|
|
## See COPYING.LIB for the License of this software
|
|
|
|
|
2008-03-24 18:19:36 +08:00
|
|
|
SHELL = $(PREFERABLY_POSIX_SHELL)
|
|
|
|
|
2006-05-09 23:35:46 +08:00
|
|
|
INCLUDES = \
|
2012-04-10 20:03:46 +08:00
|
|
|
-I$(top_builddir) -I$(top_srcdir) \
|
2012-02-03 04:20:09 +08:00
|
|
|
-I$(top_builddir)/gnulib/lib -I$(top_srcdir)/gnulib/lib \
|
|
|
|
-I$(top_builddir)/include -I$(top_srcdir)/include \
|
|
|
|
-I$(top_builddir)/src -I$(top_srcdir)/src \
|
Move all shared utility files to src/util/
* src/bridge.c, src/bridge.h, src/buf.c, src/buf.h, src/cgroup.c,
src/cgroup.h, src/conf.c, src/conf.h, src/event.c, src/event.h,
src/hash.c, src/hash.h, src/hostusb.c, src/hostusb.h,
src/iptables.c, src/iptables.h, src/logging.c, src/logging.h,
src/memory.c, src/memory.h, src/pci.c, src/pci.h, src/qparams.c,
src/qparams.h, src/stats_linux.c, src/stats_linux.h,
src/threads-pthread.c, src/threads-pthread.h, src/threads-win32.c,
src/threads-win32.h, src/threads.c, src/threads.h, src/util.c,
src/util.h, src/uuid.c, src/uuid.h, src/virterror.c,
src/virterror_internal.h, src/xml.c, src/xml.h: Move all files
into src/util/
* daemon/Makefile.am: Add -Isrc/util/ to build flags
* src/Makefile.am: Add -Isrc/util/ to build flags and update for
moved files
* src/libvirt_private.syms: Export cgroup APIs since they're now
in util rather than linking directly to drivers
* src/xen/xs_internal.c: Disable bogus virEventRemoveHandle call
when built under PROXY
* proxy/Makefile.am: Update for changed file locations. Remove
bogus build of event.c
* tools/Makefile.am, tests/Makefile.am: Add -Isrc/util/ to build flags
2009-09-16 23:28:46 +08:00
|
|
|
-I$(top_srcdir)/src/util \
|
2011-07-28 20:55:21 +08:00
|
|
|
-I$(top_srcdir)/src/conf \
|
|
|
|
$(GETTEXT_CPPFLAGS)
|
build: consistently use CFLAGS
According to the automake manual, CPPFLAGS (aka INCLUDES, as spelled
in automake 1.9.6) should only include -I, -D, and -U directives; more
generic directives like -Wall belong in CFLAGS since they affect more
phases of the build process. Therefore, we should be sticking CFLAGS
additions into a CFLAGS container, not a CPPFLAGS container.
* src/Makefile.am (libvirt_driver_vmware_la_CFLAGS): Use AM_CFLAGS.
(INCLUDES): Move CFLAGS items...
(AM_CFLAGS): ...to their proper location.
* python/Makefile.am (INCLUDES, AM_CFLAGS): Likewise.
* tests/Makefile.am (INCLUDES, AM_CFLAGS): Likewise.
(commandtest_CFLAGS, commandhelper_CFLAGS)
(virnetmessagetest_CFLAGS, virnetsockettest_CFLAGS): Use AM_CFLAGS.
2011-06-01 06:15:28 +08:00
|
|
|
|
|
|
|
AM_CFLAGS = \
|
2007-09-20 01:42:40 +08:00
|
|
|
$(LIBXML_CFLAGS) \
|
|
|
|
$(GNUTLS_CFLAGS) \
|
2007-12-05 23:24:15 +08:00
|
|
|
$(SASL_CFLAGS) \
|
2008-02-20 23:38:29 +08:00
|
|
|
$(SELINUX_CFLAGS) \
|
2009-10-08 22:34:22 +08:00
|
|
|
$(APPARMOR_CFLAGS) \
|
2011-06-30 22:08:29 +08:00
|
|
|
$(YAJL_CFLAGS) \
|
build: consistently use CFLAGS
According to the automake manual, CPPFLAGS (aka INCLUDES, as spelled
in automake 1.9.6) should only include -I, -D, and -U directives; more
generic directives like -Wall belong in CFLAGS since they affect more
phases of the build process. Therefore, we should be sticking CFLAGS
additions into a CFLAGS container, not a CPPFLAGS container.
* src/Makefile.am (libvirt_driver_vmware_la_CFLAGS): Use AM_CFLAGS.
(INCLUDES): Move CFLAGS items...
(AM_CFLAGS): ...to their proper location.
* python/Makefile.am (INCLUDES, AM_CFLAGS): Likewise.
* tests/Makefile.am (INCLUDES, AM_CFLAGS): Likewise.
(commandtest_CFLAGS, commandhelper_CFLAGS)
(virnetmessagetest_CFLAGS, virnetsockettest_CFLAGS): Use AM_CFLAGS.
2011-06-01 06:15:28 +08:00
|
|
|
$(COVERAGE_CFLAGS) \
|
|
|
|
$(WARN_CFLAGS)
|
2007-02-14 10:12:41 +08:00
|
|
|
|
2008-11-21 20:16:08 +08:00
|
|
|
if WITH_DRIVER_MODULES
|
|
|
|
INCLUDES += \
|
|
|
|
-DTEST_DRIVER_DIR=\"$(top_builddir)/src/.libs\"
|
|
|
|
endif
|
|
|
|
|
build: fix 'make check' linkage with dtrace
Building on Linux with dtrace enabled was failing 'make check':
CCLD nodeinfotest
../src/.libs/libvirt_test.a(libvirt_net_rpc_client_la-virnetclient.o): In function `virNetClientNew':
/home/remote/eblake/libvirt/src/rpc/virnetclient.c:162: undefined reference to `libvirt_rpc_client_new_semaphore'
On looking further, I see some earlier warnings emitted from libtool:
*** Warning: Linking the shared library libvirt.la against the non-libtool
*** objects probes.o is not portable!
Since src/probes.o is only built on Linux, and even then, only when
dtrace is enabled, this failure does not affect other platforms, and
despite libtool warning that it is not generally portable, it is not
a problem for our use-case in libvirt.la. But it turns out that while
libtool is willing to jam raw .o files into an installed shared
library (libvirt.la becomes libvirt.so), it is NOT willing to jam
the same .o file into the convenience library libvirt_test.la.
Perhaps this is a bug in libtool, but even if we get libtool fixed,
libvirt must continue to build on platforms with older libtool. So,
the fix is the same as we are already using for the libvirt_lxc
executable - don't rely on the .o file being in the convenience
library, but instead use LDADD to pull it in directly.
* tests/Makefile.am (PROBES_O): New macro.
(LDADDS): Use it to fix link errors.
2011-10-12 03:18:37 +08:00
|
|
|
PROBES_O =
|
2012-02-24 23:10:53 +08:00
|
|
|
if WITH_DTRACE_PROBES
|
2012-05-25 23:57:56 +08:00
|
|
|
PROBES_O += ../src/libvirt_probes.lo
|
build: fix 'make check' linkage with dtrace
Building on Linux with dtrace enabled was failing 'make check':
CCLD nodeinfotest
../src/.libs/libvirt_test.a(libvirt_net_rpc_client_la-virnetclient.o): In function `virNetClientNew':
/home/remote/eblake/libvirt/src/rpc/virnetclient.c:162: undefined reference to `libvirt_rpc_client_new_semaphore'
On looking further, I see some earlier warnings emitted from libtool:
*** Warning: Linking the shared library libvirt.la against the non-libtool
*** objects probes.o is not portable!
Since src/probes.o is only built on Linux, and even then, only when
dtrace is enabled, this failure does not affect other platforms, and
despite libtool warning that it is not generally portable, it is not
a problem for our use-case in libvirt.la. But it turns out that while
libtool is willing to jam raw .o files into an installed shared
library (libvirt.la becomes libvirt.so), it is NOT willing to jam
the same .o file into the convenience library libvirt_test.la.
Perhaps this is a bug in libtool, but even if we get libtool fixed,
libvirt must continue to build on platforms with older libtool. So,
the fix is the same as we are already using for the libvirt_lxc
executable - don't rely on the .o file being in the convenience
library, but instead use LDADD to pull it in directly.
* tests/Makefile.am (PROBES_O): New macro.
(LDADDS): Use it to fix link errors.
2011-10-12 03:18:37 +08:00
|
|
|
endif
|
|
|
|
|
2006-05-09 23:35:46 +08:00
|
|
|
LDADDS = \
|
2007-05-29 22:44:15 +08:00
|
|
|
$(WARN_CFLAGS) \
|
build: fix 'make check' linkage with dtrace
Building on Linux with dtrace enabled was failing 'make check':
CCLD nodeinfotest
../src/.libs/libvirt_test.a(libvirt_net_rpc_client_la-virnetclient.o): In function `virNetClientNew':
/home/remote/eblake/libvirt/src/rpc/virnetclient.c:162: undefined reference to `libvirt_rpc_client_new_semaphore'
On looking further, I see some earlier warnings emitted from libtool:
*** Warning: Linking the shared library libvirt.la against the non-libtool
*** objects probes.o is not portable!
Since src/probes.o is only built on Linux, and even then, only when
dtrace is enabled, this failure does not affect other platforms, and
despite libtool warning that it is not generally portable, it is not
a problem for our use-case in libvirt.la. But it turns out that while
libtool is willing to jam raw .o files into an installed shared
library (libvirt.la becomes libvirt.so), it is NOT willing to jam
the same .o file into the convenience library libvirt_test.la.
Perhaps this is a bug in libtool, but even if we get libtool fixed,
libvirt must continue to build on platforms with older libtool. So,
the fix is the same as we are already using for the libvirt_lxc
executable - don't rely on the .o file being in the convenience
library, but instead use LDADD to pull it in directly.
* tests/Makefile.am (PROBES_O): New macro.
(LDADDS): Use it to fix link errors.
2011-10-12 03:18:37 +08:00
|
|
|
$(PROBES_O) \
|
2012-04-02 23:45:01 +08:00
|
|
|
../src/libvirt.la \
|
|
|
|
../gnulib/lib/libgnu.la
|
2006-05-09 23:35:46 +08:00
|
|
|
|
2007-11-14 18:35:58 +08:00
|
|
|
EXTRA_DIST = \
|
2009-01-27 23:29:53 +08:00
|
|
|
capabilityschemadata \
|
2010-12-17 02:24:00 +08:00
|
|
|
capabilityschematest \
|
|
|
|
commanddata \
|
|
|
|
confdata \
|
|
|
|
cputestdata \
|
2009-01-27 23:29:53 +08:00
|
|
|
domainschemadata \
|
2010-12-17 02:24:00 +08:00
|
|
|
domainschematest \
|
|
|
|
domainsnapshotschematest \
|
|
|
|
domainsnapshotxml2xmlin \
|
|
|
|
domainsnapshotxml2xmlout \
|
2009-07-22 17:07:07 +08:00
|
|
|
interfaceschemadata \
|
2012-03-27 01:09:31 +08:00
|
|
|
lxcxml2xmldata \
|
2010-12-17 02:24:00 +08:00
|
|
|
networkschematest \
|
|
|
|
networkxml2xmlin \
|
|
|
|
networkxml2xmlout \
|
2011-06-24 18:04:37 +08:00
|
|
|
networkxml2argvdata \
|
2010-12-17 02:24:00 +08:00
|
|
|
nodedevschemadata \
|
|
|
|
nodedevschematest \
|
|
|
|
nodeinfodata \
|
|
|
|
nwfilterschematest \
|
|
|
|
nwfilterxml2xmlin \
|
|
|
|
nwfilterxml2xmlout \
|
|
|
|
oomtrace.pl \
|
|
|
|
qemuhelpdata \
|
|
|
|
qemuxml2argvdata \
|
|
|
|
qemuxml2xmloutdata \
|
2011-10-19 03:16:01 +08:00
|
|
|
qemuxmlnsdata \
|
2010-12-17 02:24:00 +08:00
|
|
|
schematestutils.sh \
|
|
|
|
sexpr2xmldata \
|
2009-01-27 23:29:53 +08:00
|
|
|
storagepoolschematest \
|
2009-10-09 05:26:30 +08:00
|
|
|
storagepoolxml2xmlin \
|
2010-12-17 02:24:00 +08:00
|
|
|
storagepoolxml2xmlout \
|
2009-01-27 23:29:53 +08:00
|
|
|
storagevolschematest \
|
2009-10-10 02:17:21 +08:00
|
|
|
storagevolxml2xmlin \
|
2010-12-17 02:24:00 +08:00
|
|
|
storagevolxml2xmlout \
|
|
|
|
test-lib.sh \
|
2009-12-24 06:02:44 +08:00
|
|
|
vmx2xmldata \
|
2010-12-17 02:24:00 +08:00
|
|
|
xencapsdata \
|
|
|
|
xmconfigdata \
|
|
|
|
xml2sexprdata \
|
2011-06-30 23:23:23 +08:00
|
|
|
xml2vmxdata \
|
|
|
|
.valgrind.supp
|
2006-05-09 23:35:46 +08:00
|
|
|
|
2012-03-27 23:35:01 +08:00
|
|
|
test_helpers = commandhelper ssh conftest
|
|
|
|
test_programs = virshtest sockettest \
|
2012-03-24 06:04:18 +08:00
|
|
|
nodeinfotest virbuftest \
|
2012-03-27 23:35:01 +08:00
|
|
|
commandtest seclabeltest \
|
|
|
|
virhashtest virnetmessagetest virnetsockettest \
|
2011-11-29 20:11:01 +08:00
|
|
|
utiltest virnettlscontexttest shunloadtest \
|
2012-03-20 23:40:05 +08:00
|
|
|
virtimetest viruritest virkeyfiletest \
|
|
|
|
virauthconfigtest
|
Prevent crash from dlclose() of libvirt.so
When libvirt calls virInitialize it creates a thread local
for the virErrorPtr storage, and registers a callback to
cleanup memory when a thread exits. When libvirt is dlclose()d
or otherwise made non-resident, the callback function is
removed from memory, but the thread local may still exist
and if a thread later exists, it will invoke the callback
and SEGV. There may also be other thread locals with callbacks
pointing to libvirt code, so it is in general never safe to
unload libvirt.so from memory once initialized.
To allow dlclose() to succeed, but keep libvirt.so resident
in memory, link with '-z nodelete'. This issue was first
found with the libvirt CIM provider, but can potentially
hit many of the dynamic language bindings which all ultimately
involve dlopen() in some way, either on libvirt.so itself,
or on the glue code for the binding which in turns links
to libvirt
* configure.ac, src/Makefile.am: Ensure libvirt.so is linked
with -z nodelete
* cfg.mk, .gitignore, tests/Makefile.am, tests/shunloadhelper.c,
tests/shunloadtest.c: A test case to unload libvirt while
a thread is still running.
2011-09-02 00:57:06 +08:00
|
|
|
|
2012-04-03 00:25:30 +08:00
|
|
|
if WITH_DRIVER_MODULES
|
|
|
|
test_programs += virdrivermoduletest
|
|
|
|
endif
|
|
|
|
|
2010-12-07 01:03:35 +08:00
|
|
|
# This is a fake SSH we use from virnetsockettest
|
|
|
|
ssh_SOURCES = ssh.c
|
|
|
|
ssh_LDADD = $(COVERAGE_LDFLAGS)
|
2006-08-24 23:05:19 +08:00
|
|
|
|
2008-11-25 03:23:39 +08:00
|
|
|
if WITH_XEN
|
2012-03-27 23:35:01 +08:00
|
|
|
test_programs += xml2sexprtest sexpr2xmltest \
|
2011-07-08 05:53:41 +08:00
|
|
|
xmconfigtest xencapstest statstest reconnect
|
2008-11-25 03:23:39 +08:00
|
|
|
endif
|
2008-11-18 20:46:13 +08:00
|
|
|
if WITH_QEMU
|
2012-03-27 23:35:01 +08:00
|
|
|
test_programs += qemuxml2argvtest qemuxml2xmltest qemuxmlnstest \
|
2012-02-26 08:48:02 +08:00
|
|
|
qemuargv2xmltest qemuhelptest domainsnapshotxml2xmltest \
|
|
|
|
qemumonitortest
|
2008-11-18 20:46:13 +08:00
|
|
|
endif
|
|
|
|
|
2012-03-27 01:09:31 +08:00
|
|
|
if WITH_LXC
|
2012-03-27 23:35:01 +08:00
|
|
|
test_programs += lxcxml2xmltest
|
2012-03-27 01:09:31 +08:00
|
|
|
endif
|
|
|
|
|
2011-05-27 01:45:41 +08:00
|
|
|
if WITH_OPENVZ
|
2012-03-27 23:35:01 +08:00
|
|
|
test_programs += openvzutilstest
|
2011-05-27 01:45:41 +08:00
|
|
|
endif
|
|
|
|
|
2009-09-23 20:25:52 +08:00
|
|
|
if WITH_ESX
|
2012-03-27 23:35:01 +08:00
|
|
|
test_programs += esxutilstest
|
2010-12-22 05:39:55 +08:00
|
|
|
endif
|
|
|
|
|
|
|
|
if WITH_VMX
|
2012-03-27 23:35:01 +08:00
|
|
|
test_programs += vmx2xmltest xml2vmxtest
|
2009-09-23 20:25:52 +08:00
|
|
|
endif
|
|
|
|
|
2009-05-19 18:17:17 +08:00
|
|
|
if WITH_CIL
|
2012-03-27 23:35:01 +08:00
|
|
|
test_programs += object-locking
|
2009-05-19 18:17:17 +08:00
|
|
|
endif
|
|
|
|
|
2011-06-30 22:08:29 +08:00
|
|
|
if HAVE_YAJL
|
2012-03-27 23:35:01 +08:00
|
|
|
test_programs += jsontest
|
2011-06-30 22:08:29 +08:00
|
|
|
endif
|
|
|
|
|
2012-03-27 23:35:01 +08:00
|
|
|
test_programs += networkxml2xmltest
|
2009-10-09 20:47:43 +08:00
|
|
|
|
2011-07-05 21:26:18 +08:00
|
|
|
if WITH_NETWORK
|
2012-03-27 23:35:01 +08:00
|
|
|
test_programs += networkxml2argvtest
|
2011-07-05 21:26:18 +08:00
|
|
|
endif
|
2011-06-24 18:04:37 +08:00
|
|
|
|
2012-07-19 03:06:58 +08:00
|
|
|
if WITH_STORAGE_SHEEPDOG
|
|
|
|
test_programs += storagebackendsheepdogtest
|
|
|
|
endif
|
|
|
|
|
2012-03-27 23:35:01 +08:00
|
|
|
test_programs += nwfilterxml2xmltest
|
2010-04-03 01:28:28 +08:00
|
|
|
|
2012-03-27 23:35:01 +08:00
|
|
|
test_programs += storagevolxml2xmltest storagepoolxml2xmltest
|
2009-10-09 05:26:30 +08:00
|
|
|
|
2012-03-27 23:35:01 +08:00
|
|
|
test_programs += nodedevxml2xmltest
|
2009-02-24 22:58:32 +08:00
|
|
|
|
2012-03-27 23:35:01 +08:00
|
|
|
test_programs += interfacexml2xmltest
|
2009-07-16 01:50:34 +08:00
|
|
|
|
2012-03-27 23:35:01 +08:00
|
|
|
test_programs += cputest
|
2010-10-07 22:35:17 +08:00
|
|
|
|
2009-01-27 23:29:53 +08:00
|
|
|
test_scripts = \
|
|
|
|
capabilityschematest \
|
2009-07-16 01:50:34 +08:00
|
|
|
interfaceschematest \
|
2009-01-27 23:29:53 +08:00
|
|
|
networkschematest \
|
|
|
|
storagepoolschematest \
|
|
|
|
storagevolschematest \
|
|
|
|
domainschematest \
|
2010-04-06 23:09:46 +08:00
|
|
|
nodedevschematest \
|
2010-05-04 05:15:18 +08:00
|
|
|
nwfilterschematest \
|
|
|
|
domainsnapshotschematest
|
2009-01-27 23:29:53 +08:00
|
|
|
|
2008-06-26 17:37:51 +08:00
|
|
|
if WITH_LIBVIRTD
|
2009-01-17 02:07:24 +08:00
|
|
|
test_scripts += \
|
|
|
|
test_conf.sh \
|
|
|
|
cpuset \
|
|
|
|
define-dev-segfault \
|
|
|
|
int-overflow \
|
2009-03-03 04:01:05 +08:00
|
|
|
libvirtd-fail \
|
|
|
|
libvirtd-pool \
|
2009-01-17 02:07:24 +08:00
|
|
|
read-bufsiz \
|
|
|
|
read-non-seekable \
|
|
|
|
start \
|
|
|
|
undefine \
|
|
|
|
vcpupin \
|
|
|
|
virsh-all \
|
2011-04-13 05:59:19 +08:00
|
|
|
virsh-optparse \
|
2010-05-11 21:38:21 +08:00
|
|
|
virsh-schedinfo \
|
2008-11-24 15:13:29 +08:00
|
|
|
virsh-synopsis
|
2012-03-27 23:35:01 +08:00
|
|
|
|
2012-04-04 22:01:46 +08:00
|
|
|
test_programs += \
|
|
|
|
eventtest \
|
|
|
|
libvirtdconftest
|
2011-05-13 16:03:20 +08:00
|
|
|
else
|
|
|
|
EXTRA_DIST += \
|
|
|
|
test_conf.sh \
|
|
|
|
cpuset \
|
|
|
|
define-dev-segfault \
|
|
|
|
int-overflow \
|
|
|
|
libvirtd-fail \
|
|
|
|
libvirtd-pool \
|
|
|
|
read-bufsiz \
|
|
|
|
read-non-seekable \
|
|
|
|
start \
|
|
|
|
undefine \
|
|
|
|
vcpupin \
|
|
|
|
virsh-all \
|
|
|
|
virsh-optparse \
|
|
|
|
virsh-schedinfo \
|
|
|
|
virsh-synopsis
|
2008-06-26 17:37:51 +08:00
|
|
|
endif
|
2007-12-12 05:20:13 +08:00
|
|
|
|
2009-10-08 22:34:22 +08:00
|
|
|
if WITH_SECDRIVER_APPARMOR
|
|
|
|
test_scripts += virt-aa-helper-test
|
2009-12-14 20:40:42 +08:00
|
|
|
else
|
|
|
|
EXTRA_DIST += virt-aa-helper-test
|
2009-10-08 22:34:22 +08:00
|
|
|
endif
|
2009-12-14 20:40:42 +08:00
|
|
|
|
2007-11-14 18:35:58 +08:00
|
|
|
EXTRA_DIST += $(test_scripts)
|
|
|
|
|
2012-03-27 23:35:01 +08:00
|
|
|
if WITH_TESTS
|
|
|
|
noinst_PROGRAMS = $(test_programs) $(test_helpers)
|
|
|
|
noinst_LTLIBRARIES = libshunload.la
|
|
|
|
else
|
|
|
|
check_PROGRAMS = $(test_programs) $(test_helpers)
|
|
|
|
check_LTLIBRARIES = libshunload.la
|
2011-07-05 21:26:18 +08:00
|
|
|
endif
|
2011-06-24 18:04:37 +08:00
|
|
|
|
2012-03-27 23:35:01 +08:00
|
|
|
TESTS = $(test_programs) \
|
|
|
|
$(test_scripts)
|
2010-10-07 22:35:17 +08:00
|
|
|
|
2007-11-17 21:16:47 +08:00
|
|
|
# NB, automake < 1.10 does not provide the real
|
2010-12-15 08:23:22 +08:00
|
|
|
# abs_top_{src/build}dir or builddir variables, so don't rely
|
2007-11-17 21:16:47 +08:00
|
|
|
# on them here. Fake them with 'pwd'
|
2011-07-29 22:52:27 +08:00
|
|
|
# Also, BSD sh doesn't like 'a=b b=$$a', so we can't use an
|
|
|
|
# intermediate shell variable, but must do all the expansion in make
|
|
|
|
|
|
|
|
lv_abs_top_builddir=`cd '$(top_builddir)'; pwd`
|
|
|
|
path_add = $(lv_abs_top_builddir)/daemon$(PATH_SEPARATOR)$(lv_abs_top_builddir)/tools$(PATH_SEPARATOR)$(lv_abs_top_builddir)/tests
|
|
|
|
|
2007-11-12 22:00:32 +08:00
|
|
|
TESTS_ENVIRONMENT = \
|
2011-07-29 22:52:27 +08:00
|
|
|
abs_top_builddir=$(lv_abs_top_builddir) \
|
2008-03-24 18:18:36 +08:00
|
|
|
abs_top_srcdir=`cd '$(top_srcdir)'; pwd` \
|
2010-12-15 08:23:22 +08:00
|
|
|
abs_builddir=`pwd` \
|
2008-04-18 23:28:33 +08:00
|
|
|
abs_srcdir=`cd '$(srcdir)'; pwd` \
|
2009-03-04 21:04:06 +08:00
|
|
|
CONFIG_HEADER="`cd '$(top_builddir)'; pwd`/config.h" \
|
2008-03-24 18:18:36 +08:00
|
|
|
PATH="$(path_add)$(PATH_SEPARATOR)$$PATH" \
|
2008-03-24 18:19:36 +08:00
|
|
|
SHELL="$(SHELL)" \
|
2008-11-21 20:16:08 +08:00
|
|
|
LIBVIRT_DRIVER_DIR="$(abs_top_builddir)/src/.libs" \
|
2008-12-21 07:23:50 +08:00
|
|
|
LC_ALL=C \
|
2007-11-12 22:00:32 +08:00
|
|
|
$(VG)
|
|
|
|
|
2012-03-27 23:35:01 +08:00
|
|
|
|
2006-08-25 00:00:19 +08:00
|
|
|
valgrind:
|
2010-11-25 04:41:50 +08:00
|
|
|
$(MAKE) check VG="libtool --mode=execute valgrind --quiet --leak-check=full --suppressions=$(srcdir)/.valgrind.supp"
|
2006-08-25 00:00:19 +08:00
|
|
|
|
2010-10-22 02:11:50 +08:00
|
|
|
sockettest_SOURCES = \
|
|
|
|
sockettest.c \
|
|
|
|
testutils.c testutils.h
|
2012-04-02 23:45:01 +08:00
|
|
|
sockettest_LDADD = $(LDADDS)
|
2010-10-22 02:11:50 +08:00
|
|
|
|
2008-11-25 03:23:39 +08:00
|
|
|
if WITH_XEN
|
2012-05-26 03:18:10 +08:00
|
|
|
xen_LDADDS = ../src/libvirt_driver_xen_impl.la
|
2012-04-02 23:45:01 +08:00
|
|
|
xen_LDADDS += $(LDADDS)
|
|
|
|
|
2006-08-24 23:05:19 +08:00
|
|
|
xml2sexprtest_SOURCES = \
|
2008-07-25 21:17:27 +08:00
|
|
|
xml2sexprtest.c testutilsxen.c testutilsxen.h \
|
2006-08-24 23:05:19 +08:00
|
|
|
testutils.c testutils.h
|
2012-04-02 23:45:01 +08:00
|
|
|
xml2sexprtest_LDADD = $(xen_LDADDS)
|
2006-08-24 23:05:19 +08:00
|
|
|
|
|
|
|
sexpr2xmltest_SOURCES = \
|
2009-01-23 02:19:20 +08:00
|
|
|
sexpr2xmltest.c testutilsxen.c testutilsxen.h \
|
2006-08-24 23:05:19 +08:00
|
|
|
testutils.c testutils.h
|
2012-04-02 23:45:01 +08:00
|
|
|
sexpr2xmltest_LDADD = $(xen_LDADDS)
|
2006-08-24 23:05:19 +08:00
|
|
|
|
2007-01-20 04:30:05 +08:00
|
|
|
xmconfigtest_SOURCES = \
|
2008-07-25 21:39:02 +08:00
|
|
|
xmconfigtest.c testutilsxen.c testutilsxen.h \
|
2007-01-20 04:30:05 +08:00
|
|
|
testutils.c testutils.h
|
2012-04-02 23:45:01 +08:00
|
|
|
xmconfigtest_LDADD = $(xen_LDADDS)
|
2007-01-20 04:30:05 +08:00
|
|
|
|
2008-11-25 03:23:39 +08:00
|
|
|
xencapstest_SOURCES = \
|
|
|
|
xencapstest.c testutils.h testutils.c
|
2012-04-02 23:45:01 +08:00
|
|
|
xencapstest_LDADD = $(xen_LDADDS)
|
2008-11-25 03:23:39 +08:00
|
|
|
|
|
|
|
reconnect_SOURCES = \
|
2011-07-09 17:50:38 +08:00
|
|
|
reconnect.c testutils.h testutils.c
|
2008-11-25 03:23:39 +08:00
|
|
|
reconnect_LDADD = $(LDADDS)
|
|
|
|
|
2010-10-14 20:22:18 +08:00
|
|
|
statstest_SOURCES = \
|
|
|
|
statstest.c testutils.h testutils.c
|
2012-04-02 23:45:01 +08:00
|
|
|
statstest_LDADD = $(xen_LDADDS)
|
2010-10-14 20:22:18 +08:00
|
|
|
|
2008-11-25 03:23:39 +08:00
|
|
|
else
|
|
|
|
EXTRA_DIST += xml2sexprtest.c sexpr2xmltest.c xmconfigtest.c \
|
|
|
|
xencapstest.c reconnect.c \
|
|
|
|
testutilsxen.c testutilsxen.h
|
|
|
|
endif
|
|
|
|
|
2008-11-18 20:46:13 +08:00
|
|
|
if WITH_QEMU
|
2011-07-04 14:27:12 +08:00
|
|
|
|
2012-07-31 17:57:10 +08:00
|
|
|
qemu_LDADDS = ../src/libvirt_driver_qemu_impl.la \
|
|
|
|
../src/libvirt_driver_security.la
|
2011-07-04 14:27:12 +08:00
|
|
|
if WITH_NETWORK
|
2012-05-26 03:18:10 +08:00
|
|
|
qemu_LDADDS += ../src/libvirt_driver_network_impl.la
|
2011-07-04 14:27:12 +08:00
|
|
|
endif
|
2012-04-03 01:24:29 +08:00
|
|
|
if WITH_DTRACE_PROBES
|
2012-05-25 23:57:56 +08:00
|
|
|
qemu_LDADDS += ../src/libvirt_qemu_probes.lo
|
2012-04-03 01:24:29 +08:00
|
|
|
endif
|
2012-04-02 23:45:01 +08:00
|
|
|
qemu_LDADDS += $(LDADDS)
|
2011-07-04 14:27:12 +08:00
|
|
|
|
2007-07-19 05:34:22 +08:00
|
|
|
qemuxml2argvtest_SOURCES = \
|
2008-05-17 00:51:30 +08:00
|
|
|
qemuxml2argvtest.c testutilsqemu.c testutilsqemu.h \
|
2007-07-19 05:34:22 +08:00
|
|
|
testutils.c testutils.h
|
2012-04-02 23:45:01 +08:00
|
|
|
qemuxml2argvtest_LDADD = $(qemu_LDADDS)
|
2007-07-19 05:34:22 +08:00
|
|
|
|
|
|
|
qemuxml2xmltest_SOURCES = \
|
2008-05-17 00:51:30 +08:00
|
|
|
qemuxml2xmltest.c testutilsqemu.c testutilsqemu.h \
|
2007-07-19 05:34:22 +08:00
|
|
|
testutils.c testutils.h
|
2012-04-02 23:45:01 +08:00
|
|
|
qemuxml2xmltest_LDADD = $(qemu_LDADDS)
|
2009-05-21 22:22:51 +08:00
|
|
|
|
2011-10-19 03:16:01 +08:00
|
|
|
qemuxmlnstest_SOURCES = \
|
|
|
|
qemuxmlnstest.c testutilsqemu.c testutilsqemu.h \
|
|
|
|
testutils.c testutils.h
|
2012-04-02 23:45:01 +08:00
|
|
|
qemuxmlnstest_LDADD = $(qemu_LDADDS)
|
2011-10-19 03:16:01 +08:00
|
|
|
|
2009-05-21 22:22:51 +08:00
|
|
|
qemuargv2xmltest_SOURCES = \
|
|
|
|
qemuargv2xmltest.c testutilsqemu.c testutilsqemu.h \
|
|
|
|
testutils.c testutils.h
|
2012-04-02 23:45:01 +08:00
|
|
|
qemuargv2xmltest_LDADD = $(qemu_LDADDS)
|
2009-06-11 22:17:42 +08:00
|
|
|
|
|
|
|
qemuhelptest_SOURCES = qemuhelptest.c testutils.c testutils.h
|
2012-04-02 23:45:01 +08:00
|
|
|
qemuhelptest_LDADD = $(qemu_LDADDS)
|
2011-09-23 04:29:00 +08:00
|
|
|
|
2012-02-26 08:48:02 +08:00
|
|
|
qemumonitortest_SOURCES = qemumonitortest.c testutils.c testutils.h
|
2012-04-02 23:45:01 +08:00
|
|
|
qemumonitortest_LDADD = $(qemu_LDADDS)
|
2012-02-26 08:48:02 +08:00
|
|
|
|
2011-09-23 04:29:00 +08:00
|
|
|
domainsnapshotxml2xmltest_SOURCES = \
|
|
|
|
domainsnapshotxml2xmltest.c testutilsqemu.c testutilsqemu.h \
|
|
|
|
testutils.c testutils.h
|
2012-04-02 23:45:01 +08:00
|
|
|
domainsnapshotxml2xmltest_LDADD = $(qemu_LDADDS)
|
2008-11-18 20:46:13 +08:00
|
|
|
else
|
2011-09-23 04:29:00 +08:00
|
|
|
EXTRA_DIST += qemuxml2argvtest.c qemuxml2xmltest.c qemuargv2xmltest.c \
|
|
|
|
qemuxmlnstest.c qemuhelptest.c domainsnapshotxml2xmltest.c \
|
2012-02-26 08:48:02 +08:00
|
|
|
qemumonitortest.c testutilsqemu.c testutilsqemu.h
|
2008-11-18 20:46:13 +08:00
|
|
|
endif
|
2007-07-19 05:34:22 +08:00
|
|
|
|
2012-03-27 01:09:31 +08:00
|
|
|
if WITH_LXC
|
|
|
|
|
2012-05-26 03:18:10 +08:00
|
|
|
lxc_LDADDS = ../src/libvirt_driver_lxc_impl.la
|
2012-04-02 23:45:01 +08:00
|
|
|
if WITH_NETWORK
|
2012-05-26 03:18:10 +08:00
|
|
|
lxc_LDADDS += ../src/libvirt_driver_network_impl.la
|
2012-04-02 23:45:01 +08:00
|
|
|
endif
|
|
|
|
lxc_LDADDS += $(LDADDS)
|
2012-03-27 01:09:31 +08:00
|
|
|
|
|
|
|
lxcxml2xmltest_SOURCES = \
|
|
|
|
lxcxml2xmltest.c testutilslxc.c testutilslxc.h \
|
|
|
|
testutils.c testutils.h
|
2012-04-02 23:45:01 +08:00
|
|
|
lxcxml2xmltest_LDADD = $(lxc_LDADDS)
|
2012-03-27 01:09:31 +08:00
|
|
|
else
|
|
|
|
EXTRA_DIST += lxcxml2xmltest.c testutilslxc.c testutilslxc.h
|
|
|
|
endif
|
|
|
|
|
2011-05-27 01:45:41 +08:00
|
|
|
if WITH_OPENVZ
|
|
|
|
openvzutilstest_SOURCES = \
|
|
|
|
openvzutilstest.c \
|
|
|
|
testutils.c testutils.h
|
2012-04-02 23:45:01 +08:00
|
|
|
openvzutilstest_LDADD = $(LDADDS)
|
2011-05-27 01:45:41 +08:00
|
|
|
else
|
|
|
|
EXTRA_DIST += openvzutilstest.c
|
|
|
|
endif
|
|
|
|
EXTRA_DIST += openvzutilstest.conf
|
|
|
|
|
2009-09-23 20:25:52 +08:00
|
|
|
if WITH_ESX
|
|
|
|
esxutilstest_SOURCES = \
|
|
|
|
esxutilstest.c \
|
|
|
|
testutils.c testutils.h
|
2012-04-02 23:45:01 +08:00
|
|
|
esxutilstest_LDADD = $(LDADDS)
|
2010-12-22 05:39:55 +08:00
|
|
|
else
|
|
|
|
EXTRA_DIST += esxutilstest.c
|
|
|
|
endif
|
2009-09-23 20:25:52 +08:00
|
|
|
|
2010-12-22 05:39:55 +08:00
|
|
|
if WITH_VMX
|
2009-09-23 20:25:52 +08:00
|
|
|
vmx2xmltest_SOURCES = \
|
|
|
|
vmx2xmltest.c \
|
|
|
|
testutils.c testutils.h
|
2012-04-02 23:45:01 +08:00
|
|
|
vmx2xmltest_LDADD = $(LDADDS)
|
2009-09-23 20:25:52 +08:00
|
|
|
|
|
|
|
xml2vmxtest_SOURCES = \
|
|
|
|
xml2vmxtest.c \
|
|
|
|
testutils.c testutils.h
|
2012-04-02 23:45:01 +08:00
|
|
|
xml2vmxtest_LDADD = $(LDADDS)
|
2009-09-23 20:25:52 +08:00
|
|
|
else
|
2010-12-22 05:39:55 +08:00
|
|
|
EXTRA_DIST += vmx2xmltest.c xml2vmxtest.c
|
2009-09-23 20:25:52 +08:00
|
|
|
endif
|
|
|
|
|
2009-10-09 20:47:43 +08:00
|
|
|
networkxml2xmltest_SOURCES = \
|
|
|
|
networkxml2xmltest.c \
|
|
|
|
testutils.c testutils.h
|
|
|
|
networkxml2xmltest_LDADD = $(LDADDS)
|
|
|
|
|
2011-07-05 21:26:18 +08:00
|
|
|
if WITH_NETWORK
|
2011-06-24 18:04:37 +08:00
|
|
|
networkxml2argvtest_SOURCES = \
|
|
|
|
networkxml2argvtest.c \
|
|
|
|
testutils.c testutils.h
|
2012-05-26 03:18:10 +08:00
|
|
|
networkxml2argvtest_LDADD = ../src/libvirt_driver_network_impl.la $(LDADDS)
|
2011-07-05 21:26:18 +08:00
|
|
|
else
|
|
|
|
EXTRA_DIST += networkxml2argvtest.c
|
|
|
|
endif
|
2011-06-24 18:04:37 +08:00
|
|
|
|
2012-07-19 03:06:58 +08:00
|
|
|
if WITH_STORAGE_SHEEPDOG
|
|
|
|
storagebackendsheepdogtest_SOURCES = \
|
|
|
|
storagebackendsheepdogtest.c \
|
|
|
|
testutils.c testutils.h
|
|
|
|
storagebackendsheepdogtest_LDADD = ../src/libvirt_driver_storage.la $(LDADDS)
|
|
|
|
else
|
|
|
|
EXTRA_DIST += storagebackendsheepdogtest.c
|
|
|
|
endif
|
|
|
|
|
2010-04-03 01:28:28 +08:00
|
|
|
nwfilterxml2xmltest_SOURCES = \
|
|
|
|
nwfilterxml2xmltest.c \
|
|
|
|
testutils.c testutils.h
|
|
|
|
nwfilterxml2xmltest_LDADD = $(LDADDS)
|
|
|
|
|
2009-10-10 02:17:21 +08:00
|
|
|
storagevolxml2xmltest_SOURCES = \
|
|
|
|
storagevolxml2xmltest.c \
|
|
|
|
testutils.c testutils.h
|
|
|
|
storagevolxml2xmltest_LDADD = $(LDADDS)
|
|
|
|
|
2009-10-09 05:26:30 +08:00
|
|
|
storagepoolxml2xmltest_SOURCES = \
|
|
|
|
storagepoolxml2xmltest.c \
|
|
|
|
testutils.c testutils.h
|
|
|
|
storagepoolxml2xmltest_LDADD = $(LDADDS)
|
|
|
|
|
2009-02-24 22:58:32 +08:00
|
|
|
nodedevxml2xmltest_SOURCES = \
|
|
|
|
nodedevxml2xmltest.c \
|
|
|
|
testutils.c testutils.h
|
2009-03-04 01:00:18 +08:00
|
|
|
nodedevxml2xmltest_LDADD = $(LDADDS)
|
2009-02-24 22:58:32 +08:00
|
|
|
|
2009-07-16 01:50:34 +08:00
|
|
|
interfacexml2xmltest_SOURCES = \
|
|
|
|
interfacexml2xmltest.c \
|
|
|
|
testutils.c testutils.h
|
|
|
|
interfacexml2xmltest_LDADD = $(LDADDS)
|
|
|
|
|
2010-10-07 22:35:17 +08:00
|
|
|
cputest_SOURCES = \
|
|
|
|
cputest.c \
|
|
|
|
testutils.c testutils.h
|
|
|
|
cputest_LDADD = $(LDADDS)
|
|
|
|
|
2006-08-25 05:46:28 +08:00
|
|
|
virshtest_SOURCES = \
|
|
|
|
virshtest.c \
|
|
|
|
testutils.c testutils.h
|
|
|
|
virshtest_LDADD = $(LDADDS)
|
|
|
|
|
2006-08-30 06:27:07 +08:00
|
|
|
conftest_SOURCES = \
|
|
|
|
conftest.c
|
|
|
|
conftest_LDADD = $(LDADDS)
|
|
|
|
|
2007-07-26 07:16:30 +08:00
|
|
|
nodeinfotest_SOURCES = \
|
|
|
|
nodeinfotest.c testutils.h testutils.c
|
|
|
|
nodeinfotest_LDADD = $(LDADDS)
|
|
|
|
|
2010-05-25 19:14:06 +08:00
|
|
|
commandtest_SOURCES = \
|
|
|
|
commandtest.c testutils.h testutils.c
|
build: consistently use CFLAGS
According to the automake manual, CPPFLAGS (aka INCLUDES, as spelled
in automake 1.9.6) should only include -I, -D, and -U directives; more
generic directives like -Wall belong in CFLAGS since they affect more
phases of the build process. Therefore, we should be sticking CFLAGS
additions into a CFLAGS container, not a CPPFLAGS container.
* src/Makefile.am (libvirt_driver_vmware_la_CFLAGS): Use AM_CFLAGS.
(INCLUDES): Move CFLAGS items...
(AM_CFLAGS): ...to their proper location.
* python/Makefile.am (INCLUDES, AM_CFLAGS): Likewise.
* tests/Makefile.am (INCLUDES, AM_CFLAGS): Likewise.
(commandtest_CFLAGS, commandhelper_CFLAGS)
(virnetmessagetest_CFLAGS, virnetsockettest_CFLAGS): Use AM_CFLAGS.
2011-06-01 06:15:28 +08:00
|
|
|
commandtest_CFLAGS = -Dabs_builddir="\"`pwd`\"" $(AM_CFLAGS)
|
2010-05-25 19:14:06 +08:00
|
|
|
commandtest_LDADD = $(LDADDS)
|
|
|
|
|
|
|
|
commandhelper_SOURCES = \
|
|
|
|
commandhelper.c
|
build: consistently use CFLAGS
According to the automake manual, CPPFLAGS (aka INCLUDES, as spelled
in automake 1.9.6) should only include -I, -D, and -U directives; more
generic directives like -Wall belong in CFLAGS since they affect more
phases of the build process. Therefore, we should be sticking CFLAGS
additions into a CFLAGS container, not a CPPFLAGS container.
* src/Makefile.am (libvirt_driver_vmware_la_CFLAGS): Use AM_CFLAGS.
(INCLUDES): Move CFLAGS items...
(AM_CFLAGS): ...to their proper location.
* python/Makefile.am (INCLUDES, AM_CFLAGS): Likewise.
* tests/Makefile.am (INCLUDES, AM_CFLAGS): Likewise.
(commandtest_CFLAGS, commandhelper_CFLAGS)
(virnetmessagetest_CFLAGS, virnetsockettest_CFLAGS): Use AM_CFLAGS.
2011-06-01 06:15:28 +08:00
|
|
|
commandhelper_CFLAGS = -Dabs_builddir="\"`pwd`\"" $(AM_CFLAGS)
|
2010-05-25 19:14:06 +08:00
|
|
|
commandhelper_LDADD = $(LDADDS)
|
2012-04-02 23:45:01 +08:00
|
|
|
commandhelper_LDFLAGS = -static
|
2010-05-25 19:14:06 +08:00
|
|
|
|
2012-04-04 22:01:46 +08:00
|
|
|
if WITH_LIBVIRTD
|
|
|
|
libvirtdconftest_SOURCES = \
|
|
|
|
libvirtdconftest.c testutils.h testutils.c \
|
|
|
|
../daemon/libvirtd-config.c
|
|
|
|
libvirtdconftest_CFLAGS = $(AM_CFLAGS)
|
|
|
|
libvirtdconftest_LDADD = $(LDADDS)
|
|
|
|
else
|
|
|
|
EXTRA_DIST += libvirtdconftest.c
|
|
|
|
endif
|
|
|
|
|
2010-12-07 01:03:22 +08:00
|
|
|
virnetmessagetest_SOURCES = \
|
|
|
|
virnetmessagetest.c testutils.h testutils.c
|
2012-05-04 04:39:19 +08:00
|
|
|
virnetmessagetest_CFLAGS = -Dabs_builddir="\"$(abs_builddir)\"" \
|
|
|
|
$(XDR_CFLAGS) $(AM_CFLAGS)
|
2012-04-02 23:45:01 +08:00
|
|
|
virnetmessagetest_LDADD = $(LDADDS)
|
2010-12-07 01:03:22 +08:00
|
|
|
|
2010-12-07 01:03:35 +08:00
|
|
|
virnetsockettest_SOURCES = \
|
|
|
|
virnetsockettest.c testutils.h testutils.c
|
build: consistently use CFLAGS
According to the automake manual, CPPFLAGS (aka INCLUDES, as spelled
in automake 1.9.6) should only include -I, -D, and -U directives; more
generic directives like -Wall belong in CFLAGS since they affect more
phases of the build process. Therefore, we should be sticking CFLAGS
additions into a CFLAGS container, not a CPPFLAGS container.
* src/Makefile.am (libvirt_driver_vmware_la_CFLAGS): Use AM_CFLAGS.
(INCLUDES): Move CFLAGS items...
(AM_CFLAGS): ...to their proper location.
* python/Makefile.am (INCLUDES, AM_CFLAGS): Likewise.
* tests/Makefile.am (INCLUDES, AM_CFLAGS): Likewise.
(commandtest_CFLAGS, commandhelper_CFLAGS)
(virnetmessagetest_CFLAGS, virnetsockettest_CFLAGS): Use AM_CFLAGS.
2011-06-01 06:15:28 +08:00
|
|
|
virnetsockettest_CFLAGS = -Dabs_builddir="\"$(abs_builddir)\"" $(AM_CFLAGS)
|
2012-04-02 23:45:01 +08:00
|
|
|
virnetsockettest_LDADD = $(LDADDS)
|
2010-12-07 01:03:35 +08:00
|
|
|
|
2011-07-21 02:04:18 +08:00
|
|
|
virnettlscontexttest_SOURCES = \
|
2011-07-23 01:59:37 +08:00
|
|
|
virnettlscontexttest.c testutils.h testutils.c
|
2011-07-21 02:04:18 +08:00
|
|
|
virnettlscontexttest_CFLAGS = -Dabs_builddir="\"$(abs_builddir)\"" $(AM_CFLAGS)
|
2012-04-02 23:45:01 +08:00
|
|
|
virnettlscontexttest_LDADD = $(LDADDS)
|
2011-07-23 01:59:37 +08:00
|
|
|
if HAVE_LIBTASN1
|
|
|
|
virnettlscontexttest_SOURCES += pkix_asn1_tab.c
|
|
|
|
virnettlscontexttest_LDADD += -ltasn1
|
|
|
|
else
|
|
|
|
EXTRA_DIST += pkix_asn1_tab.c
|
|
|
|
endif
|
2011-07-21 02:04:18 +08:00
|
|
|
|
2011-11-29 20:11:01 +08:00
|
|
|
virtimetest_SOURCES = \
|
|
|
|
virtimetest.c testutils.h testutils.c
|
|
|
|
virtimetest_CFLAGS = -Dabs_builddir="\"$(abs_builddir)\"" $(AM_CFLAGS)
|
2012-04-02 23:45:01 +08:00
|
|
|
virtimetest_LDADD = $(LDADDS)
|
2011-11-29 20:11:01 +08:00
|
|
|
|
2012-03-20 19:55:11 +08:00
|
|
|
viruritest_SOURCES = \
|
|
|
|
viruritest.c testutils.h testutils.c
|
|
|
|
viruritest_CFLAGS = -Dabs_builddir="\"$(abs_builddir)\"" $(AM_CFLAGS)
|
2012-04-02 23:45:01 +08:00
|
|
|
viruritest_LDADD = $(LDADDS)
|
2010-12-07 01:03:22 +08:00
|
|
|
|
2012-03-17 00:29:49 +08:00
|
|
|
virkeyfiletest_SOURCES = \
|
|
|
|
virkeyfiletest.c testutils.h testutils.c
|
|
|
|
virkeyfiletest_CFLAGS = -Dabs_builddir="\"$(abs_builddir)\"" $(AM_CFLAGS)
|
2012-04-02 23:45:01 +08:00
|
|
|
virkeyfiletest_LDADD = $(LDADDS)
|
2012-03-17 00:29:49 +08:00
|
|
|
|
2012-03-20 23:40:05 +08:00
|
|
|
virauthconfigtest_SOURCES = \
|
|
|
|
virauthconfigtest.c testutils.h testutils.c
|
|
|
|
virauthconfigtest_CFLAGS = -Dabs_builddir="\"$(abs_builddir)\"" $(AM_CFLAGS)
|
2012-04-02 23:45:01 +08:00
|
|
|
virauthconfigtest_LDADD = $(LDADDS)
|
2012-03-20 23:40:05 +08:00
|
|
|
|
2009-04-03 18:55:51 +08:00
|
|
|
seclabeltest_SOURCES = \
|
|
|
|
seclabeltest.c
|
2012-07-31 17:57:10 +08:00
|
|
|
seclabeltest_LDADD = $(LDADDS) ../src/libvirt_driver_security.la
|
2009-10-08 22:34:22 +08:00
|
|
|
|
buf: Fix possible infinite loop in EscapeString, VSnprintf
The current code will go into an infinite loop if the printf generated
string is >= 1000, AND exactly 1 character smaller than the amount of free
space in the buffer. When this happens, we are dropped into the loop body,
but nothing will actually change, because count == (buf->size - buf->use - 1),
and virBufferGrow returns unchanged if count < (buf->size - buf->use)
Fix this by removing the '- 1' bit from 'size'. The *nprintf functions handle
the NULL byte for us anyways, so we shouldn't need to manually accommodate
for it.
Here's a bug where we are actually hitting this issue:
https://bugzilla.redhat.com/show_bug.cgi?id=602772
v2: Eric's improvements: while -> if (), remove extra va_list variable,
make sure we report buffer error if snprintf fails
v3: Add tests/virbuftest which reproduces the infinite loop before this
patch, works correctly after
2010-09-02 01:51:35 +08:00
|
|
|
virbuftest_SOURCES = \
|
|
|
|
virbuftest.c testutils.h testutils.c
|
|
|
|
virbuftest_LDADD = $(LDADDS)
|
|
|
|
|
2012-01-26 00:13:59 +08:00
|
|
|
virhashtest_SOURCES = \
|
|
|
|
virhashtest.c virhashdata.h testutils.h testutils.c
|
|
|
|
virhashtest_LDADD = $(LDADDS)
|
2011-04-15 19:15:37 +08:00
|
|
|
|
2011-06-30 22:08:29 +08:00
|
|
|
jsontest_SOURCES = \
|
2011-07-01 17:16:33 +08:00
|
|
|
jsontest.c testutils.h testutils.c
|
2011-06-30 22:08:29 +08:00
|
|
|
jsontest_LDADD = $(LDADDS)
|
|
|
|
|
2011-07-02 01:58:15 +08:00
|
|
|
utiltest_SOURCES = \
|
|
|
|
utiltest.c testutils.h testutils.c
|
|
|
|
utiltest_LDADD = $(LDADDS)
|
|
|
|
|
2012-04-03 00:25:30 +08:00
|
|
|
if WITH_DRIVER_MODULES
|
|
|
|
virdrivermoduletest_SOURCES = \
|
|
|
|
virdrivermoduletest.c testutils.h testutils.c
|
|
|
|
virdrivermoduletest_CFLAGS = -Dabs_builddir="\"$(abs_builddir)\"" $(AM_CFLAGS)
|
|
|
|
virdrivermoduletest_LDADD = $(LDADDS)
|
|
|
|
endif
|
|
|
|
|
2009-05-13 00:45:14 +08:00
|
|
|
if WITH_LIBVIRTD
|
|
|
|
eventtest_SOURCES = \
|
2011-02-25 01:58:04 +08:00
|
|
|
eventtest.c testutils.h testutils.c
|
2009-05-13 00:45:14 +08:00
|
|
|
eventtest_LDADD = -lrt $(LDADDS)
|
|
|
|
endif
|
|
|
|
|
Prevent crash from dlclose() of libvirt.so
When libvirt calls virInitialize it creates a thread local
for the virErrorPtr storage, and registers a callback to
cleanup memory when a thread exits. When libvirt is dlclose()d
or otherwise made non-resident, the callback function is
removed from memory, but the thread local may still exist
and if a thread later exists, it will invoke the callback
and SEGV. There may also be other thread locals with callbacks
pointing to libvirt code, so it is in general never safe to
unload libvirt.so from memory once initialized.
To allow dlclose() to succeed, but keep libvirt.so resident
in memory, link with '-z nodelete'. This issue was first
found with the libvirt CIM provider, but can potentially
hit many of the dynamic language bindings which all ultimately
involve dlopen() in some way, either on libvirt.so itself,
or on the glue code for the binding which in turns links
to libvirt
* configure.ac, src/Makefile.am: Ensure libvirt.so is linked
with -z nodelete
* cfg.mk, .gitignore, tests/Makefile.am, tests/shunloadhelper.c,
tests/shunloadtest.c: A test case to unload libvirt while
a thread is still running.
2011-09-02 00:57:06 +08:00
|
|
|
libshunload_la_SOURCES = shunloadhelper.c
|
|
|
|
libshunload_la_LIBADD = ../src/libvirt.la
|
|
|
|
libshunload_la_LDFLAGS = -module -avoid-version -rpath /evil/libtool/hack/to/force/shared/lib/creation
|
|
|
|
|
|
|
|
shunloadtest_SOURCES = \
|
|
|
|
shunloadtest.c
|
2012-05-03 02:53:04 +08:00
|
|
|
shunloadtest_LDADD = $(LIB_PTHREAD)
|
Prevent crash from dlclose() of libvirt.so
When libvirt calls virInitialize it creates a thread local
for the virErrorPtr storage, and registers a callback to
cleanup memory when a thread exits. When libvirt is dlclose()d
or otherwise made non-resident, the callback function is
removed from memory, but the thread local may still exist
and if a thread later exists, it will invoke the callback
and SEGV. There may also be other thread locals with callbacks
pointing to libvirt code, so it is in general never safe to
unload libvirt.so from memory once initialized.
To allow dlclose() to succeed, but keep libvirt.so resident
in memory, link with '-z nodelete'. This issue was first
found with the libvirt CIM provider, but can potentially
hit many of the dynamic language bindings which all ultimately
involve dlopen() in some way, either on libvirt.so itself,
or on the glue code for the binding which in turns links
to libvirt
* configure.ac, src/Makefile.am: Ensure libvirt.so is linked
with -z nodelete
* cfg.mk, .gitignore, tests/Makefile.am, tests/shunloadhelper.c,
tests/shunloadtest.c: A test case to unload libvirt while
a thread is still running.
2011-09-02 00:57:06 +08:00
|
|
|
shunloadtest_DEPENDENCIES = libshunload.la
|
|
|
|
|
2009-05-19 18:17:17 +08:00
|
|
|
if WITH_CIL
|
|
|
|
CILOPTFLAGS =
|
|
|
|
CILOPTINCS =
|
|
|
|
CILOPTPACKAGES = -package unix,str,cil
|
|
|
|
CILOPTLIBS = -linkpkg
|
|
|
|
|
|
|
|
object_locking_SOURCES = object-locking.ml
|
|
|
|
|
|
|
|
%.cmx: %.ml
|
|
|
|
ocamlfind ocamlopt $(CILOPTFLAGS) $(CILOPTINCS) $(CILOPTPACKAGES) -c $<
|
|
|
|
|
|
|
|
object-locking: object-locking.cmx object-locking-files.txt
|
|
|
|
ocamlfind ocamlopt $(CILOPTFLAGS) $(CILOPTINCS) $(CILOPTPACKAGES) $(CILOPTLIBS) $< -o $@
|
|
|
|
|
|
|
|
object-locking-files.txt:
|
|
|
|
find $(top_builddir)/src/ -name '*.i' > $@
|
|
|
|
|
|
|
|
else
|
|
|
|
EXTRA_DIST += object-locking.ml
|
|
|
|
endif
|
|
|
|
|
2009-05-27 20:07:43 +08:00
|
|
|
CLEANFILES = *.cov *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda *.cmi *.cmx object-locking-files.txt
|