meson: use .require() and .disable_auto_if() method for features
The method is now in 0.59, using it simplifies some conditionals.
There is a small change, which is to build virtfs-proxy-helper in a
tools-only build. This is done for consistency with other tools,
which are not culled by the absence of system emulator binaries.
.disable_auto_if() would also be useful to check for packages,
for example
-linux_io_uring = not_found
-if not get_option('linux_io_uring').auto() or have_block
- linux_io_uring = dependency('liburing', required: get_option('linux_io_uring'),
- method: 'pkg-config', kwargs: static_kwargs)
-endif
+linux_io_uring = dependency('liburing',
+ required: get_option('linux_io_uring').disable_auto_if(not have_block),
+ method: 'pkg-config', kwargs: static_kwargs)
This change however is much larger and I am not sure about the improved
readability, so I am not performing it right now.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-12-18 15:39:43 +00:00
|
|
|
have_virtiofsd = get_option('virtiofsd') \
|
|
|
|
.require(targetos == 'linux',
|
|
|
|
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,
|
|
|
|
error_message: 'virtiofsd needs vhost-user-support') \
|
|
|
|
.disable_auto_if(not have_tools and not have_system) \
|
|
|
|
.allowed()
|
2020-10-08 10:31:33 +00:00
|
|
|
|
2020-02-05 08:45:39 +00:00
|
|
|
if have_virtiofsd
|
|
|
|
subdir('virtiofsd')
|
|
|
|
endif
|