Paolo Bonzini | 3b4da13 | 2021-10-07 15:08:29 +0200 | [diff] [blame] | 1 | # 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é Lureau | ab4c099 | 2020-08-26 15:04:16 +0400 | [diff] [blame] | 5 | option('qemu_suffix', type : 'string', value: 'qemu', |
Marc-André Lureau | 73f3aa3 | 2020-08-26 15:04:15 +0400 | [diff] [blame] | 6 | description: 'Suffix for QEMU data/modules/config directories (can be empty)') |
Paolo Bonzini | c09c1ce | 2022-04-20 17:33:57 +0200 | [diff] [blame] | 7 | option('docdir', type : 'string', value : 'share/doc', |
Marc-André Lureau | 491e74c | 2020-08-26 15:04:17 +0400 | [diff] [blame] | 8 | description: 'Base directory for documentation installation (can be empty)') |
Akihiko Odaki | 8154f5e | 2022-06-25 00:40:42 +0900 | [diff] [blame] | 9 | option('qemu_firmwarepath', type : 'array', value : ['share/qemu-firmware'], |
Paolo Bonzini | 16bf7a3 | 2020-10-16 03:19:14 -0400 | [diff] [blame] | 10 | description: 'search PATH for firmware files') |
Paolo Bonzini | b0b4323 | 2022-04-20 17:33:54 +0200 | [diff] [blame] | 11 | option('pkgversion', type : 'string', value : '', |
| 12 | description: 'use specified string as sub-version of the package') |
Paolo Bonzini | 35acbb3 | 2021-10-13 13:43:36 +0200 | [diff] [blame] | 13 | option('smbd', type : 'string', value : '', |
| 14 | description: 'Path to smbd for slirp networking') |
Paolo Bonzini | 5dc4618 | 2021-10-13 13:19:00 +0200 | [diff] [blame] | 15 | option('iasl', type : 'string', value : '', |
| 16 | description: 'Path to ACPI disassembler') |
Paolo Bonzini | 41f2ae2 | 2022-04-20 17:33:52 +0200 | [diff] [blame] | 17 | option('tls_priority', type : 'string', value : 'NORMAL', |
| 18 | description: 'Default TLS protocol/cipher priority string') |
Paolo Bonzini | 7bc3ca7 | 2020-11-20 08:38:22 +0100 | [diff] [blame] | 19 | option('default_devices', type : 'boolean', value : true, |
| 20 | description: 'Include a default selection of devices in emulators') |
Paolo Bonzini | 87430d5 | 2021-10-07 15:06:09 +0200 | [diff] [blame] | 21 | option('audio_drv_list', type: 'array', value: ['default'], |
Dorinda Bassey | c2d3d1c | 2023-04-17 12:56:54 +0200 | [diff] [blame] | 22 | choices: ['alsa', 'coreaudio', 'default', 'dsound', 'jack', 'oss', 'pa', 'pipewire', 'sdl', 'sndio'], |
Paolo Bonzini | 87430d5 | 2021-10-07 15:06:09 +0200 | [diff] [blame] | 23 | description: 'Set audio driver list') |
Paolo Bonzini | 622d64f | 2022-04-20 17:33:53 +0200 | [diff] [blame] | 24 | option('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)') |
| 26 | option('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 Bonzini | ce6119d | 2022-04-20 17:33:55 +0200 | [diff] [blame] | 28 | option('interp_prefix', type : 'string', value : '/usr/gnemul/qemu-%M', |
| 29 | description: 'where to find shared libraries etc., use %M for cpu name') |
Ilya Leoshkevich | c107521 | 2024-10-30 00:17:47 +0100 | [diff] [blame] | 30 | option('rtsig_map', type : 'string', value : 'NULL', |
| 31 | description: 'default value of QEMU_RTSIG_MAP') |
Paolo Bonzini | 537b724 | 2021-10-07 15:08:12 +0200 | [diff] [blame] | 32 | option('fuzzing_engine', type : 'string', value : '', |
| 33 | description: 'fuzzing engine library for OSS-Fuzz') |
Paolo Bonzini | 9c29b74 | 2021-10-07 15:08:14 +0200 | [diff] [blame] | 34 | option('trace_file', type: 'string', value: 'trace', |
| 35 | description: 'Trace file prefix for simple backend') |
Paolo Bonzini | 6739825 | 2022-10-12 13:19:35 +0200 | [diff] [blame] | 36 | option('coroutine_backend', type: 'combo', |
| 37 | choices: ['ucontext', 'sigaltstack', 'windows', 'auto'], |
| 38 | value: 'auto', description: 'coroutine backend to use') |
Paolo Bonzini | 87430d5 | 2021-10-07 15:06:09 +0200 | [diff] [blame] | 39 | |
Paolo Bonzini | 3b4da13 | 2021-10-07 15:08:29 +0200 | [diff] [blame] | 40 | # 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 Luo | e366766 | 2020-10-16 06:06:25 +0800 | [diff] [blame] | 44 | option('docs', type : 'feature', value : 'auto', |
| 45 | description: 'Documentations build support') |
Paolo Bonzini | 537b724 | 2021-10-07 15:08:12 +0200 | [diff] [blame] | 46 | option('fuzzing', type : 'boolean', value: false, |
| 47 | description: 'build fuzzing targets') |
Alex Bennée | 0e8e77d | 2020-12-10 19:04:12 +0000 | [diff] [blame] | 48 | option('gettext', type : 'feature', value : 'auto', |
Paolo Bonzini | cb57271 | 2020-09-01 01:59:23 -0400 | [diff] [blame] | 49 | description: 'Localization of the GTK+ user interface') |
Paolo Bonzini | 6002711 | 2022-10-20 14:53:10 +0200 | [diff] [blame] | 50 | option('modules', type : 'feature', value : 'disabled', |
| 51 | description: 'modules support (non Windows)') |
Paolo Bonzini | 2cb2f58 | 2022-04-20 17:33:46 +0200 | [diff] [blame] | 52 | option('module_upgrades', type : 'boolean', value : false, |
| 53 | description: 'try to load modules from alternate paths for upgrades') |
Paolo Bonzini | c8d5450 | 2020-10-16 03:32:52 -0400 | [diff] [blame] | 54 | option('install_blobs', type : 'boolean', value : true, |
| 55 | description: 'install provided firmware blobs') |
Paolo Bonzini | deb6237 | 2020-09-01 07:51:16 -0400 | [diff] [blame] | 56 | option('sparse', type : 'feature', value : 'auto', |
| 57 | description: 'sparse checker') |
Paolo Bonzini | 20cf5cb | 2021-10-15 16:47:43 +0200 | [diff] [blame] | 58 | option('guest_agent', type : 'feature', value : 'auto', |
| 59 | description: 'Build QEMU Guest Agent') |
Paolo Bonzini | b846ab7 | 2021-01-21 11:49:04 +0100 | [diff] [blame] | 60 | option('guest_agent_msi', type : 'feature', value : 'auto', |
| 61 | description: 'Build MSI package for the QEMU Guest Agent') |
Paolo Bonzini | 20cf5cb | 2021-10-15 16:47:43 +0200 | [diff] [blame] | 62 | option('tools', type : 'feature', value : 'auto', |
| 63 | description: 'build support utilities that come with QEMU') |
Marc-André Lureau | 8821a38 | 2022-02-01 16:53:43 +0400 | [diff] [blame] | 64 | option('qga_vss', type : 'feature', value: 'auto', |
| 65 | description: 'build QGA VSS support (broken with MinGW)') |
Paolo Bonzini | cb57271 | 2020-09-01 01:59:23 -0400 | [diff] [blame] | 66 | |
Paolo Bonzini | aa08796 | 2020-09-01 11:15:30 -0400 | [diff] [blame] | 67 | option('malloc_trim', type : 'feature', value : 'auto', |
| 68 | description: 'enable libc malloc_trim() for memory optimization') |
| 69 | option('malloc', type : 'combo', choices : ['system', 'tcmalloc', 'jemalloc'], |
| 70 | value: 'system', description: 'choose memory allocator to use') |
| 71 | |
Paolo Bonzini | 1badb70 | 2020-09-18 04:57:25 -0400 | [diff] [blame] | 72 | option('kvm', type: 'feature', value: 'auto', |
| 73 | description: 'KVM acceleration support') |
Paolo Bonzini | 1badb70 | 2020-09-18 04:57:25 -0400 | [diff] [blame] | 74 | option('whpx', type: 'feature', value: 'auto', |
| 75 | description: 'WHPX acceleration support') |
| 76 | option('hvf', type: 'feature', value: 'auto', |
| 77 | description: 'HVF acceleration support') |
Reinoud Zandijk | 74a414a | 2021-04-02 22:25:32 +0200 | [diff] [blame] | 78 | option('nvmm', type: 'feature', value: 'auto', |
| 79 | description: 'NVMM acceleration support') |
Paolo Bonzini | 1badb70 | 2020-09-18 04:57:25 -0400 | [diff] [blame] | 80 | option('xen', type: 'feature', value: 'auto', |
| 81 | description: 'Xen backend support') |
| 82 | option('xen_pci_passthrough', type: 'feature', value: 'auto', |
| 83 | description: 'Xen PCI passthrough support') |
Paolo Bonzini | 0a31e3a | 2022-04-20 17:33:59 +0200 | [diff] [blame] | 84 | option('tcg', type: 'feature', value: 'enabled', |
Paolo Bonzini | 1badb70 | 2020-09-18 04:57:25 -0400 | [diff] [blame] | 85 | description: 'TCG support') |
Paolo Bonzini | 2c13c57 | 2023-08-30 12:20:53 +0200 | [diff] [blame] | 86 | option('plugins', type: 'boolean', value: false, |
| 87 | description: 'TCG plugins via shared library loading') |
Paolo Bonzini | 1d558c9 | 2023-08-28 11:48:30 +0200 | [diff] [blame] | 88 | option('debug_tcg', type: 'boolean', value: false, |
| 89 | description: 'TCG debugging') |
Ilya Leoshkevich | 1f2355f | 2024-03-12 01:23:30 +0100 | [diff] [blame] | 90 | option('debug_remap', type: 'boolean', value: false, |
| 91 | description: 'syscall buffer debugging support') |
Paolo Bonzini | 23a77b2 | 2020-12-14 12:01:45 +0100 | [diff] [blame] | 92 | option('tcg_interpreter', type: 'boolean', value: false, |
Philippe Mathieu-Daudé | f1f727a | 2021-11-06 12:14:57 +0100 | [diff] [blame] | 93 | description: 'TCG with bytecode interpreter (slow)') |
Paolo Bonzini | 721fa5e | 2022-10-12 11:59:51 +0200 | [diff] [blame] | 94 | option('safe_stack', type: 'boolean', value: false, |
| 95 | description: 'SafeStack Stack Smash Protection (requires clang/llvm and coroutine backend ucontext)') |
Richard Henderson | cb771ac | 2024-08-13 19:52:15 +1000 | [diff] [blame] | 96 | option('asan', type: 'boolean', value: false, |
| 97 | description: 'enable address sanitizer') |
| 98 | option('ubsan', type: 'boolean', value: false, |
| 99 | description: 'enable undefined behaviour sanitizer') |
Paolo Bonzini | 34f983d | 2023-01-09 15:31:51 +0100 | [diff] [blame] | 100 | option('tsan', type: 'boolean', value: false, |
| 101 | description: 'enable thread sanitizer') |
Paolo Bonzini | 911d4ca | 2022-10-12 12:46:23 +0200 | [diff] [blame] | 102 | option('stack_protector', type: 'feature', value: 'auto', |
| 103 | description: 'compiler-provided stack protection') |
Anton Kochkov | 0169815 | 2022-08-17 14:37:23 +0000 | [diff] [blame] | 104 | option('cfi', type: 'boolean', value: false, |
Daniele Buono | 9e62ba4 | 2020-12-04 18:06:14 -0500 | [diff] [blame] | 105 | description: 'Control-Flow Integrity (CFI)') |
Anton Kochkov | 0169815 | 2022-08-17 14:37:23 +0000 | [diff] [blame] | 106 | option('cfi_debug', type: 'boolean', value: false, |
Daniele Buono | 9e62ba4 | 2020-12-04 18:06:14 -0500 | [diff] [blame] | 107 | description: 'Verbose errors in case of CFI violation') |
Paolo Bonzini | 106ad1f | 2021-02-17 16:24:25 +0100 | [diff] [blame] | 108 | option('multiprocess', type: 'feature', value: 'auto', |
| 109 | description: 'Out of process device emulation support') |
Paolo Bonzini | 2bbc487 | 2023-12-13 11:30:09 +0100 | [diff] [blame] | 110 | option('relocatable', type : 'boolean', value : true, |
Paolo Bonzini | 655e2a7 | 2023-10-05 14:19:34 +0200 | [diff] [blame] | 111 | description: 'toggle relocatable install') |
Jagannathan Raman | 5511696 | 2022-06-13 16:26:24 -0400 | [diff] [blame] | 112 | option('vfio_user_server', type: 'feature', value: 'disabled', |
| 113 | description: 'vfio-user server support') |
Marc-André Lureau | 142ca62 | 2021-07-15 11:53:53 +0400 | [diff] [blame] | 114 | option('dbus_display', type: 'feature', value: 'auto', |
| 115 | description: '-display dbus support') |
Paolo Bonzini | 0d04c4c | 2021-12-21 12:38:27 +0100 | [diff] [blame] | 116 | option('tpm', type : 'feature', value : 'auto', |
| 117 | description: 'TPM support') |
Paolo Bonzini | b87df90 | 2021-11-08 13:52:11 +0100 | [diff] [blame] | 118 | |
| 119 | # Do not enable it by default even for Mingw32, because it doesn't |
| 120 | # work on Wine. |
| 121 | option('membarrier', type: 'feature', value: 'disabled', |
| 122 | description: 'membarrier system call (for Linux 4.14+ or Windows') |
| 123 | |
Paolo Bonzini | 622753d | 2021-11-08 13:38:58 +0100 | [diff] [blame] | 124 | option('avx2', type: 'feature', value: 'auto', |
| 125 | description: 'AVX2 optimizations') |
ling xu | 04ffce1 | 2022-11-16 23:29:22 +0800 | [diff] [blame] | 126 | option('avx512bw', type: 'feature', value: 'auto', |
| 127 | description: 'AVX512BW optimizations') |
Paolo Bonzini | 2edd2c0 | 2022-04-20 17:33:42 +0200 | [diff] [blame] | 128 | option('keyring', type: 'feature', value: 'auto', |
| 129 | description: 'Linux keyring support') |
Thomas Huth | c64023b | 2023-08-24 11:42:08 +0200 | [diff] [blame] | 130 | option('libkeyutils', type: 'feature', value: 'auto', |
| 131 | description: 'Linux keyutils support') |
Paolo Bonzini | 1badb70 | 2020-09-18 04:57:25 -0400 | [diff] [blame] | 132 | |
Ilya Maximets | cb039ef | 2023-09-13 20:34:37 +0200 | [diff] [blame] | 133 | option('af_xdp', type : 'feature', value : 'auto', |
| 134 | description: 'AF_XDP network backend support') |
Paolo Bonzini | f7f2d65 | 2020-11-17 14:45:24 +0100 | [diff] [blame] | 135 | option('attr', type : 'feature', value : 'auto', |
| 136 | description: 'attr/xattr support') |
Paolo Bonzini | 05e391a | 2021-06-03 11:15:26 +0200 | [diff] [blame] | 137 | option('auth_pam', type : 'feature', value : 'auto', |
| 138 | description: 'PAM access control') |
Paolo Bonzini | 8c6d4ff | 2020-11-17 13:02:17 +0100 | [diff] [blame] | 139 | option('brlapi', type : 'feature', value : 'auto', |
| 140 | description: 'brlapi character device driver') |
Paolo Bonzini | 29ba611 | 2020-11-17 13:07:52 +0100 | [diff] [blame] | 141 | option('bzip2', type : 'feature', value : 'auto', |
| 142 | description: 'bzip2 support for DMG images') |
Paolo Bonzini | 727c8bb | 2020-11-17 14:46:58 +0100 | [diff] [blame] | 143 | option('cap_ng', type : 'feature', value : 'auto', |
| 144 | description: 'cap_ng support') |
Stefan Hajnoczi | fd66dbd | 2022-10-13 14:58:57 -0400 | [diff] [blame] | 145 | option('blkio', type : 'feature', value : 'auto', |
| 146 | description: 'libblkio block device driver') |
Andrew Melnychenko | 46627f4 | 2021-05-14 14:48:32 +0300 | [diff] [blame] | 147 | option('bpf', type : 'feature', value : 'auto', |
| 148 | description: 'eBPF support') |
Paolo Bonzini | b4e312e | 2020-09-01 11:28:59 -0400 | [diff] [blame] | 149 | option('cocoa', type : 'feature', value : 'auto', |
| 150 | description: 'Cocoa user interface (macOS only)') |
Paolo Bonzini | f9cd86f | 2020-11-17 12:43:15 +0100 | [diff] [blame] | 151 | option('curl', type : 'feature', value : 'auto', |
| 152 | description: 'CURL block device driver') |
Paolo Bonzini | 7544060 | 2022-04-20 17:33:44 +0200 | [diff] [blame] | 153 | option('gio', type : 'feature', value : 'auto', |
| 154 | description: 'use libgio for D-Bus support') |
Paolo Bonzini | 08821ca | 2020-11-17 13:01:26 +0100 | [diff] [blame] | 155 | option('glusterfs', type : 'feature', value : 'auto', |
| 156 | description: 'Glusterfs block device driver') |
Maciej S. Szmigiero | 0d9e8c0 | 2023-06-12 16:00:54 +0200 | [diff] [blame] | 157 | option('hv_balloon', type : 'feature', value : 'auto', |
| 158 | description: 'hv-balloon driver (requires Glib 2.68+ GTree API)') |
Ilya Leoshkevich | bc71d58 | 2023-02-10 01:52:07 +0100 | [diff] [blame] | 159 | option('libdw', type : 'feature', value : 'auto', |
| 160 | description: 'debuginfo support') |
Paolo Bonzini | 9db405a | 2020-11-17 13:11:25 +0100 | [diff] [blame] | 161 | option('libiscsi', type : 'feature', value : 'auto', |
| 162 | description: 'libiscsi userspace initiator') |
Paolo Bonzini | 30045c0 | 2020-11-17 13:11:25 +0100 | [diff] [blame] | 163 | option('libnfs', type : 'feature', value : 'auto', |
| 164 | description: 'libnfs block device driver') |
Paolo Bonzini | 6ec0e15 | 2020-09-16 18:07:29 +0200 | [diff] [blame] | 165 | option('mpath', type : 'feature', value : 'auto', |
| 166 | description: 'Multipath persistent reservation passthrough') |
Paolo Bonzini | 488a8c7 | 2021-12-21 12:38:27 +0100 | [diff] [blame] | 167 | option('numa', type : 'feature', value : 'auto', |
| 168 | description: 'libnuma support') |
Yonggang Luo | 5285e59 | 2020-10-13 07:43:48 +0800 | [diff] [blame] | 169 | option('iconv', type : 'feature', value : 'auto', |
| 170 | description: 'Font glyph conversion support') |
| 171 | option('curses', type : 'feature', value : 'auto', |
| 172 | description: 'curses UI') |
Dorjoy Chowdhury | bb154e3 | 2024-10-09 03:17:23 +0600 | [diff] [blame] | 173 | option('libcbor', type : 'feature', value : 'auto', |
| 174 | description: 'libcbor support') |
Paolo Bonzini | 5761251 | 2021-06-03 11:15:26 +0200 | [diff] [blame] | 175 | option('gnutls', type : 'feature', value : 'auto', |
| 176 | description: 'GNUTLS cryptography support') |
| 177 | option('nettle', type : 'feature', value : 'auto', |
| 178 | description: 'nettle cryptography support') |
| 179 | option('gcrypt', type : 'feature', value : 'auto', |
| 180 | description: 'libgcrypt cryptography support') |
Paolo Bonzini | 34b5261 | 2021-11-08 14:02:42 +0100 | [diff] [blame] | 181 | option('crypto_afalg', type : 'feature', value : 'disabled', |
| 182 | description: 'Linux AF_ALG crypto backend driver') |
Paolo Bonzini | 83ef168 | 2021-06-03 11:31:35 +0200 | [diff] [blame] | 183 | option('libdaxctl', type : 'feature', value : 'auto', |
| 184 | description: 'libdaxctl support') |
Paolo Bonzini | e36e8c7 | 2021-06-03 11:31:35 +0200 | [diff] [blame] | 185 | option('libpmem', type : 'feature', value : 'auto', |
| 186 | description: 'libpmem support') |
Thomas Huth | e6a52b3 | 2021-12-09 15:48:01 +0100 | [diff] [blame] | 187 | option('libssh', type : 'feature', value : 'auto', |
| 188 | description: 'ssh block device support') |
Paolo Bonzini | 5c53015 | 2020-10-15 06:09:27 -0400 | [diff] [blame] | 189 | option('libudev', type : 'feature', value : 'auto', |
| 190 | description: 'Use libudev to enumerate host devices') |
Paolo Bonzini | 90540f3 | 2021-06-03 11:15:26 +0200 | [diff] [blame] | 191 | option('libusb', type : 'feature', value : 'auto', |
| 192 | description: 'libusb support for USB passthrough') |
Paolo Bonzini | ff66f3e | 2021-10-07 15:08:20 +0200 | [diff] [blame] | 193 | option('linux_aio', type : 'feature', value : 'auto', |
| 194 | description: 'Linux AIO support') |
Paolo Bonzini | 53c22b6 | 2021-06-03 11:31:35 +0200 | [diff] [blame] | 195 | option('linux_io_uring', type : 'feature', value : 'auto', |
| 196 | description: 'Linux io_uring support') |
Paolo Bonzini | ecea369 | 2020-11-17 13:35:28 +0100 | [diff] [blame] | 197 | option('lzfse', type : 'feature', value : 'auto', |
| 198 | description: 'lzfse support for DMG images') |
Paolo Bonzini | 0c32a0a | 2020-11-17 13:11:25 +0100 | [diff] [blame] | 199 | option('lzo', type : 'feature', value : 'auto', |
| 200 | description: 'lzo compression support') |
Paolo Bonzini | fabd1e9 | 2020-11-17 13:11:25 +0100 | [diff] [blame] | 201 | option('rbd', type : 'feature', value : 'auto', |
| 202 | description: 'Ceph block device driver') |
Paolo Bonzini | 88b6e61 | 2022-04-20 17:33:40 +0200 | [diff] [blame] | 203 | option('opengl', type : 'feature', value : 'auto', |
| 204 | description: 'OpenGL support') |
Paolo Bonzini | 3730a73 | 2022-04-20 17:33:41 +0200 | [diff] [blame] | 205 | option('rdma', type : 'feature', value : 'auto', |
| 206 | description: 'Enable RDMA-based migration') |
Paolo Bonzini | 1b69547 | 2021-01-07 14:02:29 +0100 | [diff] [blame] | 207 | option('gtk', type : 'feature', value : 'auto', |
| 208 | description: 'GTK+ user interface') |
Paolo Bonzini | cb57271 | 2020-09-01 01:59:23 -0400 | [diff] [blame] | 209 | option('sdl', type : 'feature', value : 'auto', |
| 210 | description: 'SDL user interface') |
| 211 | option('sdl_image', type : 'feature', value : 'auto', |
| 212 | description: 'SDL Image support for icons') |
Paolo Bonzini | 90835c2 | 2020-11-17 14:22:24 +0100 | [diff] [blame] | 213 | option('seccomp', type : 'feature', value : 'auto', |
| 214 | description: 'seccomp support') |
Paolo Bonzini | 5f364c5 | 2021-06-03 11:15:26 +0200 | [diff] [blame] | 215 | option('smartcard', type : 'feature', value : 'auto', |
| 216 | description: 'CA smartcard emulation support') |
Paolo Bonzini | 241611e | 2020-11-17 13:32:34 +0100 | [diff] [blame] | 217 | option('snappy', type : 'feature', value : 'auto', |
| 218 | description: 'snappy compression support') |
Marc-André Lureau | 3f0a5d5 | 2021-10-07 15:08:23 +0200 | [diff] [blame] | 219 | option('spice', type : 'feature', value : 'auto', |
| 220 | description: 'Spice server support') |
| 221 | option('spice_protocol', type : 'feature', value : 'auto', |
| 222 | description: 'Spice protocol support') |
Paolo Bonzini | cb57271 | 2020-09-01 01:59:23 -0400 | [diff] [blame] | 223 | option('u2f', type : 'feature', value : 'auto', |
| 224 | description: 'U2F emulation support') |
Hongren (Zenithal) Zheng | 8caef85 | 2022-05-19 20:38:57 +0800 | [diff] [blame] | 225 | option('canokey', type : 'feature', value : 'auto', |
| 226 | description: 'CanoKey support') |
Paolo Bonzini | 18f31e6 | 2021-06-03 11:15:26 +0200 | [diff] [blame] | 227 | option('usb_redir', type : 'feature', value : 'auto', |
| 228 | description: 'libusbredir support') |
Thomas Huth | eea9453 | 2021-10-28 20:59:08 +0200 | [diff] [blame] | 229 | option('l2tpv3', type : 'feature', value : 'auto', |
| 230 | description: 'l2tpv3 network backend support') |
Paolo Bonzini | 837b84b | 2021-10-07 15:08:22 +0200 | [diff] [blame] | 231 | option('netmap', type : 'feature', value : 'auto', |
| 232 | description: 'netmap network backend support') |
Marc-André Lureau | cca1575 | 2023-08-30 13:38:25 +0400 | [diff] [blame] | 233 | option('pixman', type : 'feature', value : 'auto', |
| 234 | description: 'pixman support') |
Thomas Huth | 5890258 | 2022-04-08 18:20:47 +0200 | [diff] [blame] | 235 | option('slirp', type: 'feature', value: 'auto', |
| 236 | description: 'libslirp user mode network backend support') |
Paolo Bonzini | e172399 | 2021-10-07 15:08:21 +0200 | [diff] [blame] | 237 | option('vde', type : 'feature', value : 'auto', |
| 238 | description: 'vde network backend support') |
Vladislav Yaroshchuk | e2c1d78 | 2022-03-17 20:28:33 +0300 | [diff] [blame] | 239 | option('vmnet', type : 'feature', value : 'auto', |
| 240 | description: 'vmnet.framework network backend support') |
Paolo Bonzini | 587d59d | 2021-06-03 11:31:35 +0200 | [diff] [blame] | 241 | option('virglrenderer', type : 'feature', value : 'auto', |
| 242 | description: 'virgl rendering support') |
Gurchetan Singh | cd9adbe | 2023-03-21 09:47:36 -0700 | [diff] [blame] | 243 | option('rutabaga_gfx', type : 'feature', value : 'auto', |
| 244 | description: 'rutabaga_gfx support') |
Kshitij Suri | 95f8510 | 2022-04-08 07:13:34 +0000 | [diff] [blame] | 245 | option('png', type : 'feature', value : 'auto', |
| 246 | description: 'PNG support with libpng') |
Thomas Huth | c1de585 | 2021-09-03 10:13:55 +0200 | [diff] [blame] | 247 | option('vnc', type : 'feature', value : 'auto', |
Paolo Bonzini | cb57271 | 2020-09-01 01:59:23 -0400 | [diff] [blame] | 248 | description: 'VNC server') |
| 249 | option('vnc_jpeg', type : 'feature', value : 'auto', |
| 250 | description: 'JPEG lossy compression for VNC server') |
Paolo Bonzini | cb57271 | 2020-09-01 01:59:23 -0400 | [diff] [blame] | 251 | option('vnc_sasl', type : 'feature', value : 'auto', |
| 252 | description: 'SASL authentication for VNC server') |
Paolo Bonzini | c23d7b4 | 2021-06-03 11:31:35 +0200 | [diff] [blame] | 253 | option('vte', type : 'feature', value : 'auto', |
| 254 | description: 'vte support for the gtk UI') |
Claudio Fontana | 29e0bff | 2022-11-21 14:55:38 +0100 | [diff] [blame] | 255 | |
| 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 | |
| 260 | option('gtk_clipboard', type: 'feature', value : 'disabled', |
| 261 | description: 'clipboard support for the gtk UI (EXPERIMENTAL, MAY HANG)') |
Paolo Bonzini | cb57271 | 2020-09-01 01:59:23 -0400 | [diff] [blame] | 262 | option('xkbcommon', type : 'feature', value : 'auto', |
| 263 | description: 'xkbcommon support') |
Paolo Bonzini | b1def33 | 2020-11-17 13:37:39 +0100 | [diff] [blame] | 264 | option('zstd', type : 'feature', value : 'auto', |
| 265 | description: 'zstd compression support') |
Yuan Liu | b844a2c | 2024-06-10 18:21:06 +0800 | [diff] [blame] | 266 | option('qpl', type : 'feature', value : 'auto', |
| 267 | description: 'Query Processing Library support') |
Shameer Kolothum | cfc589a | 2024-06-07 14:53:05 +0100 | [diff] [blame] | 268 | option('uadk', type : 'feature', value : 'auto', |
| 269 | description: 'UADK Library support') |
Bryan Zhang | e28ed31 | 2024-08-30 16:27:19 -0700 | [diff] [blame] | 270 | option('qatzip', type: 'feature', value: 'auto', |
| 271 | description: 'QATzip compression support') |
Max Reitz | a484a71 | 2020-10-27 20:05:41 +0100 | [diff] [blame] | 272 | option('fuse', type: 'feature', value: 'auto', |
| 273 | description: 'FUSE block device export') |
Max Reitz | df4ea70 | 2020-10-27 20:05:46 +0100 | [diff] [blame] | 274 | option('fuse_lseek', type : 'feature', value : 'auto', |
| 275 | description: 'SEEK_HOLE/SEEK_DATA support for FUSE exports') |
Richard Henderson | 8b18cdb | 2020-09-13 12:19:25 -0700 | [diff] [blame] | 276 | |
Paolo Bonzini | 9c29b74 | 2021-10-07 15:08:14 +0200 | [diff] [blame] | 277 | option('trace_backends', type: 'array', value: ['log'], |
| 278 | choices: ['dtrace', 'ftrace', 'log', 'nop', 'simple', 'syslog', 'ust'], |
| 279 | description: 'Set available tracing backends') |
| 280 | |
Paolo Bonzini | 87430d5 | 2021-10-07 15:06:09 +0200 | [diff] [blame] | 281 | option('alsa', type: 'feature', value: 'auto', |
| 282 | description: 'ALSA sound support') |
| 283 | option('coreaudio', type: 'feature', value: 'auto', |
| 284 | description: 'CoreAudio sound support') |
| 285 | option('dsound', type: 'feature', value: 'auto', |
| 286 | description: 'DirectSound sound support') |
| 287 | option('jack', type: 'feature', value: 'auto', |
| 288 | description: 'JACK sound support') |
| 289 | option('oss', type: 'feature', value: 'auto', |
| 290 | description: 'OSS sound support') |
| 291 | option('pa', type: 'feature', value: 'auto', |
| 292 | description: 'PulseAudio sound support') |
Dorinda Bassey | c2d3d1c | 2023-04-17 12:56:54 +0200 | [diff] [blame] | 293 | option('pipewire', type: 'feature', value: 'auto', |
Marc-André Lureau | 20c5124 | 2023-05-06 20:37:26 +0400 | [diff] [blame] | 294 | description: 'PipeWire sound support') |
Alexandre Ratchov | 663df1c | 2022-09-07 15:23:42 +0200 | [diff] [blame] | 295 | option('sndio', type: 'feature', value: 'auto', |
| 296 | description: 'sndio sound support') |
Paolo Bonzini | 87430d5 | 2021-10-07 15:06:09 +0200 | [diff] [blame] | 297 | |
Paolo Bonzini | 2df89d5 | 2022-04-20 17:34:07 +0200 | [diff] [blame] | 298 | option('vhost_kernel', type: 'feature', value: 'auto', |
| 299 | description: 'vhost kernel backend support') |
| 300 | option('vhost_net', type: 'feature', value: 'auto', |
| 301 | description: 'vhost-net kernel acceleration support') |
| 302 | option('vhost_user', type: 'feature', value: 'auto', |
| 303 | description: 'vhost-user backend support') |
| 304 | option('vhost_crypto', type: 'feature', value: 'auto', |
| 305 | description: 'vhost-user crypto backend support') |
| 306 | option('vhost_vdpa', type: 'feature', value: 'auto', |
| 307 | description: 'vhost-vdpa kernel backend support') |
Paolo Bonzini | 69202b4 | 2020-11-17 14:46:21 +0100 | [diff] [blame] | 308 | option('vhost_user_blk_server', type: 'feature', value: 'auto', |
| 309 | description: 'build vhost-user-blk server') |
| 310 | option('virtfs', type: 'feature', value: 'auto', |
| 311 | description: 'virtio-9p support') |
Xie Yongji | a6caeee | 2022-05-23 16:46:08 +0800 | [diff] [blame] | 312 | option('libvduse', type: 'feature', value: 'auto', |
| 313 | description: 'build VDUSE Library') |
Xie Yongji | 2a2359b | 2022-05-23 16:46:09 +0800 | [diff] [blame] | 314 | option('vduse_blk_export', type: 'feature', value: 'auto', |
| 315 | description: 'VDUSE block export support') |
Paolo Bonzini | 69202b4 | 2020-11-17 14:46:21 +0100 | [diff] [blame] | 316 | |
Thomas Huth | 8360208 | 2022-05-16 16:58:23 +0200 | [diff] [blame] | 317 | option('capstone', type: 'feature', value: 'auto', |
Richard Henderson | 8b18cdb | 2020-09-13 12:19:25 -0700 | [diff] [blame] | 318 | description: 'Whether and how to find the capstone library') |
Paolo Bonzini | fbb4121 | 2020-10-05 11:31:15 +0200 | [diff] [blame] | 319 | option('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. Jones | 3d212b4 | 2021-11-15 14:29:43 -0600 | [diff] [blame] | 322 | |
| 323 | option('selinux', type: 'feature', value: 'auto', |
| 324 | description: 'SELinux support in qemu-nbd') |
Paolo Bonzini | 406523f | 2021-10-13 11:43:54 +0200 | [diff] [blame] | 325 | option('replication', type: 'feature', value: 'auto', |
| 326 | description: 'replication support') |
Vladimir Sementsov-Ogievskiy | 6c1e390 | 2023-05-15 16:06:38 +0300 | [diff] [blame] | 327 | option('colo_proxy', type: 'feature', value: 'auto', |
| 328 | description: 'colo-proxy support') |
Paolo Bonzini | ed793c2 | 2021-10-13 11:42:25 +0200 | [diff] [blame] | 329 | option('bochs', type: 'feature', value: 'auto', |
| 330 | description: 'bochs image format support') |
| 331 | option('cloop', type: 'feature', value: 'auto', |
| 332 | description: 'cloop image format support') |
| 333 | option('dmg', type: 'feature', value: 'auto', |
| 334 | description: 'dmg image format support') |
| 335 | option('qcow1', type: 'feature', value: 'auto', |
| 336 | description: 'qcow1 image format support') |
| 337 | option('vdi', type: 'feature', value: 'auto', |
| 338 | description: 'vdi image format support') |
Vladimir Sementsov-Ogievskiy | 11cea42 | 2023-04-21 12:27:58 +0300 | [diff] [blame] | 339 | option('vhdx', type: 'feature', value: 'auto', |
| 340 | description: 'vhdx image format support') |
| 341 | option('vmdk', type: 'feature', value: 'auto', |
| 342 | description: 'vmdk image format support') |
| 343 | option('vpc', type: 'feature', value: 'auto', |
| 344 | description: 'vpc image format support') |
Paolo Bonzini | ed793c2 | 2021-10-13 11:42:25 +0200 | [diff] [blame] | 345 | option('vvfat', type: 'feature', value: 'auto', |
| 346 | description: 'vvfat image format support') |
| 347 | option('qed', type: 'feature', value: 'auto', |
| 348 | description: 'qed image format support') |
| 349 | option('parallels', type: 'feature', value: 'auto', |
| 350 | description: 'parallels image format support') |
Paolo Bonzini | c55cf6a | 2021-10-13 11:46:09 +0200 | [diff] [blame] | 351 | option('block_drv_whitelist_in_tools', type: 'boolean', value: false, |
| 352 | description: 'use block whitelist also in tools instead of only QEMU') |
| 353 | option('rng_none', type: 'boolean', value: false, |
| 354 | description: 'dummy RNG, avoid using /dev/(u)random and getrandom()') |
Paolo Bonzini | 728c0a2 | 2021-10-13 11:52:03 +0200 | [diff] [blame] | 355 | option('coroutine_pool', type: 'boolean', value: true, |
| 356 | description: 'coroutine freelist (better performance)') |
Stefan Hajnoczi | 58a2e3f | 2023-05-01 13:34:43 -0400 | [diff] [blame] | 357 | option('debug_graph_lock', type: 'boolean', value: false, |
| 358 | description: 'graph lock debugging support') |
Paolo Bonzini | c55cf6a | 2021-10-13 11:46:09 +0200 | [diff] [blame] | 359 | option('debug_mutex', type: 'boolean', value: false, |
| 360 | description: 'mutex debugging support') |
Paolo Bonzini | 728c0a2 | 2021-10-13 11:52:03 +0200 | [diff] [blame] | 361 | option('debug_stack_usage', type: 'boolean', value: false, |
| 362 | description: 'measure coroutine stack usage') |
Thomas Huth | 0f22012 | 2023-04-17 15:00:37 +0200 | [diff] [blame] | 363 | option('qom_cast_debug', type: 'boolean', value: true, |
Paolo Bonzini | c55cf6a | 2021-10-13 11:46:09 +0200 | [diff] [blame] | 364 | description: 'cast debugging support') |
Paolo Bonzini | 35acbb3 | 2021-10-13 13:43:36 +0200 | [diff] [blame] | 365 | option('slirp_smbd', type : 'feature', value : 'auto', |
| 366 | description: 'use smbd (at path --smbd=*) in slirp networking') |
Alessandro Di Federico | 7c19dcc | 2022-09-23 19:38:27 +0200 | [diff] [blame] | 367 | |
Paolo Bonzini | e20d68a | 2023-10-09 14:13:59 +0200 | [diff] [blame] | 368 | option('qemu_ga_manufacturer', type: 'string', value: 'QEMU', |
| 369 | description: '"manufacturer" name for qemu-ga registry entries') |
| 370 | option('qemu_ga_distro', type: 'string', value: 'Linux', |
| 371 | description: 'second path element in qemu-ga registry entries') |
| 372 | option('qemu_ga_version', type: 'string', value: '', |
| 373 | description: 'version number for qemu-ga installer') |
| 374 | |
Alessandro Di Federico | 7c19dcc | 2022-09-23 19:38:27 +0200 | [diff] [blame] | 375 | option('hexagon_idef_parser', type : 'boolean', value : true, |
| 376 | description: 'use idef-parser to automatically generate TCG code for the Hexagon frontend') |
Paolo Bonzini | ef7d1ad | 2024-06-18 17:32:52 +0200 | [diff] [blame] | 377 | |
| 378 | option('x86_version', type : 'combo', choices : ['0', '1', '2', '3', '4'], value: '1', |
| 379 | description: 'tweak required x86_64 architecture version beyond compiler default') |
Manos Pitsidianakis | 764a6ee | 2024-10-03 16:28:44 +0300 | [diff] [blame] | 380 | |
Paolo Bonzini | 4aa94ae | 2024-10-14 13:01:13 +0200 | [diff] [blame] | 381 | option('rust', type: 'feature', value: 'disabled', |
Manos Pitsidianakis | 764a6ee | 2024-10-03 16:28:44 +0300 | [diff] [blame] | 382 | description: 'Rust support') |
Paolo Bonzini | c6ea723 | 2024-10-25 10:24:01 +0200 | [diff] [blame] | 383 | option('strict_rust_lints', type: 'boolean', value: false, |
| 384 | description: 'Enable stricter set of Rust warnings') |