mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
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>
This commit is contained in:
parent
43a363ae35
commit
a436d6d412
2 changed files with 37 additions and 68 deletions
|
@ -1,25 +1,12 @@
|
|||
have_virtiofsd = (targetos == 'linux' and
|
||||
have_tools and
|
||||
seccomp.found() and
|
||||
libcap_ng.found() and
|
||||
'CONFIG_VHOST_USER' in config_host)
|
||||
|
||||
if get_option('virtiofsd').enabled()
|
||||
if not have_virtiofsd
|
||||
if targetos != 'linux'
|
||||
error('virtiofsd requires Linux')
|
||||
elif not seccomp.found() or not libcap_ng.found()
|
||||
error('virtiofsd requires libcap-ng-devel and seccomp-devel')
|
||||
elif 'CONFIG_VHOST_USER' not in config_host
|
||||
error('virtiofsd needs vhost-user support')
|
||||
else
|
||||
# Disabled all the tools but virtiofsd.
|
||||
have_virtiofsd = true
|
||||
endif
|
||||
endif
|
||||
elif get_option('virtiofsd').disabled() or not have_system
|
||||
have_virtiofsd = false
|
||||
endif
|
||||
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()
|
||||
|
||||
if have_virtiofsd
|
||||
subdir('virtiofsd')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue