]>
Commit | Line | Data |
---|---|---|
5e5733e5 MAL |
1 | block_ss.add(genh) |
2 | block_ss.add(files( | |
3 | 'accounting.c', | |
4 | 'aio_task.c', | |
5 | 'amend.c', | |
6 | 'backup.c', | |
7 | 'backup-top.c', | |
8 | 'blkdebug.c', | |
9 | 'blklogwrites.c', | |
5e5733e5 MAL |
10 | 'blkverify.c', |
11 | 'block-backend.c', | |
12 | 'block-copy.c', | |
13 | 'commit.c', | |
14 | 'copy-on-read.c', | |
33fa2222 | 15 | 'preallocate.c', |
5e5733e5 MAL |
16 | 'create.c', |
17 | 'crypto.c', | |
18 | 'dirty-bitmap.c', | |
19 | 'filter-compress.c', | |
20 | 'io.c', | |
21 | 'mirror.c', | |
22 | 'nbd.c', | |
23 | 'null.c', | |
24 | 'qapi.c', | |
25 | 'qcow2-bitmap.c', | |
26 | 'qcow2-cache.c', | |
27 | 'qcow2-cluster.c', | |
28 | 'qcow2-refcount.c', | |
29 | 'qcow2-snapshot.c', | |
30 | 'qcow2-threads.c', | |
31 | 'qcow2.c', | |
32 | 'quorum.c', | |
33 | 'raw-format.c', | |
34 | 'snapshot.c', | |
35 | 'throttle-groups.c', | |
36 | 'throttle.c', | |
37 | 'vhdx-endian.c', | |
38 | 'vhdx-log.c', | |
39 | 'vhdx.c', | |
40 | 'vmdk.c', | |
41 | 'vpc.c', | |
42 | 'write-threshold.c', | |
3eacf70b | 43 | ), zstd, zlib, gnutls) |
5e5733e5 | 44 | |
9b1c9116 CF |
45 | softmmu_ss.add(when: 'CONFIG_TCG', if_true: files('blkreplay.c')) |
46 | ||
a10c8516 | 47 | block_ss.add(when: 'CONFIG_QCOW1', if_true: files('qcow.c')) |
5e5733e5 MAL |
48 | block_ss.add(when: 'CONFIG_VDI', if_true: files('vdi.c')) |
49 | block_ss.add(when: 'CONFIG_CLOOP', if_true: files('cloop.c')) | |
50 | block_ss.add(when: 'CONFIG_BOCHS', if_true: files('bochs.c')) | |
51 | block_ss.add(when: 'CONFIG_VVFAT', if_true: files('vvfat.c')) | |
52 | block_ss.add(when: 'CONFIG_DMG', if_true: files('dmg.c')) | |
53 | block_ss.add(when: 'CONFIG_QED', if_true: files( | |
54 | 'qed-check.c', | |
55 | 'qed-cluster.c', | |
56 | 'qed-l2-cache.c', | |
57 | 'qed-table.c', | |
58 | 'qed.c', | |
59 | )) | |
baefd977 VSO |
60 | block_ss.add(when: [libxml2, 'CONFIG_PARALLELS'], |
61 | if_true: files('parallels.c', 'parallels-ext.c')) | |
5e5733e5 MAL |
62 | block_ss.add(when: 'CONFIG_WIN32', if_true: files('file-win32.c', 'win32-aio.c')) |
63 | block_ss.add(when: 'CONFIG_POSIX', if_true: [files('file-posix.c'), coref, iokit]) | |
9db405a3 | 64 | block_ss.add(when: libiscsi, if_true: files('iscsi-opts.c')) |
5e5733e5 MAL |
65 | block_ss.add(when: 'CONFIG_LINUX', if_true: files('nvme.c')) |
66 | block_ss.add(when: 'CONFIG_REPLICATION', if_true: files('replication.c')) | |
5e5733e5 MAL |
67 | block_ss.add(when: ['CONFIG_LINUX_AIO', libaio], if_true: files('linux-aio.c')) |
68 | block_ss.add(when: ['CONFIG_LINUX_IO_URING', linux_io_uring], if_true: files('io_uring.c')) | |
69 | ||
70 | block_modules = {} | |
71 | ||
72 | modsrc = [] | |
73 | foreach m : [ | |
2f2a376a PB |
74 | [curl, 'curl', [curl, glib], 'curl.c'], |
75 | [glusterfs, 'gluster', glusterfs, 'gluster.c'], | |
76 | [libiscsi, 'iscsi', libiscsi, 'iscsi.c'], | |
77 | [libnfs, 'nfs', libnfs, 'nfs.c'], | |
78 | [libssh, 'ssh', libssh, 'ssh.c'], | |
79 | [rbd, 'rbd', rbd, 'rbd.c'], | |
5e5733e5 | 80 | ] |
2f2a376a | 81 | if m[0].found() |
5e5733e5 MAL |
82 | if enable_modules |
83 | modsrc += files(m[3]) | |
84 | endif | |
85 | module_ss = ss.source_set() | |
86 | module_ss.add(when: m[2], if_true: files(m[3])) | |
87 | block_modules += {m[1] : module_ss} | |
88 | endif | |
89 | endforeach | |
90 | ||
91 | # those are not exactly regular block modules, so treat them apart | |
92 | if 'CONFIG_DMG' in config_host | |
93 | foreach m : [ | |
2f2a376a PB |
94 | [liblzfse, 'dmg-lzfse', liblzfse, 'dmg-lzfse.c'], |
95 | [libbzip2, 'dmg-bz2', [glib, libbzip2], 'dmg-bz2.c'] | |
5e5733e5 | 96 | ] |
2f2a376a | 97 | if m[0].found() |
5e5733e5 MAL |
98 | module_ss = ss.source_set() |
99 | module_ss.add(when: m[2], if_true: files(m[3])) | |
100 | block_modules += {m[1] : module_ss} | |
101 | endif | |
102 | endforeach | |
103 | endif | |
104 | ||
105 | module_block_py = find_program('../scripts/modules/module_block.py') | |
106 | module_block_h = custom_target('module_block.h', | |
107 | output: 'module_block.h', | |
108 | input: modsrc, | |
109 | command: [module_block_py, '@OUTPUT0@', modsrc]) | |
110 | block_ss.add(module_block_h) | |
111 | ||
aaaa20b6 VSO |
112 | wrapper_py = find_program('../scripts/block-coroutine-wrapper.py') |
113 | block_gen_c = custom_target('block-gen.c', | |
114 | output: 'block-gen.c', | |
115 | input: files('../include/block/block.h', | |
116 | 'coroutines.h'), | |
117 | command: [wrapper_py, '@OUTPUT@', '@INPUT@']) | |
118 | block_ss.add(block_gen_c) | |
119 | ||
5e5733e5 MAL |
120 | block_ss.add(files('stream.c')) |
121 | ||
122 | softmmu_ss.add(files('qapi-sysemu.c')) | |
56ee8626 KW |
123 | |
124 | subdir('export') | |
5e5733e5 MAL |
125 | subdir('monitor') |
126 | ||
127 | modules += {'block': block_modules} |