# These options do not correspond to a --enable/--disable-* option
# on the configure script command line.  If you add more, list them in
# scripts/meson-buildoptions.py's SKIP_OPTIONS constant too.

option('qemu_suffix', type : 'string', value: 'qemu',
       description: 'Suffix for QEMU data/modules/config directories (can be empty)')
option('docdir', type : 'string', value : 'share/doc',
       description: 'Base directory for documentation installation (can be empty)')
option('qemu_firmwarepath', type : 'array', value : ['share/qemu-firmware'],
       description: 'search PATH for firmware files')
option('pkgversion', type : 'string', value : '',
       description: 'use specified string as sub-version of the package')
option('smbd', type : 'string', value : '',
       description: 'Path to smbd for slirp networking')
option('sphinx_build', type : 'string', value : '',
       description: 'Use specified sphinx-build for building document')
option('iasl', type : 'string', value : '',
       description: 'Path to ACPI disassembler')
option('tls_priority', type : 'string', value : 'NORMAL',
       description: 'Default TLS protocol/cipher priority string')
option('default_devices', type : 'boolean', value : true,
       description: 'Include a default selection of devices in emulators')
option('audio_drv_list', type: 'array', value: ['default'],
       choices: ['alsa', 'coreaudio', 'default', 'dsound', 'jack', 'oss', 'pa', 'sdl'],
       description: 'Set audio driver list')
option('block_drv_rw_whitelist', type : 'string', value : '',
       description: 'set block driver read-write whitelist (by default affects only QEMU, not tools like qemu-img)')
option('block_drv_ro_whitelist', type : 'string', value : '',
       description: 'set block driver read-only whitelist (by default affects only QEMU, not tools like qemu-img)')
option('interp_prefix', type : 'string', value : '/usr/gnemul/qemu-%M',
       description: 'where to find shared libraries etc., use %M for cpu name')
option('fuzzing_engine', type : 'string', value : '',
       description: 'fuzzing engine library for OSS-Fuzz')
option('trace_file', type: 'string', value: 'trace',
       description: 'Trace file prefix for simple backend')

# Everything else can be set via --enable/--disable-* option
# on the configure script command line.  After adding an option
# here make sure to run "make update-buildoptions".

option('docs', type : 'feature', value : 'auto',
       description: 'Documentations build support')
option('fuzzing', type : 'boolean', value: false,
       description: 'build fuzzing targets')
option('gettext', type : 'feature', value : 'auto',
       description: 'Localization of the GTK+ user interface')
option('module_upgrades', type : 'boolean', value : false,
       description: 'try to load modules from alternate paths for upgrades')
option('install_blobs', type : 'boolean', value : true,
       description: 'install provided firmware blobs')
option('sparse', type : 'feature', value : 'auto',
       description: 'sparse checker')
option('guest_agent', type : 'feature', value : 'auto',
       description: 'Build QEMU Guest Agent')
option('guest_agent_msi', type : 'feature', value : 'auto',
       description: 'Build MSI package for the QEMU Guest Agent')
option('tools', type : 'feature', value : 'auto',
       description: 'build support utilities that come with QEMU')
option('qga_vss', type : 'feature', value: 'auto',
       description: 'build QGA VSS support (broken with MinGW)')

option('malloc_trim', type : 'feature', value : 'auto',
       description: 'enable libc malloc_trim() for memory optimization')
option('malloc', type : 'combo', choices : ['system', 'tcmalloc', 'jemalloc'],
       value: 'system', description: 'choose memory allocator to use')

option('kvm', type: 'feature', value: 'auto',
       description: 'KVM acceleration support')
option('hax', type: 'feature', value: 'auto',
       description: 'HAX acceleration support')
option('whpx', type: 'feature', value: 'auto',
       description: 'WHPX acceleration support')
option('hvf', type: 'feature', value: 'auto',
       description: 'HVF acceleration support')
option('nvmm', type: 'feature', value: 'auto',
       description: 'NVMM acceleration support')
option('xen', type: 'feature', value: 'auto',
       description: 'Xen backend support')
option('xen_pci_passthrough', type: 'feature', value: 'auto',
       description: 'Xen PCI passthrough support')
option('tcg', type: 'feature', value: 'enabled',
       description: 'TCG support')
option('tcg_interpreter', type: 'boolean', value: false,
       description: 'TCG with bytecode interpreter (slow)')
option('cfi', type: 'boolean', value: false,
       description: 'Control-Flow Integrity (CFI)')
option('cfi_debug', type: 'boolean', value: false,
       description: 'Verbose errors in case of CFI violation')
option('multiprocess', type: 'feature', value: 'auto',
       description: 'Out of process device emulation support')
option('vfio_user_server', type: 'feature', value: 'disabled',
       description: 'vfio-user server support')
option('dbus_display', type: 'feature', value: 'auto',
       description: '-display dbus support')
option('tpm', type : 'feature', value : 'auto',
       description: 'TPM support')

# Do not enable it by default even for Mingw32, because it doesn't
# work on Wine.
option('membarrier', type: 'feature', value: 'disabled',
       description: 'membarrier system call (for Linux 4.14+ or Windows')

option('avx2', type: 'feature', value: 'auto',
       description: 'AVX2 optimizations')
option('avx512f', type: 'feature', value: 'disabled',
       description: 'AVX512F optimizations')
option('keyring', type: 'feature', value: 'auto',
       description: 'Linux keyring support')

option('attr', type : 'feature', value : 'auto',
       description: 'attr/xattr support')
option('auth_pam', type : 'feature', value : 'auto',
       description: 'PAM access control')
option('brlapi', type : 'feature', value : 'auto',
       description: 'brlapi character device driver')
option('bzip2', type : 'feature', value : 'auto',
       description: 'bzip2 support for DMG images')
option('cap_ng', type : 'feature', value : 'auto',
       description: 'cap_ng support')
option('bpf', type : 'feature', value : 'auto',
        description: 'eBPF support')
option('cocoa', type : 'feature', value : 'auto',
       description: 'Cocoa user interface (macOS only)')
option('curl', type : 'feature', value : 'auto',
       description: 'CURL block device driver')
option('gio', type : 'feature', value : 'auto',
       description: 'use libgio for D-Bus support')
option('glusterfs', type : 'feature', value : 'auto',
       description: 'Glusterfs block device driver')
option('libiscsi', type : 'feature', value : 'auto',
       description: 'libiscsi userspace initiator')
option('libnfs', type : 'feature', value : 'auto',
       description: 'libnfs block device driver')
option('mpath', type : 'feature', value : 'auto',
       description: 'Multipath persistent reservation passthrough')
option('numa', type : 'feature', value : 'auto',
       description: 'libnuma support')
option('iconv', type : 'feature', value : 'auto',
       description: 'Font glyph conversion support')
option('curses', type : 'feature', value : 'auto',
       description: 'curses UI')
option('gnutls', type : 'feature', value : 'auto',
       description: 'GNUTLS cryptography support')
option('nettle', type : 'feature', value : 'auto',
       description: 'nettle cryptography support')
option('gcrypt', type : 'feature', value : 'auto',
       description: 'libgcrypt cryptography support')
option('crypto_afalg', type : 'feature', value : 'disabled',
       description: 'Linux AF_ALG crypto backend driver')
option('libdaxctl', type : 'feature', value : 'auto',
       description: 'libdaxctl support')
option('libpmem', type : 'feature', value : 'auto',
       description: 'libpmem support')
option('libssh', type : 'feature', value : 'auto',
       description: 'ssh block device support')
option('libudev', type : 'feature', value : 'auto',
       description: 'Use libudev to enumerate host devices')
option('libusb', type : 'feature', value : 'auto',
       description: 'libusb support for USB passthrough')
option('linux_aio', type : 'feature', value : 'auto',
       description: 'Linux AIO support')
option('linux_io_uring', type : 'feature', value : 'auto',
       description: 'Linux io_uring support')
option('lzfse', type : 'feature', value : 'auto',
       description: 'lzfse support for DMG images')
option('lzo', type : 'feature', value : 'auto',
       description: 'lzo compression support')
option('rbd', type : 'feature', value : 'auto',
       description: 'Ceph block device driver')
option('opengl', type : 'feature', value : 'auto',
       description: 'OpenGL support')
option('rdma', type : 'feature', value : 'auto',
       description: 'Enable RDMA-based migration')
option('pvrdma', type : 'feature', value : 'auto',
       description: 'Enable PVRDMA support')
option('gtk', type : 'feature', value : 'auto',
       description: 'GTK+ user interface')
option('sdl', type : 'feature', value : 'auto',
       description: 'SDL user interface')
option('sdl_image', type : 'feature', value : 'auto',
       description: 'SDL Image support for icons')
option('seccomp', type : 'feature', value : 'auto',
       description: 'seccomp support')
option('smartcard', type : 'feature', value : 'auto',
       description: 'CA smartcard emulation support')
option('snappy', type : 'feature', value : 'auto',
       description: 'snappy compression support')
option('spice', type : 'feature', value : 'auto',
       description: 'Spice server support')
option('spice_protocol', type : 'feature', value : 'auto',
       description: 'Spice protocol support')
option('u2f', type : 'feature', value : 'auto',
       description: 'U2F emulation support')
option('canokey', type : 'feature', value : 'auto',
       description: 'CanoKey support')
option('usb_redir', type : 'feature', value : 'auto',
       description: 'libusbredir support')
option('l2tpv3', type : 'feature', value : 'auto',
       description: 'l2tpv3 network backend support')
option('netmap', type : 'feature', value : 'auto',
       description: 'netmap network backend support')
option('vde', type : 'feature', value : 'auto',
       description: 'vde network backend support')
option('vmnet', type : 'feature', value : 'auto',
       description: 'vmnet.framework network backend support')
option('virglrenderer', type : 'feature', value : 'auto',
       description: 'virgl rendering support')
option('png', type : 'feature', value : 'auto',
       description: 'PNG support with libpng')
option('vnc', type : 'feature', value : 'auto',
       description: 'VNC server')
option('vnc_jpeg', type : 'feature', value : 'auto',
       description: 'JPEG lossy compression for VNC server')
option('vnc_sasl', type : 'feature', value : 'auto',
       description: 'SASL authentication for VNC server')
option('vte', type : 'feature', value : 'auto',
       description: 'vte support for the gtk UI')
option('xkbcommon', type : 'feature', value : 'auto',
       description: 'xkbcommon support')
option('zstd', type : 'feature', value : 'auto',
       description: 'zstd compression support')
option('fuse', type: 'feature', value: 'auto',
       description: 'FUSE block device export')
option('fuse_lseek', type : 'feature', value : 'auto',
       description: 'SEEK_HOLE/SEEK_DATA support for FUSE exports')

option('trace_backends', type: 'array', value: ['log'],
       choices: ['dtrace', 'ftrace', 'log', 'nop', 'simple', 'syslog', 'ust'],
       description: 'Set available tracing backends')

option('alsa', type: 'feature', value: 'auto',
       description: 'ALSA sound support')
option('coreaudio', type: 'feature', value: 'auto',
       description: 'CoreAudio sound support')
option('dsound', type: 'feature', value: 'auto',
       description: 'DirectSound sound support')
option('jack', type: 'feature', value: 'auto',
       description: 'JACK sound support')
option('oss', type: 'feature', value: 'auto',
       description: 'OSS sound support')
option('pa', type: 'feature', value: 'auto',
       description: 'PulseAudio sound support')

option('vhost_kernel', type: 'feature', value: 'auto',
       description: 'vhost kernel backend support')
option('vhost_net', type: 'feature', value: 'auto',
       description: 'vhost-net kernel acceleration support')
option('vhost_user', type: 'feature', value: 'auto',
       description: 'vhost-user backend support')
option('vhost_crypto', type: 'feature', value: 'auto',
       description: 'vhost-user crypto backend support')
option('vhost_vdpa', type: 'feature', value: 'auto',
       description: 'vhost-vdpa kernel backend support')
option('vhost_user_blk_server', type: 'feature', value: 'auto',
       description: 'build vhost-user-blk server')
option('virtfs', type: 'feature', value: 'auto',
       description: 'virtio-9p support')
option('virtiofsd', type: 'feature', value: 'auto',
       description: 'build virtiofs daemon (virtiofsd)')
option('libvduse', type: 'feature', value: 'auto',
       description: 'build VDUSE Library')
option('vduse_blk_export', type: 'feature', value: 'auto',
       description: 'VDUSE block export support')

option('capstone', type: 'feature', value: 'auto',
       description: 'Whether and how to find the capstone library')
option('slirp', type: 'combo', value: 'auto',
       choices: ['disabled', 'enabled', 'auto', 'system', 'internal'],
       description: 'Whether and how to find the slirp library')
option('fdt', type: 'combo', value: 'auto',
       choices: ['disabled', 'enabled', 'auto', 'system', 'internal'],
       description: 'Whether and how to find the libfdt library')

option('selinux', type: 'feature', value: 'auto',
       description: 'SELinux support in qemu-nbd')
option('live_block_migration', type: 'feature', value: 'auto',
       description: 'block migration in the main migration stream')
option('replication', type: 'feature', value: 'auto',
       description: 'replication support')
option('bochs', type: 'feature', value: 'auto',
       description: 'bochs image format support')
option('cloop', type: 'feature', value: 'auto',
       description: 'cloop image format support')
option('dmg', type: 'feature', value: 'auto',
       description: 'dmg image format support')
option('qcow1', type: 'feature', value: 'auto',
       description: 'qcow1 image format support')
option('vdi', type: 'feature', value: 'auto',
       description: 'vdi image format support')
option('vvfat', type: 'feature', value: 'auto',
       description: 'vvfat image format support')
option('qed', type: 'feature', value: 'auto',
       description: 'qed image format support')
option('parallels', type: 'feature', value: 'auto',
       description: 'parallels image format support')
option('block_drv_whitelist_in_tools', type: 'boolean', value: false,
       description: 'use block whitelist also in tools instead of only QEMU')
option('rng_none', type: 'boolean', value: false,
       description: 'dummy RNG, avoid using /dev/(u)random and getrandom()')
option('coroutine_pool', type: 'boolean', value: true,
       description: 'coroutine freelist (better performance)')
option('debug_mutex', type: 'boolean', value: false,
       description: 'mutex debugging support')
option('debug_stack_usage', type: 'boolean', value: false,
       description: 'measure coroutine stack usage')
option('qom_cast_debug', type: 'boolean', value: false,
       description: 'cast debugging support')
option('gprof', type: 'boolean', value: false,
       description: 'QEMU profiling with gprof')
option('profiler', type: 'boolean', value: false,
       description: 'profiler support')
option('slirp_smbd', type : 'feature', value : 'auto',
       description: 'use smbd (at path --smbd=*) in slirp networking')
