blob: 5eeaf3eee5cbc4abe2a25d23f255ad330f344189 [file] [log] [blame]
Paolo Bonzini3b4da132021-10-07 15:08:29 +02001# These options do not correspond to a --enable/--disable-* option
2# on the configure script command line. If you add more, list them in
3# scripts/meson-buildoptions.py's SKIP_OPTIONS constant too.
4
Marc-André Lureauab4c0992020-08-26 15:04:16 +04005option('qemu_suffix', type : 'string', value: 'qemu',
Marc-André Lureau73f3aa32020-08-26 15:04:15 +04006 description: 'Suffix for QEMU data/modules/config directories (can be empty)')
Paolo Bonzinic09c1ce2022-04-20 17:33:57 +02007option('docdir', type : 'string', value : 'share/doc',
Marc-André Lureau491e74c2020-08-26 15:04:17 +04008 description: 'Base directory for documentation installation (can be empty)')
Akihiko Odaki8154f5e2022-06-25 00:40:42 +09009option('qemu_firmwarepath', type : 'array', value : ['share/qemu-firmware'],
Paolo Bonzini16bf7a32020-10-16 03:19:14 -040010 description: 'search PATH for firmware files')
Paolo Bonzinib0b43232022-04-20 17:33:54 +020011option('pkgversion', type : 'string', value : '',
12 description: 'use specified string as sub-version of the package')
Paolo Bonzini35acbb32021-10-13 13:43:36 +020013option('smbd', type : 'string', value : '',
14 description: 'Path to smbd for slirp networking')
Paolo Bonzini5dc46182021-10-13 13:19:00 +020015option('iasl', type : 'string', value : '',
16 description: 'Path to ACPI disassembler')
Paolo Bonzini41f2ae22022-04-20 17:33:52 +020017option('tls_priority', type : 'string', value : 'NORMAL',
18 description: 'Default TLS protocol/cipher priority string')
Paolo Bonzini7bc3ca72020-11-20 08:38:22 +010019option('default_devices', type : 'boolean', value : true,
20 description: 'Include a default selection of devices in emulators')
Paolo Bonzini87430d52021-10-07 15:06:09 +020021option('audio_drv_list', type: 'array', value: ['default'],
Dorinda Basseyc2d3d1c2023-04-17 12:56:54 +020022 choices: ['alsa', 'coreaudio', 'default', 'dsound', 'jack', 'oss', 'pa', 'pipewire', 'sdl', 'sndio'],
Paolo Bonzini87430d52021-10-07 15:06:09 +020023 description: 'Set audio driver list')
Paolo Bonzini622d64f2022-04-20 17:33:53 +020024option('block_drv_rw_whitelist', type : 'string', value : '',
25 description: 'set block driver read-write whitelist (by default affects only QEMU, not tools like qemu-img)')
26option('block_drv_ro_whitelist', type : 'string', value : '',
27 description: 'set block driver read-only whitelist (by default affects only QEMU, not tools like qemu-img)')
Paolo Bonzinice6119d2022-04-20 17:33:55 +020028option('interp_prefix', type : 'string', value : '/usr/gnemul/qemu-%M',
29 description: 'where to find shared libraries etc., use %M for cpu name')
Ilya Leoshkevichc1075212024-10-30 00:17:47 +010030option('rtsig_map', type : 'string', value : 'NULL',
31 description: 'default value of QEMU_RTSIG_MAP')
Paolo Bonzini537b7242021-10-07 15:08:12 +020032option('fuzzing_engine', type : 'string', value : '',
33 description: 'fuzzing engine library for OSS-Fuzz')
Paolo Bonzini9c29b742021-10-07 15:08:14 +020034option('trace_file', type: 'string', value: 'trace',
35 description: 'Trace file prefix for simple backend')
Paolo Bonzini67398252022-10-12 13:19:35 +020036option('coroutine_backend', type: 'combo',
37 choices: ['ucontext', 'sigaltstack', 'windows', 'auto'],
38 value: 'auto', description: 'coroutine backend to use')
Paolo Bonzini87430d52021-10-07 15:06:09 +020039
Paolo Bonzini3b4da132021-10-07 15:08:29 +020040# Everything else can be set via --enable/--disable-* option
41# on the configure script command line. After adding an option
42# here make sure to run "make update-buildoptions".
43
Yonggang Luoe3667662020-10-16 06:06:25 +080044option('docs', type : 'feature', value : 'auto',
45 description: 'Documentations build support')
Paolo Bonzini537b7242021-10-07 15:08:12 +020046option('fuzzing', type : 'boolean', value: false,
47 description: 'build fuzzing targets')
Alex Bennée0e8e77d2020-12-10 19:04:12 +000048option('gettext', type : 'feature', value : 'auto',
Paolo Bonzinicb572712020-09-01 01:59:23 -040049 description: 'Localization of the GTK+ user interface')
Paolo Bonzini60027112022-10-20 14:53:10 +020050option('modules', type : 'feature', value : 'disabled',
51 description: 'modules support (non Windows)')
Paolo Bonzini2cb2f582022-04-20 17:33:46 +020052option('module_upgrades', type : 'boolean', value : false,
53 description: 'try to load modules from alternate paths for upgrades')
Paolo Bonzinic8d54502020-10-16 03:32:52 -040054option('install_blobs', type : 'boolean', value : true,
55 description: 'install provided firmware blobs')
Paolo Bonzinideb62372020-09-01 07:51:16 -040056option('sparse', type : 'feature', value : 'auto',
57 description: 'sparse checker')
Paolo Bonzini20cf5cb2021-10-15 16:47:43 +020058option('guest_agent', type : 'feature', value : 'auto',
59 description: 'Build QEMU Guest Agent')
Paolo Bonzinib846ab72021-01-21 11:49:04 +010060option('guest_agent_msi', type : 'feature', value : 'auto',
61 description: 'Build MSI package for the QEMU Guest Agent')
Paolo Bonzini20cf5cb2021-10-15 16:47:43 +020062option('tools', type : 'feature', value : 'auto',
63 description: 'build support utilities that come with QEMU')
Marc-André Lureau8821a382022-02-01 16:53:43 +040064option('qga_vss', type : 'feature', value: 'auto',
65 description: 'build QGA VSS support (broken with MinGW)')
Paolo Bonzinicb572712020-09-01 01:59:23 -040066
Paolo Bonziniaa087962020-09-01 11:15:30 -040067option('malloc_trim', type : 'feature', value : 'auto',
68 description: 'enable libc malloc_trim() for memory optimization')
69option('malloc', type : 'combo', choices : ['system', 'tcmalloc', 'jemalloc'],
70 value: 'system', description: 'choose memory allocator to use')
71
Paolo Bonzini1badb702020-09-18 04:57:25 -040072option('kvm', type: 'feature', value: 'auto',
73 description: 'KVM acceleration support')
Paolo Bonzini1badb702020-09-18 04:57:25 -040074option('whpx', type: 'feature', value: 'auto',
75 description: 'WHPX acceleration support')
76option('hvf', type: 'feature', value: 'auto',
77 description: 'HVF acceleration support')
Reinoud Zandijk74a414a2021-04-02 22:25:32 +020078option('nvmm', type: 'feature', value: 'auto',
79 description: 'NVMM acceleration support')
Paolo Bonzini1badb702020-09-18 04:57:25 -040080option('xen', type: 'feature', value: 'auto',
81 description: 'Xen backend support')
82option('xen_pci_passthrough', type: 'feature', value: 'auto',
83 description: 'Xen PCI passthrough support')
Paolo Bonzini0a31e3a2022-04-20 17:33:59 +020084option('tcg', type: 'feature', value: 'enabled',
Paolo Bonzini1badb702020-09-18 04:57:25 -040085 description: 'TCG support')
Paolo Bonzini2c13c572023-08-30 12:20:53 +020086option('plugins', type: 'boolean', value: false,
87 description: 'TCG plugins via shared library loading')
Paolo Bonzini1d558c92023-08-28 11:48:30 +020088option('debug_tcg', type: 'boolean', value: false,
89 description: 'TCG debugging')
Ilya Leoshkevich1f2355f2024-03-12 01:23:30 +010090option('debug_remap', type: 'boolean', value: false,
91 description: 'syscall buffer debugging support')
Paolo Bonzini23a77b22020-12-14 12:01:45 +010092option('tcg_interpreter', type: 'boolean', value: false,
Philippe Mathieu-Daudéf1f727a2021-11-06 12:14:57 +010093 description: 'TCG with bytecode interpreter (slow)')
Paolo Bonzini721fa5e2022-10-12 11:59:51 +020094option('safe_stack', type: 'boolean', value: false,
95 description: 'SafeStack Stack Smash Protection (requires clang/llvm and coroutine backend ucontext)')
Richard Hendersoncb771ac2024-08-13 19:52:15 +100096option('asan', type: 'boolean', value: false,
97 description: 'enable address sanitizer')
98option('ubsan', type: 'boolean', value: false,
99 description: 'enable undefined behaviour sanitizer')
Paolo Bonzini34f983d2023-01-09 15:31:51 +0100100option('tsan', type: 'boolean', value: false,
101 description: 'enable thread sanitizer')
Paolo Bonzini911d4ca2022-10-12 12:46:23 +0200102option('stack_protector', type: 'feature', value: 'auto',
103 description: 'compiler-provided stack protection')
Anton Kochkov01698152022-08-17 14:37:23 +0000104option('cfi', type: 'boolean', value: false,
Daniele Buono9e62ba42020-12-04 18:06:14 -0500105 description: 'Control-Flow Integrity (CFI)')
Anton Kochkov01698152022-08-17 14:37:23 +0000106option('cfi_debug', type: 'boolean', value: false,
Daniele Buono9e62ba42020-12-04 18:06:14 -0500107 description: 'Verbose errors in case of CFI violation')
Paolo Bonzini106ad1f2021-02-17 16:24:25 +0100108option('multiprocess', type: 'feature', value: 'auto',
109 description: 'Out of process device emulation support')
Paolo Bonzini2bbc4872023-12-13 11:30:09 +0100110option('relocatable', type : 'boolean', value : true,
Paolo Bonzini655e2a72023-10-05 14:19:34 +0200111 description: 'toggle relocatable install')
Jagannathan Raman55116962022-06-13 16:26:24 -0400112option('vfio_user_server', type: 'feature', value: 'disabled',
113 description: 'vfio-user server support')
Marc-André Lureau142ca622021-07-15 11:53:53 +0400114option('dbus_display', type: 'feature', value: 'auto',
115 description: '-display dbus support')
Paolo Bonzini0d04c4c2021-12-21 12:38:27 +0100116option('tpm', type : 'feature', value : 'auto',
117 description: 'TPM support')
Paolo Bonzinib87df902021-11-08 13:52:11 +0100118
119# Do not enable it by default even for Mingw32, because it doesn't
120# work on Wine.
121option('membarrier', type: 'feature', value: 'disabled',
122 description: 'membarrier system call (for Linux 4.14+ or Windows')
123
Paolo Bonzini622753d2021-11-08 13:38:58 +0100124option('avx2', type: 'feature', value: 'auto',
125 description: 'AVX2 optimizations')
ling xu04ffce12022-11-16 23:29:22 +0800126option('avx512bw', type: 'feature', value: 'auto',
127 description: 'AVX512BW optimizations')
Paolo Bonzini2edd2c02022-04-20 17:33:42 +0200128option('keyring', type: 'feature', value: 'auto',
129 description: 'Linux keyring support')
Thomas Huthc64023b2023-08-24 11:42:08 +0200130option('libkeyutils', type: 'feature', value: 'auto',
131 description: 'Linux keyutils support')
Paolo Bonzini1badb702020-09-18 04:57:25 -0400132
Ilya Maximetscb039ef2023-09-13 20:34:37 +0200133option('af_xdp', type : 'feature', value : 'auto',
134 description: 'AF_XDP network backend support')
Paolo Bonzinif7f2d652020-11-17 14:45:24 +0100135option('attr', type : 'feature', value : 'auto',
136 description: 'attr/xattr support')
Paolo Bonzini05e391a2021-06-03 11:15:26 +0200137option('auth_pam', type : 'feature', value : 'auto',
138 description: 'PAM access control')
Paolo Bonzini8c6d4ff2020-11-17 13:02:17 +0100139option('brlapi', type : 'feature', value : 'auto',
140 description: 'brlapi character device driver')
Paolo Bonzini29ba6112020-11-17 13:07:52 +0100141option('bzip2', type : 'feature', value : 'auto',
142 description: 'bzip2 support for DMG images')
Paolo Bonzini727c8bb2020-11-17 14:46:58 +0100143option('cap_ng', type : 'feature', value : 'auto',
144 description: 'cap_ng support')
Stefan Hajnoczifd66dbd2022-10-13 14:58:57 -0400145option('blkio', type : 'feature', value : 'auto',
146 description: 'libblkio block device driver')
Andrew Melnychenko46627f42021-05-14 14:48:32 +0300147option('bpf', type : 'feature', value : 'auto',
148 description: 'eBPF support')
Paolo Bonzinib4e312e2020-09-01 11:28:59 -0400149option('cocoa', type : 'feature', value : 'auto',
150 description: 'Cocoa user interface (macOS only)')
Paolo Bonzinif9cd86f2020-11-17 12:43:15 +0100151option('curl', type : 'feature', value : 'auto',
152 description: 'CURL block device driver')
Paolo Bonzini75440602022-04-20 17:33:44 +0200153option('gio', type : 'feature', value : 'auto',
154 description: 'use libgio for D-Bus support')
Paolo Bonzini08821ca2020-11-17 13:01:26 +0100155option('glusterfs', type : 'feature', value : 'auto',
156 description: 'Glusterfs block device driver')
Maciej S. Szmigiero0d9e8c02023-06-12 16:00:54 +0200157option('hv_balloon', type : 'feature', value : 'auto',
158 description: 'hv-balloon driver (requires Glib 2.68+ GTree API)')
Ilya Leoshkevichbc71d582023-02-10 01:52:07 +0100159option('libdw', type : 'feature', value : 'auto',
160 description: 'debuginfo support')
Paolo Bonzini9db405a2020-11-17 13:11:25 +0100161option('libiscsi', type : 'feature', value : 'auto',
162 description: 'libiscsi userspace initiator')
Paolo Bonzini30045c02020-11-17 13:11:25 +0100163option('libnfs', type : 'feature', value : 'auto',
164 description: 'libnfs block device driver')
Paolo Bonzini6ec0e152020-09-16 18:07:29 +0200165option('mpath', type : 'feature', value : 'auto',
166 description: 'Multipath persistent reservation passthrough')
Paolo Bonzini488a8c72021-12-21 12:38:27 +0100167option('numa', type : 'feature', value : 'auto',
168 description: 'libnuma support')
Yonggang Luo5285e592020-10-13 07:43:48 +0800169option('iconv', type : 'feature', value : 'auto',
170 description: 'Font glyph conversion support')
171option('curses', type : 'feature', value : 'auto',
172 description: 'curses UI')
Dorjoy Chowdhurybb154e32024-10-09 03:17:23 +0600173option('libcbor', type : 'feature', value : 'auto',
174 description: 'libcbor support')
Paolo Bonzini57612512021-06-03 11:15:26 +0200175option('gnutls', type : 'feature', value : 'auto',
176 description: 'GNUTLS cryptography support')
177option('nettle', type : 'feature', value : 'auto',
178 description: 'nettle cryptography support')
179option('gcrypt', type : 'feature', value : 'auto',
180 description: 'libgcrypt cryptography support')
Paolo Bonzini34b52612021-11-08 14:02:42 +0100181option('crypto_afalg', type : 'feature', value : 'disabled',
182 description: 'Linux AF_ALG crypto backend driver')
Paolo Bonzini83ef1682021-06-03 11:31:35 +0200183option('libdaxctl', type : 'feature', value : 'auto',
184 description: 'libdaxctl support')
Paolo Bonzinie36e8c72021-06-03 11:31:35 +0200185option('libpmem', type : 'feature', value : 'auto',
186 description: 'libpmem support')
Thomas Huthe6a52b32021-12-09 15:48:01 +0100187option('libssh', type : 'feature', value : 'auto',
188 description: 'ssh block device support')
Paolo Bonzini5c530152020-10-15 06:09:27 -0400189option('libudev', type : 'feature', value : 'auto',
190 description: 'Use libudev to enumerate host devices')
Paolo Bonzini90540f32021-06-03 11:15:26 +0200191option('libusb', type : 'feature', value : 'auto',
192 description: 'libusb support for USB passthrough')
Paolo Bonziniff66f3e2021-10-07 15:08:20 +0200193option('linux_aio', type : 'feature', value : 'auto',
194 description: 'Linux AIO support')
Paolo Bonzini53c22b62021-06-03 11:31:35 +0200195option('linux_io_uring', type : 'feature', value : 'auto',
196 description: 'Linux io_uring support')
Paolo Bonziniecea3692020-11-17 13:35:28 +0100197option('lzfse', type : 'feature', value : 'auto',
198 description: 'lzfse support for DMG images')
Paolo Bonzini0c32a0a2020-11-17 13:11:25 +0100199option('lzo', type : 'feature', value : 'auto',
200 description: 'lzo compression support')
Paolo Bonzinifabd1e92020-11-17 13:11:25 +0100201option('rbd', type : 'feature', value : 'auto',
202 description: 'Ceph block device driver')
Paolo Bonzini88b6e612022-04-20 17:33:40 +0200203option('opengl', type : 'feature', value : 'auto',
204 description: 'OpenGL support')
Paolo Bonzini3730a732022-04-20 17:33:41 +0200205option('rdma', type : 'feature', value : 'auto',
206 description: 'Enable RDMA-based migration')
Paolo Bonzini1b695472021-01-07 14:02:29 +0100207option('gtk', type : 'feature', value : 'auto',
208 description: 'GTK+ user interface')
Paolo Bonzinicb572712020-09-01 01:59:23 -0400209option('sdl', type : 'feature', value : 'auto',
210 description: 'SDL user interface')
211option('sdl_image', type : 'feature', value : 'auto',
212 description: 'SDL Image support for icons')
Paolo Bonzini90835c22020-11-17 14:22:24 +0100213option('seccomp', type : 'feature', value : 'auto',
214 description: 'seccomp support')
Paolo Bonzini5f364c52021-06-03 11:15:26 +0200215option('smartcard', type : 'feature', value : 'auto',
216 description: 'CA smartcard emulation support')
Paolo Bonzini241611e2020-11-17 13:32:34 +0100217option('snappy', type : 'feature', value : 'auto',
218 description: 'snappy compression support')
Marc-André Lureau3f0a5d52021-10-07 15:08:23 +0200219option('spice', type : 'feature', value : 'auto',
220 description: 'Spice server support')
221option('spice_protocol', type : 'feature', value : 'auto',
222 description: 'Spice protocol support')
Paolo Bonzinicb572712020-09-01 01:59:23 -0400223option('u2f', type : 'feature', value : 'auto',
224 description: 'U2F emulation support')
Hongren (Zenithal) Zheng8caef852022-05-19 20:38:57 +0800225option('canokey', type : 'feature', value : 'auto',
226 description: 'CanoKey support')
Paolo Bonzini18f31e62021-06-03 11:15:26 +0200227option('usb_redir', type : 'feature', value : 'auto',
228 description: 'libusbredir support')
Thomas Hutheea94532021-10-28 20:59:08 +0200229option('l2tpv3', type : 'feature', value : 'auto',
230 description: 'l2tpv3 network backend support')
Paolo Bonzini837b84b2021-10-07 15:08:22 +0200231option('netmap', type : 'feature', value : 'auto',
232 description: 'netmap network backend support')
Marc-André Lureaucca15752023-08-30 13:38:25 +0400233option('pixman', type : 'feature', value : 'auto',
234 description: 'pixman support')
Thomas Huth58902582022-04-08 18:20:47 +0200235option('slirp', type: 'feature', value: 'auto',
236 description: 'libslirp user mode network backend support')
Paolo Bonzinie1723992021-10-07 15:08:21 +0200237option('vde', type : 'feature', value : 'auto',
238 description: 'vde network backend support')
Vladislav Yaroshchuke2c1d782022-03-17 20:28:33 +0300239option('vmnet', type : 'feature', value : 'auto',
240 description: 'vmnet.framework network backend support')
Paolo Bonzini587d59d2021-06-03 11:31:35 +0200241option('virglrenderer', type : 'feature', value : 'auto',
242 description: 'virgl rendering support')
Gurchetan Singhcd9adbe2023-03-21 09:47:36 -0700243option('rutabaga_gfx', type : 'feature', value : 'auto',
244 description: 'rutabaga_gfx support')
Kshitij Suri95f85102022-04-08 07:13:34 +0000245option('png', type : 'feature', value : 'auto',
246 description: 'PNG support with libpng')
Thomas Huthc1de5852021-09-03 10:13:55 +0200247option('vnc', type : 'feature', value : 'auto',
Paolo Bonzinicb572712020-09-01 01:59:23 -0400248 description: 'VNC server')
249option('vnc_jpeg', type : 'feature', value : 'auto',
250 description: 'JPEG lossy compression for VNC server')
Paolo Bonzinicb572712020-09-01 01:59:23 -0400251option('vnc_sasl', type : 'feature', value : 'auto',
252 description: 'SASL authentication for VNC server')
Paolo Bonzinic23d7b42021-06-03 11:31:35 +0200253option('vte', type : 'feature', value : 'auto',
254 description: 'vte support for the gtk UI')
Claudio Fontana29e0bff2022-11-21 14:55:38 +0100255
256# GTK Clipboard implementation is disabled by default, since it may cause hangs
257# of the guest VCPUs. See gitlab issue 1150:
258# https://gitlab.com/qemu-project/qemu/-/issues/1150
259
260option('gtk_clipboard', type: 'feature', value : 'disabled',
261 description: 'clipboard support for the gtk UI (EXPERIMENTAL, MAY HANG)')
Paolo Bonzinicb572712020-09-01 01:59:23 -0400262option('xkbcommon', type : 'feature', value : 'auto',
263 description: 'xkbcommon support')
Paolo Bonzinib1def332020-11-17 13:37:39 +0100264option('zstd', type : 'feature', value : 'auto',
265 description: 'zstd compression support')
Yuan Liub844a2c2024-06-10 18:21:06 +0800266option('qpl', type : 'feature', value : 'auto',
267 description: 'Query Processing Library support')
Shameer Kolothumcfc589a2024-06-07 14:53:05 +0100268option('uadk', type : 'feature', value : 'auto',
269 description: 'UADK Library support')
Bryan Zhange28ed312024-08-30 16:27:19 -0700270option('qatzip', type: 'feature', value: 'auto',
271 description: 'QATzip compression support')
Max Reitza484a712020-10-27 20:05:41 +0100272option('fuse', type: 'feature', value: 'auto',
273 description: 'FUSE block device export')
Max Reitzdf4ea702020-10-27 20:05:46 +0100274option('fuse_lseek', type : 'feature', value : 'auto',
275 description: 'SEEK_HOLE/SEEK_DATA support for FUSE exports')
Richard Henderson8b18cdb2020-09-13 12:19:25 -0700276
Paolo Bonzini9c29b742021-10-07 15:08:14 +0200277option('trace_backends', type: 'array', value: ['log'],
278 choices: ['dtrace', 'ftrace', 'log', 'nop', 'simple', 'syslog', 'ust'],
279 description: 'Set available tracing backends')
280
Paolo Bonzini87430d52021-10-07 15:06:09 +0200281option('alsa', type: 'feature', value: 'auto',
282 description: 'ALSA sound support')
283option('coreaudio', type: 'feature', value: 'auto',
284 description: 'CoreAudio sound support')
285option('dsound', type: 'feature', value: 'auto',
286 description: 'DirectSound sound support')
287option('jack', type: 'feature', value: 'auto',
288 description: 'JACK sound support')
289option('oss', type: 'feature', value: 'auto',
290 description: 'OSS sound support')
291option('pa', type: 'feature', value: 'auto',
292 description: 'PulseAudio sound support')
Dorinda Basseyc2d3d1c2023-04-17 12:56:54 +0200293option('pipewire', type: 'feature', value: 'auto',
Marc-André Lureau20c51242023-05-06 20:37:26 +0400294 description: 'PipeWire sound support')
Alexandre Ratchov663df1c2022-09-07 15:23:42 +0200295option('sndio', type: 'feature', value: 'auto',
296 description: 'sndio sound support')
Paolo Bonzini87430d52021-10-07 15:06:09 +0200297
Paolo Bonzini2df89d52022-04-20 17:34:07 +0200298option('vhost_kernel', type: 'feature', value: 'auto',
299 description: 'vhost kernel backend support')
300option('vhost_net', type: 'feature', value: 'auto',
301 description: 'vhost-net kernel acceleration support')
302option('vhost_user', type: 'feature', value: 'auto',
303 description: 'vhost-user backend support')
304option('vhost_crypto', type: 'feature', value: 'auto',
305 description: 'vhost-user crypto backend support')
306option('vhost_vdpa', type: 'feature', value: 'auto',
307 description: 'vhost-vdpa kernel backend support')
Paolo Bonzini69202b42020-11-17 14:46:21 +0100308option('vhost_user_blk_server', type: 'feature', value: 'auto',
309 description: 'build vhost-user-blk server')
310option('virtfs', type: 'feature', value: 'auto',
311 description: 'virtio-9p support')
Xie Yongjia6caeee2022-05-23 16:46:08 +0800312option('libvduse', type: 'feature', value: 'auto',
313 description: 'build VDUSE Library')
Xie Yongji2a2359b2022-05-23 16:46:09 +0800314option('vduse_blk_export', type: 'feature', value: 'auto',
315 description: 'VDUSE block export support')
Paolo Bonzini69202b42020-11-17 14:46:21 +0100316
Thomas Huth83602082022-05-16 16:58:23 +0200317option('capstone', type: 'feature', value: 'auto',
Richard Henderson8b18cdb2020-09-13 12:19:25 -0700318 description: 'Whether and how to find the capstone library')
Paolo Bonzinifbb41212020-10-05 11:31:15 +0200319option('fdt', type: 'combo', value: 'auto',
320 choices: ['disabled', 'enabled', 'auto', 'system', 'internal'],
321 description: 'Whether and how to find the libfdt library')
Richard W.M. Jones3d212b42021-11-15 14:29:43 -0600322
323option('selinux', type: 'feature', value: 'auto',
324 description: 'SELinux support in qemu-nbd')
Paolo Bonzini406523f2021-10-13 11:43:54 +0200325option('replication', type: 'feature', value: 'auto',
326 description: 'replication support')
Vladimir Sementsov-Ogievskiy6c1e3902023-05-15 16:06:38 +0300327option('colo_proxy', type: 'feature', value: 'auto',
328 description: 'colo-proxy support')
Paolo Bonzinied793c22021-10-13 11:42:25 +0200329option('bochs', type: 'feature', value: 'auto',
330 description: 'bochs image format support')
331option('cloop', type: 'feature', value: 'auto',
332 description: 'cloop image format support')
333option('dmg', type: 'feature', value: 'auto',
334 description: 'dmg image format support')
335option('qcow1', type: 'feature', value: 'auto',
336 description: 'qcow1 image format support')
337option('vdi', type: 'feature', value: 'auto',
338 description: 'vdi image format support')
Vladimir Sementsov-Ogievskiy11cea422023-04-21 12:27:58 +0300339option('vhdx', type: 'feature', value: 'auto',
340 description: 'vhdx image format support')
341option('vmdk', type: 'feature', value: 'auto',
342 description: 'vmdk image format support')
343option('vpc', type: 'feature', value: 'auto',
344 description: 'vpc image format support')
Paolo Bonzinied793c22021-10-13 11:42:25 +0200345option('vvfat', type: 'feature', value: 'auto',
346 description: 'vvfat image format support')
347option('qed', type: 'feature', value: 'auto',
348 description: 'qed image format support')
349option('parallels', type: 'feature', value: 'auto',
350 description: 'parallels image format support')
Paolo Bonzinic55cf6a2021-10-13 11:46:09 +0200351option('block_drv_whitelist_in_tools', type: 'boolean', value: false,
352 description: 'use block whitelist also in tools instead of only QEMU')
353option('rng_none', type: 'boolean', value: false,
354 description: 'dummy RNG, avoid using /dev/(u)random and getrandom()')
Paolo Bonzini728c0a22021-10-13 11:52:03 +0200355option('coroutine_pool', type: 'boolean', value: true,
356 description: 'coroutine freelist (better performance)')
Stefan Hajnoczi58a2e3f2023-05-01 13:34:43 -0400357option('debug_graph_lock', type: 'boolean', value: false,
358 description: 'graph lock debugging support')
Paolo Bonzinic55cf6a2021-10-13 11:46:09 +0200359option('debug_mutex', type: 'boolean', value: false,
360 description: 'mutex debugging support')
Paolo Bonzini728c0a22021-10-13 11:52:03 +0200361option('debug_stack_usage', type: 'boolean', value: false,
362 description: 'measure coroutine stack usage')
Thomas Huth0f220122023-04-17 15:00:37 +0200363option('qom_cast_debug', type: 'boolean', value: true,
Paolo Bonzinic55cf6a2021-10-13 11:46:09 +0200364 description: 'cast debugging support')
Paolo Bonzini35acbb32021-10-13 13:43:36 +0200365option('slirp_smbd', type : 'feature', value : 'auto',
366 description: 'use smbd (at path --smbd=*) in slirp networking')
Alessandro Di Federico7c19dcc2022-09-23 19:38:27 +0200367
Paolo Bonzinie20d68a2023-10-09 14:13:59 +0200368option('qemu_ga_manufacturer', type: 'string', value: 'QEMU',
369 description: '"manufacturer" name for qemu-ga registry entries')
370option('qemu_ga_distro', type: 'string', value: 'Linux',
371 description: 'second path element in qemu-ga registry entries')
372option('qemu_ga_version', type: 'string', value: '',
373 description: 'version number for qemu-ga installer')
374
Alessandro Di Federico7c19dcc2022-09-23 19:38:27 +0200375option('hexagon_idef_parser', type : 'boolean', value : true,
376 description: 'use idef-parser to automatically generate TCG code for the Hexagon frontend')
Paolo Bonzinief7d1ad2024-06-18 17:32:52 +0200377
378option('x86_version', type : 'combo', choices : ['0', '1', '2', '3', '4'], value: '1',
379 description: 'tweak required x86_64 architecture version beyond compiler default')
Manos Pitsidianakis764a6ee2024-10-03 16:28:44 +0300380
Paolo Bonzini4aa94ae2024-10-14 13:01:13 +0200381option('rust', type: 'feature', value: 'disabled',
Manos Pitsidianakis764a6ee2024-10-03 16:28:44 +0300382 description: 'Rust support')
Paolo Bonzinic6ea7232024-10-25 10:24:01 +0200383option('strict_rust_lints', type: 'boolean', value: false,
384 description: 'Enable stricter set of Rust warnings')