option('cli', type: 'feature', value: 'auto', description: 'Build CLI programs ("auto" means they will be built when not a subproject)') option('static_runtime', type: 'boolean', value: false, description: 'Link all libraries statically') option('local', type: 'boolean', value: false, description: 'Adds support for local/side-by-side installation (sets rpath if needed)') option('blob', type: 'boolean', value: false, description: 'Compile just one binary which dispatch to the right handlers based on the name used to call it') option('libr', type: 'boolean', value: false, description: 'Also build a single libr shared library with all libraries and plugins inside (requires default_library=static)') option('libr_hide', type: 'array', choices: ['openssl', 'capstone'], value: [], description: 'Bundled static dependencies whose symbols are kept out of the libr shared library exports') option('wasan', type: 'boolean', value: false, description: 'Windows-specific hack to build with asan using msvc') option('threadsafety', type: 'boolean', value: false, description: 'Enable thread-safe checks on critical paths') option('debugstuff', type: 'boolean', value: true, description: 'Permit and handle ^C hook signals and kept todo and debug logs') # Plugins option('plugins', type: 'string', value: '', description: 'Comma separated list of plugin names') option('demanglers', type: 'array', choices: ['cxx', 'dlang', 'ibmxl', 'java', 'msvc', 'objc', 'pascal', 'rust', 'swift'], value: ['cxx', 'dlang', 'ibmxl', 'java', 'msvc', 'objc', 'pascal', 'rust', 'swift'], description: 'Demangler plugins to include') # For Windows option('r2_libdir', type: 'string', value: '') option('r2_incdir', type: 'string', value: '') option('r2_datdir', type: 'string', value: '') option('r2_wwwroot', type: 'string', value: '') option('r2_sdb', type: 'string', value: '') option('r2_zigns', type: 'string', value: '') option('r2_themes', type: 'string', value: '') option('r2_panels', type: 'string', value: '') option('r2_fortunes', type: 'string', value: '') option('r2_platform', type: 'string', value: '') option('r2_flags', type: 'string', value: '') option('r2_hud', type: 'string', value: '') option('r2_version_commit', type: 'string', value: '') option('r2_gittap', type: 'string', value: '') option('r2_gittip', type: 'string', value: '') option('checks_level', type: 'integer', value: 9999, description: 'Value between 0 and 3 to enable different level of assert (see R_CHECKS_LEVEL). By default its value depends on buildtype (2 on debug, 1 on release).') option('capstone_in_builddir', type: 'boolean', value: false, description: 'When true, capstone is downloaded in the build directory and not in the source one') option('want_threads', type: 'boolean', value: true) option('want_qjs', type: 'boolean', value: true) option('want_panels', type: 'boolean', value: true, description: 'Build the visual panels core plugin') option('want_mmc', type: 'boolean', value: true, description: 'Build the Mountpoint Miknight Commander core plugin') option('use_new_abi', type: 'boolean', value: false) option('use_bundle_prefix', type: 'boolean', value: false) option('want_capstone', type: 'boolean', value: true) option('want_zydis', type: 'boolean', value: true) option('use_sys_capstone', type: 'boolean', value: false) option('use_sys_zydis', type: 'boolean', value: false) option('use_capstone_version', type: 'combo', choices: ['v4', 'v5', 'next', 'v6'], value: 'v5') option('use_sys_magic', type: 'boolean', value: false) option('use_sys_zip', type: 'boolean', value: false) option('use_zip', type: 'boolean', value: true, description: 'Build libzip support and zip plugins (io_zip, fs_zip)') option('use_otezip', type: 'boolean', value: false, description: 'Use otezip as libzip replacement (subproject)') option('use_sys_zlib', type: 'boolean', value: false) option('use_sys_lz4', type: 'boolean', value: false) option('use_sys_xxhash', type: 'boolean', value: false) option('use_ssl', type: 'boolean', value: false) option('use_ssl_crypto', type: 'boolean', value: false) option('use_v35', type: 'boolean', value: false) option('use_sys_openssl', type: 'boolean', value: false) option('static_sys_openssl', type: 'boolean', value: false) option('use_libuv', type: 'boolean', value: false) option('use_libsqsh', type: 'boolean', value: false) option('use_fork', type: 'boolean', value: true) # host_machine.system() != 'windows') option('sdb_cgen', type: 'boolean', value: false) option('use_dylink', type: 'boolean', value: true) option('debugger', type: 'boolean', value: true) option('network', type: 'boolean', value: true) option('static_themes', type: 'boolean', value: false) option('want_ptrace_wrap', type: 'boolean', value: true) option('nogpl', type: 'boolean', value: false) option('use_webui', type: 'boolean', value: true, description: 'install different WebUIs for radare2') option('enable_tests', type: 'boolean', value: true, description: 'Build unit tests in test/unit') option('enable_libfuzzer', type: 'boolean', value: false, description: 'Build libFuzzer targets in test/fuzz') option('enable_r2r', type: 'boolean', value: true, description: 'Build r2r executable for regression ')