summaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorPaolo Bonzini2021-06-01 09:54:10 +0200
committerPaolo Bonzini2021-06-04 13:47:07 +0200
commit96acfb1f2552c24af6b3ed886daabe2bd3ceff2d (patch)
tree106a3217135752b3917637fa12e0a682d83b5e6c /block
parentMerge remote-tracking branch 'remotes/rth-gitlab/tags/pull-fpu-20210603' into... (diff)
downloadqemu-96acfb1f2552c24af6b3ed886daabe2bd3ceff2d.tar.gz
qemu-96acfb1f2552c24af6b3ed886daabe2bd3ceff2d.tar.xz
qemu-96acfb1f2552c24af6b3ed886daabe2bd3ceff2d.zip
meson: allow optional dependencies for block modules
Right now all dependencies for block modules are passed to module_ss.add(when: ...), so they are mandatory. In the next patch we will need to add a libm dependency to a module, but libm does not exist on all systems. So, modify the creation of module_ss and modsrc so that dependencies can also be passed to module_ss.add(if_true: ...). While touching the array, remove the useless dependency of the curl module on glib. glib is always linked in QEMU and in fact all other block modules also need it, but they don't have to specify it. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'block')
-rw-r--r--block/meson.build18
1 files changed, 9 insertions, 9 deletions
diff --git a/block/meson.build b/block/meson.build
index e687c54dbc..9e3388f633 100644
--- a/block/meson.build
+++ b/block/meson.build
@@ -71,19 +71,19 @@ block_modules = {}
modsrc = []
foreach m : [
- [curl, 'curl', [curl, glib], 'curl.c'],
- [glusterfs, 'gluster', glusterfs, 'gluster.c'],
- [libiscsi, 'iscsi', libiscsi, 'iscsi.c'],
- [libnfs, 'nfs', libnfs, 'nfs.c'],
- [libssh, 'ssh', libssh, 'ssh.c'],
- [rbd, 'rbd', rbd, 'rbd.c'],
+ [curl, 'curl', files('curl.c')],
+ [glusterfs, 'gluster', files('gluster.c')],
+ [libiscsi, 'iscsi', files('iscsi.c')],
+ [libnfs, 'nfs', files('nfs.c')],
+ [libssh, 'ssh', files('ssh.c')],
+ [rbd, 'rbd', files('rbd.c')],
]
if m[0].found()
+ module_ss = ss.source_set()
+ module_ss.add(when: m[0], if_true: m[2])
if enable_modules
- modsrc += files(m[3])
+ modsrc += module_ss.all_sources()
endif
- module_ss = ss.source_set()
- module_ss.add(when: m[2], if_true: files(m[3]))
block_modules += {m[1] : module_ss}
endif
endforeach