summaryrefslogtreecommitdiffstats
path: root/meson.build
diff options
context:
space:
mode:
authorXie Yongji2022-05-23 10:46:08 +0200
committerKevin Wolf2022-06-24 17:07:06 +0200
commita6caeee8111386b2d16ee07fe817193cde7f0d2a (patch)
treee6d18efd5cf0a600ae24b926d86529b478aea1a5 /meson.build
parentlinux-headers: Add vduse.h (diff)
downloadqemu-a6caeee8111386b2d16ee07fe817193cde7f0d2a.tar.gz
qemu-a6caeee8111386b2d16ee07fe817193cde7f0d2a.tar.xz
qemu-a6caeee8111386b2d16ee07fe817193cde7f0d2a.zip
libvduse: Add VDUSE (vDPA Device in Userspace) library
VDUSE [1] is a linux framework that makes it possible to implement software-emulated vDPA devices in userspace. This adds a library as a subproject to help implementing VDUSE backends in QEMU. [1] https://www.kernel.org/doc/html/latest/userspace-api/vduse.html Signed-off-by: Xie Yongji <xieyongji@bytedance.com> Message-Id: <20220523084611.91-6-xieyongji@bytedance.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build15
1 files changed, 15 insertions, 0 deletions
diff --git a/meson.build b/meson.build
index 9efcb175d1..ecfe31ca87 100644
--- a/meson.build
+++ b/meson.build
@@ -1541,6 +1541,15 @@ if get_option('fuse_lseek').allowed()
endif
endif
+have_libvduse = (targetos == 'linux')
+if get_option('libvduse').enabled()
+ if targetos != 'linux'
+ error('libvduse requires linux')
+ endif
+elif get_option('libvduse').disabled()
+ have_libvduse = false
+endif
+
# libbpf
libbpf = dependency('libbpf', required: get_option('bpf'), method: 'pkg-config')
if libbpf.found() and not cc.links('''
@@ -2986,6 +2995,12 @@ if targetos == 'linux' and have_vhost_user
vhost_user = libvhost_user.get_variable('vhost_user_dep')
endif
+libvduse = not_found
+if have_libvduse
+ libvduse_proj = subproject('libvduse')
+ libvduse = libvduse_proj.get_variable('libvduse_dep')
+endif
+
# NOTE: the trace/ subdirectory needs the qapi_trace_events variable
# that is filled in by qapi/.
subdir('qapi')