aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@redhat.com>2019-08-15 15:15:32 +0400
committerPaolo Bonzini <pbonzini@redhat.com>2020-08-21 06:30:24 -0400
commit582ea95f5f9389677734637bdc021588c393bc3b (patch)
tree44905af3085a87e09b476a43fcecceb2e107bc1b
parent5242523b5f35813c8e088bc8eae2fb4d4aa50dd6 (diff)
meson: convert hw/xen
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rwxr-xr-xconfigure7
-rw-r--r--hw/Makefile.objs1
-rw-r--r--hw/meson.build1
-rw-r--r--hw/xen/Makefile.objs7
-rw-r--r--hw/xen/meson.build20
-rw-r--r--meson.build6
6 files changed, 32 insertions, 10 deletions
diff --git a/configure b/configure
index 09e1ffc1a0..ddbe1f4569 100755
--- a/configure
+++ b/configure
@@ -2740,6 +2740,8 @@ if test "$xen" != "no" ; then
fi
QEMU_CFLAGS="$QEMU_CFLAGS $($pkg_config --cflags $xen_pc)"
libs_softmmu="$($pkg_config --libs $xen_pc) $libs_softmmu"
+ xen_cflags="$($pkg_config --cflags $xen_pc)"
+ xen_libs="$($pkg_config --libs $xen_pc)"
else
xen_libs="-lxenstore -lxenctrl -lxenguest"
@@ -3020,9 +3022,8 @@ EOF
if test "$xen" = yes; then
if test $xen_ctrl_version -ge 40701 ; then
- libs_softmmu="$xen_stable_libs $libs_softmmu"
+ xen_libs="$xen_libs $xen_stable_libs "
fi
- libs_softmmu="$xen_libs $libs_softmmu"
fi
fi
fi
@@ -7313,6 +7314,8 @@ fi
if test "$xen" = "yes" ; then
echo "CONFIG_XEN_BACKEND=y" >> $config_host_mak
echo "CONFIG_XEN_CTRL_INTERFACE_VERSION=$xen_ctrl_version" >> $config_host_mak
+ echo "XEN_CFLAGS=$xen_cflags" >> $config_host_mak
+ echo "XEN_LIBS=$xen_libs" >> $config_host_mak
fi
if test "$linux_aio" = "yes" ; then
echo "CONFIG_LINUX_AIO=y" >> $config_host_mak
diff --git a/hw/Makefile.objs b/hw/Makefile.objs
index 14b7ea4eb6..d204a906af 100644
--- a/hw/Makefile.objs
+++ b/hw/Makefile.objs
@@ -35,7 +35,6 @@ devices-dirs-y += usb/
devices-dirs-$(CONFIG_VFIO) += vfio/
devices-dirs-y += virtio/
devices-dirs-y += watchdog/
-devices-dirs-$(CONFIG_XEN) += xen/
devices-dirs-$(CONFIG_MEM_DEVICE) += mem/
devices-dirs-$(CONFIG_NUBUS) += nubus/
devices-dirs-y += semihosting/
diff --git a/hw/meson.build b/hw/meson.build
new file mode 100644
index 0000000000..08112a5e4b
--- /dev/null
+++ b/hw/meson.build
@@ -0,0 +1 @@
+subdir('xen')
diff --git a/hw/xen/Makefile.objs b/hw/xen/Makefile.objs
deleted file mode 100644
index 502b32d877..0000000000
--- a/hw/xen/Makefile.objs
+++ /dev/null
@@ -1,7 +0,0 @@
-# xen backend driver support
-common-obj-y += xen-legacy-backend.o xen_devconfig.o xen_pvdev.o xen-bus.o xen-bus-helper.o xen-backend.o
-
-obj-$(CONFIG_XEN_PCI_PASSTHROUGH) += xen-host-pci-device.o
-obj-$(CONFIG_XEN_PCI_PASSTHROUGH) += xen_pt.o xen_pt_config_init.o xen_pt_graphics.o xen_pt_msi.o
-obj-$(CONFIG_XEN_PCI_PASSTHROUGH) += xen_pt_load_rom.o
-obj-$(call lnot,$(CONFIG_XEN_PCI_PASSTHROUGH)) += xen_pt_stub.o
diff --git a/hw/xen/meson.build b/hw/xen/meson.build
new file mode 100644
index 0000000000..076954b89c
--- /dev/null
+++ b/hw/xen/meson.build
@@ -0,0 +1,20 @@
+softmmu_ss.add(when: ['CONFIG_XEN', xen], if_true: files(
+ 'xen-backend.c',
+ 'xen-bus-helper.c',
+ 'xen-bus.c',
+ 'xen-legacy-backend.c',
+ 'xen_devconfig.c',
+ 'xen_pvdev.c',
+))
+
+xen_specific_ss = ss.source_set()
+xen_specific_ss.add(when: 'CONFIG_XEN_PCI_PASSTHROUGH', if_true: files(
+ 'xen-host-pci-device.c',
+ 'xen_pt.c',
+ 'xen_pt_config_init.c',
+ 'xen_pt_graphics.c',
+ 'xen_pt_load_rom.c',
+ 'xen_pt_msi.c',
+), if_false: files('xen_pt_stub.c'))
+
+specific_ss.add_all(when: ['CONFIG_XEN', xen], if_true: xen_specific_ss)
diff --git a/meson.build b/meson.build
index edb635347c..aa715e5428 100644
--- a/meson.build
+++ b/meson.build
@@ -325,6 +325,11 @@ numa = not_found
if 'CONFIG_NUMA' in config_host
numa = declare_dependency(link_args: config_host['NUMA_LIBS'].split())
endif
+xen = not_found
+if 'CONFIG_XEN_BACKEND' in config_host
+ xen = declare_dependency(compile_args: config_host['XEN_CFLAGS'].split(),
+ link_args: config_host['XEN_LIBS'].split())
+endif
create_config = find_program('scripts/create_config')
minikconf = find_program('scripts/minikconf.py')
@@ -678,6 +683,7 @@ subdir('migration')
subdir('monitor')
subdir('net')
subdir('replay')
+subdir('hw')
# needed for fuzzing binaries
subdir('tests/qtest/libqos')