diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2022-04-20 17:34:07 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2022-05-07 07:46:59 +0200 |
commit | 2df89d542000819f0dd45134e24174997aca214e (patch) | |
tree | 26ef37c9ebe5521695310e35ffafd7e20a46dc2a /meson.build | |
parent | 43b6d7ee1fbc5b5fb7c85d8131fdac1863214ad6 (diff) |
configure, meson: move vhost options to Meson
Finish the conversion by moving all the definitions and the constraint
checks to meson_options.txt and meson.build respectively.
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'meson.build')
-rw-r--r-- | meson.build | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/meson.build b/meson.build index 6627bf02ee..40132b4804 100644 --- a/meson.build +++ b/meson.build @@ -313,14 +313,26 @@ have_tpm = get_option('tpm') \ .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 = get_option('vhost_user') \ + .disable_auto_if(targetos != 'linux') \ + .require(targetos != 'windows', + error_message: 'vhost-user is not available on Windows').allowed() +have_vhost_vdpa = get_option('vhost_vdpa') \ + .require(targetos == 'linux', + error_message: 'vhost-vdpa is only available on Linux').allowed() +have_vhost_kernel = get_option('vhost_kernel') \ + .require(targetos == 'linux', + error_message: 'vhost-kernel is only available on Linux').allowed() +have_vhost_user_crypto = get_option('vhost_crypto') \ + .require(have_vhost_user, + error_message: 'vhost-crypto requires vhost-user to be enabled').allowed() + have_vhost = have_vhost_user or have_vhost_vdpa or have_vhost_kernel -have_vhost_user_crypto = 'CONFIG_VHOST_CRYPTO' in config_host + +have_vhost_net_user = have_vhost_user and get_option('vhost_net').allowed() +have_vhost_net_vdpa = have_vhost_vdpa and get_option('vhost_net').allowed() +have_vhost_net_kernel = have_vhost_kernel and get_option('vhost_net').allowed() +have_vhost_net = have_vhost_net_kernel or have_vhost_net_user or have_vhost_net_vdpa # Target-specific libraries and flags libm = cc.find_library('m', required: false) @@ -1711,6 +1723,13 @@ config_host_data.set('CONFIG_SNAPPY', snappy.found()) config_host_data.set('CONFIG_TPM', have_tpm) config_host_data.set('CONFIG_USB_LIBUSB', libusb.found()) config_host_data.set('CONFIG_VDE', vde.found()) +config_host_data.set('CONFIG_VHOST_NET', have_vhost_net) +config_host_data.set('CONFIG_VHOST_NET_USER', have_vhost_net_user) +config_host_data.set('CONFIG_VHOST_NET_VDPA', have_vhost_net_vdpa) +config_host_data.set('CONFIG_VHOST_KERNEL', have_vhost_kernel) +config_host_data.set('CONFIG_VHOST_USER', have_vhost_user) +config_host_data.set('CONFIG_VHOST_CRYPTO', have_vhost_user_crypto) +config_host_data.set('CONFIG_VHOST_VDPA', have_vhost_vdpa) config_host_data.set('CONFIG_VHOST_USER_BLK_SERVER', have_vhost_user_blk_server) config_host_data.set('CONFIG_PNG', png.found()) config_host_data.set('CONFIG_VNC', vnc.found()) |