]>
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', | |
d003e0ae | 7 | 'copy-before-write.c', |
5e5733e5 MAL |
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', |
a7b4f8fc | 16 | 'progress_meter.c', |
5e5733e5 MAL |
17 | 'create.c', |
18 | 'crypto.c', | |
19 | 'dirty-bitmap.c', | |
20 | 'filter-compress.c', | |
21 | 'io.c', | |
22 | 'mirror.c', | |
23 | 'nbd.c', | |
24 | 'null.c', | |
25 | 'qapi.c', | |
26 | 'qcow2-bitmap.c', | |
27 | 'qcow2-cache.c', | |
28 | 'qcow2-cluster.c', | |
29 | 'qcow2-refcount.c', | |
30 | 'qcow2-snapshot.c', | |
31 | 'qcow2-threads.c', | |
32 | 'qcow2.c', | |
33 | 'quorum.c', | |
34 | 'raw-format.c', | |
d088e6a4 | 35 | 'reqlist.c', |
5e5733e5 | 36 | 'snapshot.c', |
1c14eaab | 37 | 'snapshot-access.c', |
5e5733e5 MAL |
38 | 'throttle-groups.c', |
39 | 'throttle.c', | |
40 | 'vhdx-endian.c', | |
41 | 'vhdx-log.c', | |
42 | 'vhdx.c', | |
43 | 'vmdk.c', | |
44 | 'vpc.c', | |
45 | 'write-threshold.c', | |
3eacf70b | 46 | ), zstd, zlib, gnutls) |
5e5733e5 | 47 | |
9b1c9116 | 48 | softmmu_ss.add(when: 'CONFIG_TCG', if_true: files('blkreplay.c')) |
7f9241d8 | 49 | softmmu_ss.add(files('block-ram-registrar.c')) |
9b1c9116 | 50 | |
ed793c2c PB |
51 | if get_option('qcow1').allowed() |
52 | block_ss.add(files('qcow.c')) | |
53 | endif | |
54 | if get_option('vdi').allowed() | |
55 | block_ss.add(files('vdi.c')) | |
56 | endif | |
57 | if get_option('cloop').allowed() | |
58 | block_ss.add(files('cloop.c')) | |
59 | endif | |
60 | if get_option('bochs').allowed() | |
61 | block_ss.add(files('bochs.c')) | |
62 | endif | |
63 | if get_option('vvfat').allowed() | |
64 | block_ss.add(files('vvfat.c')) | |
65 | endif | |
66 | if get_option('dmg').allowed() | |
67 | block_ss.add(files('dmg.c')) | |
68 | endif | |
69 | if get_option('qed').allowed() | |
70 | block_ss.add(files( | |
71 | 'qed-check.c', | |
72 | 'qed-cluster.c', | |
73 | 'qed-l2-cache.c', | |
74 | 'qed-table.c', | |
75 | 'qed.c', | |
76 | )) | |
77 | endif | |
78 | if get_option('parallels').allowed() | |
79 | block_ss.add(files('parallels.c', 'parallels-ext.c')) | |
80 | endif | |
81 | ||
5e5733e5 MAL |
82 | block_ss.add(when: 'CONFIG_WIN32', if_true: files('file-win32.c', 'win32-aio.c')) |
83 | block_ss.add(when: 'CONFIG_POSIX', if_true: [files('file-posix.c'), coref, iokit]) | |
9db405a3 | 84 | block_ss.add(when: libiscsi, if_true: files('iscsi-opts.c')) |
5e5733e5 | 85 | block_ss.add(when: 'CONFIG_LINUX', if_true: files('nvme.c')) |
406523f6 PB |
86 | if not get_option('replication').disabled() |
87 | block_ss.add(files('replication.c')) | |
88 | endif | |
ff66f3e5 | 89 | block_ss.add(when: libaio, if_true: files('linux-aio.c')) |
63a7f853 | 90 | block_ss.add(when: linux_io_uring, if_true: files('io_uring.c')) |
5e5733e5 MAL |
91 | |
92 | block_modules = {} | |
93 | ||
94 | modsrc = [] | |
95 | foreach m : [ | |
fd66dbd4 | 96 | [blkio, 'blkio', files('blkio.c')], |
96acfb1f PB |
97 | [curl, 'curl', files('curl.c')], |
98 | [glusterfs, 'gluster', files('gluster.c')], | |
7fa1c635 | 99 | [libiscsi, 'iscsi', [files('iscsi.c'), libm]], |
96acfb1f PB |
100 | [libnfs, 'nfs', files('nfs.c')], |
101 | [libssh, 'ssh', files('ssh.c')], | |
102 | [rbd, 'rbd', files('rbd.c')], | |
5e5733e5 | 103 | ] |
2f2a376a | 104 | if m[0].found() |
96acfb1f PB |
105 | module_ss = ss.source_set() |
106 | module_ss.add(when: m[0], if_true: m[2]) | |
5e5733e5 | 107 | if enable_modules |
96acfb1f | 108 | modsrc += module_ss.all_sources() |
5e5733e5 | 109 | endif |
5e5733e5 MAL |
110 | block_modules += {m[1] : module_ss} |
111 | endif | |
112 | endforeach | |
113 | ||
114 | # those are not exactly regular block modules, so treat them apart | |
ed793c2c | 115 | if get_option('dmg').allowed() |
5e5733e5 | 116 | foreach m : [ |
2f2a376a PB |
117 | [liblzfse, 'dmg-lzfse', liblzfse, 'dmg-lzfse.c'], |
118 | [libbzip2, 'dmg-bz2', [glib, libbzip2], 'dmg-bz2.c'] | |
5e5733e5 | 119 | ] |
2f2a376a | 120 | if m[0].found() |
5e5733e5 MAL |
121 | module_ss = ss.source_set() |
122 | module_ss.add(when: m[2], if_true: files(m[3])) | |
123 | block_modules += {m[1] : module_ss} | |
124 | endif | |
125 | endforeach | |
126 | endif | |
127 | ||
128 | module_block_py = find_program('../scripts/modules/module_block.py') | |
129 | module_block_h = custom_target('module_block.h', | |
130 | output: 'module_block.h', | |
131 | input: modsrc, | |
132 | command: [module_block_py, '@OUTPUT0@', modsrc]) | |
133 | block_ss.add(module_block_h) | |
134 | ||
aaaa20b6 VSO |
135 | wrapper_py = find_program('../scripts/block-coroutine-wrapper.py') |
136 | block_gen_c = custom_target('block-gen.c', | |
137 | output: 'block-gen.c', | |
3b491a90 EGE |
138 | input: files( |
139 | '../include/block/block-io.h', | |
140 | '../include/block/block-global-state.h', | |
facbaad9 | 141 | '../include/sysemu/block-backend-io.h', |
3b491a90 EGE |
142 | 'coroutines.h' |
143 | ), | |
aaaa20b6 VSO |
144 | command: [wrapper_py, '@OUTPUT@', '@INPUT@']) |
145 | block_ss.add(block_gen_c) | |
146 | ||
5e5733e5 MAL |
147 | block_ss.add(files('stream.c')) |
148 | ||
149 | softmmu_ss.add(files('qapi-sysemu.c')) | |
56ee8626 KW |
150 | |
151 | subdir('export') | |
5e5733e5 MAL |
152 | subdir('monitor') |
153 | ||
154 | modules += {'block': block_modules} |