From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Marc-André Lureau" <marcandre.lureau@redhat.com>
Subject: [PULL 22/25] meson: create have_vhost_* variables
Date: Fri, 29 Apr 2022 17:23:09 +0200 [thread overview]
Message-ID: <20220429152312.335715-23-pbonzini@redhat.com> (raw)
In-Reply-To: <20220429152312.335715-1-pbonzini@redhat.com>
When using Meson options rather than config-host.h, the "when" clauses
have to be changed to if statements (which is not necessarily great,
though at least it highlights which parts of the build are per-target
and which are not).
Do that before moving vhost logic to meson.build, though for now
the variables are just based on config-host.mak data.
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
meson.build | 31 ++++++++++++++++++++-----------
tests/meson.build | 2 +-
tools/meson.build | 2 +-
3 files changed, 22 insertions(+), 13 deletions(-)
diff --git a/meson.build b/meson.build
index 53654fc08e..4545905360 100644
--- a/meson.build
+++ b/meson.build
@@ -312,6 +312,15 @@ have_tpm = get_option('tpm') \
.require(targetos != 'windows', error_message: 'TPM emulation only available on POSIX systems') \
.allowed()
+# vhost
+have_vhost_user = 'CONFIG_VHOST_USER' in config_host
+have_vhost_vdpa = 'CONFIG_VHOST_VDPA' in config_host
+have_vhost_kernel = 'CONFIG_VHOST_KERNEL' in config_host
+have_vhost_net_user = 'CONFIG_VHOST_NET_USER' in config_host
+have_vhost_net_vdpa = 'CONFIG_VHOST_NET_VDPA' in config_host
+have_vhost_net = 'CONFIG_VHOST_NET' in config_host
+have_vhost_user_crypto = 'CONFIG_VHOST_CRYPTO' in config_host
+
# Target-specific libraries and flags
libm = cc.find_library('m', required: false)
threads = dependency('threads')
@@ -1442,7 +1451,7 @@ has_statx_mnt_id = cc.links(statx_mnt_id_test)
have_vhost_user_blk_server = get_option('vhost_user_blk_server') \
.require(targetos == 'linux',
error_message: 'vhost_user_blk_server requires linux') \
- .require('CONFIG_VHOST_USER' in config_host,
+ .require(have_vhost_user,
error_message: 'vhost_user_blk_server requires vhost-user support') \
.disable_auto_if(not have_system) \
.allowed()
@@ -2296,9 +2305,9 @@ host_kconfig = \
(have_ivshmem ? ['CONFIG_IVSHMEM=y'] : []) + \
(opengl.found() ? ['CONFIG_OPENGL=y'] : []) + \
(x11.found() ? ['CONFIG_X11=y'] : []) + \
- ('CONFIG_VHOST_USER' in config_host ? ['CONFIG_VHOST_USER=y'] : []) + \
- ('CONFIG_VHOST_VDPA' in config_host ? ['CONFIG_VHOST_VDPA=y'] : []) + \
- ('CONFIG_VHOST_KERNEL' in config_host ? ['CONFIG_VHOST_KERNEL=y'] : []) + \
+ (have_vhost_user ? ['CONFIG_VHOST_USER=y'] : []) + \
+ (have_vhost_vdpa ? ['CONFIG_VHOST_VDPA=y'] : []) + \
+ (have_vhost_kernel ? ['CONFIG_VHOST_KERNEL=y'] : []) + \
(have_virtfs ? ['CONFIG_VIRTFS=y'] : []) + \
('CONFIG_LINUX' in config_host ? ['CONFIG_LINUX=y'] : []) + \
(have_pvrdma ? ['CONFIG_PVRDMA=y'] : []) + \
@@ -2980,7 +2989,7 @@ if have_system or have_user
endif
vhost_user = not_found
-if targetos == 'linux' and 'CONFIG_VHOST_USER' in config_host
+if targetos == 'linux' and have_vhost_user
libvhost_user = subproject('libvhost-user')
vhost_user = libvhost_user.get_variable('vhost_user_dep')
endif
@@ -3561,7 +3570,7 @@ if have_tools
dependencies: qemuutil,
install: true)
- if 'CONFIG_VHOST_USER' in config_host
+ if have_vhost_user
subdir('contrib/vhost-user-blk')
subdir('contrib/vhost-user-gpu')
subdir('contrib/vhost-user-input')
@@ -3687,12 +3696,12 @@ if 'simple' in get_option('trace_backends')
endif
summary_info += {'D-Bus display': dbus_display}
summary_info += {'QOM debugging': get_option('qom_cast_debug')}
-summary_info += {'vhost-kernel support': config_host.has_key('CONFIG_VHOST_KERNEL')}
-summary_info += {'vhost-net support': config_host.has_key('CONFIG_VHOST_NET')}
-summary_info += {'vhost-crypto support': config_host.has_key('CONFIG_VHOST_CRYPTO')}
-summary_info += {'vhost-user support': config_host.has_key('CONFIG_VHOST_USER')}
+summary_info += {'vhost-kernel support': have_vhost_kernel}
+summary_info += {'vhost-net support': have_vhost_net}
+summary_info += {'vhost-user support': have_vhost_user}
+summary_info += {'vhost-user-crypto support': have_vhost_user_crypto}
summary_info += {'vhost-user-blk server support': have_vhost_user_blk_server}
-summary_info += {'vhost-vdpa support': config_host.has_key('CONFIG_VHOST_VDPA')}
+summary_info += {'vhost-vdpa support': have_vhost_vdpa}
summary_info += {'build guest agent': have_ga}
summary(summary_info, bool_yn: true, section: 'Configurable features')
diff --git a/tests/meson.build b/tests/meson.build
index 4f691e8465..8e318ec513 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -68,7 +68,7 @@ test_deps = {
'test-qht-par': qht_bench,
}
-if have_tools and 'CONFIG_VHOST_USER' in config_host and 'CONFIG_LINUX' in config_host
+if have_tools and have_vhost_user and 'CONFIG_LINUX' in config_host
executable('vhost-user-bridge',
sources: files('vhost-user-bridge.c'),
dependencies: [qemuutil, vhost_user])
diff --git a/tools/meson.build b/tools/meson.build
index 46977af84f..10eb3a043f 100644
--- a/tools/meson.build
+++ b/tools/meson.build
@@ -3,7 +3,7 @@ have_virtiofsd = get_option('virtiofsd') \
error_message: 'virtiofsd requires Linux') \
.require(seccomp.found() and libcap_ng.found(),
error_message: 'virtiofsd requires libcap-ng-devel and seccomp-devel') \
- .require('CONFIG_VHOST_USER' in config_host,
+ .require(have_vhost_user,
error_message: 'virtiofsd needs vhost-user-support') \
.disable_auto_if(not have_tools and not have_system) \
.allowed()
--
2.35.1
next prev parent reply other threads:[~2022-04-29 15:38 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-29 15:22 [PULL 00/25] Misc patches for 2022-04-29 Paolo Bonzini
2022-04-29 15:22 ` [PULL 01/25] WHPX: support for xcr0 Paolo Bonzini
2022-04-29 15:22 ` [PULL 02/25] configure: Add cross prefix for widl tool Paolo Bonzini
2022-04-29 15:22 ` [PULL 03/25] qga-vss: always build qga-vss.tlb when qga-vss.dll is built Paolo Bonzini
2022-04-29 15:22 ` [PULL 04/25] meson-buildoptions: add support for string options Paolo Bonzini
2022-04-29 15:22 ` [PULL 05/25] meson, configure: move Xen detection to meson Paolo Bonzini
2022-04-29 15:22 ` [PULL 06/25] configure, meson: move iasl " Paolo Bonzini
2022-04-29 15:22 ` [PULL 07/25] configure: move Windows flags " Paolo Bonzini
2022-04-29 15:22 ` [PULL 08/25] configure: switch string options to automatic parsing Paolo Bonzini
2022-04-29 15:22 ` [PULL 09/25] meson, configure: move --tls-priority to meson Paolo Bonzini
2022-04-29 15:22 ` [PULL 10/25] meson, configure: move bdrv whitelists " Paolo Bonzini
2022-04-29 15:22 ` [PULL 11/25] meson, configure: move --with-pkgversion, CONFIG_STAMP " Paolo Bonzini
2022-04-29 15:22 ` [PULL 12/25] meson, configure: move --interp-prefix " Paolo Bonzini
2022-04-29 15:23 ` [PULL 13/25] meson: always combine directories with prefix Paolo Bonzini
2022-04-29 15:23 ` [PULL 14/25] configure: switch directory options to automatic parsing Paolo Bonzini
2022-04-29 15:23 ` [PULL 15/25] meson: pass more options directly as -D Paolo Bonzini
2022-04-29 15:23 ` [PULL 16/25] configure: omit options with default values from meson command line Paolo Bonzini
2022-04-29 15:23 ` [PULL 17/25] meson, virtio: place all virtio-pci devices under virtio_pci_ss Paolo Bonzini
2022-04-29 15:23 ` [PULL 18/25] configure: simplify vhost-net-{user, vdpa} configuration Paolo Bonzini
2022-04-29 15:23 ` [PULL 19/25] build: move vhost-vsock configuration to Kconfig Paolo Bonzini
2022-04-29 15:23 ` [PULL 20/25] build: move vhost-scsi " Paolo Bonzini
2022-04-29 15:23 ` [PULL 21/25] build: move vhost-user-fs " Paolo Bonzini
2022-04-29 15:23 ` Paolo Bonzini [this message]
2022-04-29 15:23 ` [PULL 23/25] meson: use have_vhost_* variables to pick sources Paolo Bonzini
2022-04-29 15:23 ` [PULL 24/25] configure, meson: move vhost options to Meson Paolo Bonzini
2022-04-29 15:23 ` [PULL 25/25] pc: remove -soundhw pcspk Paolo Bonzini
2022-04-30 0:21 ` [PULL 00/25] Misc patches for 2022-04-29 Richard Henderson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220429152312.335715-23-pbonzini@redhat.com \
--to=pbonzini@redhat.com \
--cc=marcandre.lureau@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).