summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2019-06-10 12:21:14 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2020-08-21 06:30:09 -0400
commit99650b628f03564d5c2ac022eb0430ddaab038da (patch)
treeb495e8c290706c7362bbba8ed7ccd005f53d2013
parent7af0dbf990afea54b6c2a186f7b6ec27c87304a8 (diff)
downloadqemu-99650b628f03564d5c2ac022eb0430ddaab038da.zip
contrib/vhost-user-scsi: convert to Meson
The libiscsi pkg-config information is extracted from config-host.mak and used to link vhost-user-blk. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--Makefile3
-rw-r--r--Makefile.objs3
-rw-r--r--contrib/vhost-user-scsi/Makefile.objs1
-rw-r--r--contrib/vhost-user-scsi/meson.build7
-rw-r--r--meson.build6
5 files changed, 13 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index e387b67a3b..1f5a710f77 100644
--- a/Makefile
+++ b/Makefile
@@ -312,7 +312,6 @@ dummy := $(call unnest-vars,, \
ivshmem-client-obj-y \
ivshmem-server-obj-y \
rdmacm-mux-obj-y \
- vhost-user-scsi-obj-y \
vhost-user-input-obj-y \
vhost-user-gpu-obj-y \
qga-vss-dll-obj-y \
@@ -533,8 +532,6 @@ ivshmem-client$(EXESUF): $(ivshmem-client-obj-y) $(COMMON_LDADDS)
ivshmem-server$(EXESUF): $(ivshmem-server-obj-y) $(COMMON_LDADDS)
$(call LINK, $^)
endif
-vhost-user-scsi$(EXESUF): $(vhost-user-scsi-obj-y) contrib/libvhost-user/libvhost-user.a $(COMMON_LDADDS)
- $(call LINK, $^)
rdmacm-mux$(EXESUF): LIBS += "-libumad"
rdmacm-mux$(EXESUF): $(rdmacm-mux-obj-y) $(COMMON_LDADDS)
diff --git a/Makefile.objs b/Makefile.objs
index f69736c10c..ab798b08a7 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -106,9 +106,6 @@ qga-vss-dll-obj-y = qga/
elf2dmp-obj-y = contrib/elf2dmp/
ivshmem-client-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-client/
ivshmem-server-obj-$(CONFIG_IVSHMEM) = contrib/ivshmem-server/
-vhost-user-scsi.o-cflags := $(LIBISCSI_CFLAGS)
-vhost-user-scsi.o-libs := $(LIBISCSI_LIBS)
-vhost-user-scsi-obj-y = contrib/vhost-user-scsi/
rdmacm-mux-obj-y = contrib/rdmacm-mux/
vhost-user-input-obj-y = contrib/vhost-user-input/
vhost-user-gpu-obj-y = contrib/vhost-user-gpu/
diff --git a/contrib/vhost-user-scsi/Makefile.objs b/contrib/vhost-user-scsi/Makefile.objs
deleted file mode 100644
index e83a38a85b..0000000000
--- a/contrib/vhost-user-scsi/Makefile.objs
+++ /dev/null
@@ -1 +0,0 @@
-vhost-user-scsi-obj-y = vhost-user-scsi.o
diff --git a/contrib/vhost-user-scsi/meson.build b/contrib/vhost-user-scsi/meson.build
new file mode 100644
index 0000000000..257cbffc8e
--- /dev/null
+++ b/contrib/vhost-user-scsi/meson.build
@@ -0,0 +1,7 @@
+if 'CONFIG_LIBISCSI' in config_host
+ executable('vhost-user-scsi', files('vhost-user-scsi.c'),
+ link_with: libvhost_user,
+ dependencies: [qemuutil, libiscsi],
+ build_by_default: targetos == 'linux',
+ install: false)
+endif
diff --git a/meson.build b/meson.build
index 4343f0be6c..4c067d9fe6 100644
--- a/meson.build
+++ b/meson.build
@@ -92,6 +92,11 @@ libcap_ng = not_found
if 'CONFIG_LIBCAP_NG' in config_host
libcap_ng = declare_dependency(link_args: config_host['LIBCAP_NG_LIBS'].split())
endif
+libiscsi = not_found
+if 'CONFIG_LIBISCSI' in config_host
+ libiscsi = declare_dependency(compile_args: config_host['LIBISCSI_CFLAGS'].split(),
+ link_args: config_host['LIBISCSI_LIBS'].split())
+endif
target_dirs = config_host['TARGET_DIRS'].split()
have_user = false
@@ -258,6 +263,7 @@ if have_tools
if 'CONFIG_VHOST_USER' in config_host
subdir('contrib/libvhost-user')
subdir('contrib/vhost-user-blk')
+ subdir('contrib/vhost-user-scsi')
endif
endif