diff --git a/args.gn b/args.gn index 67fc581a..f22b266b 100644 --- a/args.gn +++ b/args.gn @@ -46,9 +46,7 @@ enable_precompiled_headers = false media_use_ffmpeg = true media_use_libvpx = true enable_hls_demuxer = true -enable_ink = false enable_discovery = true -enable_cros_media_app = false proprietary_codecs = true ffmpeg_branding = "Chrome" # Set to false for Polly build diff --git a/arm/android/README.md b/arm/android/README.md new file mode 100644 index 00000000..2e4fde7f --- /dev/null +++ b/arm/android/README.md @@ -0,0 +1,10 @@ +# Android args.gn files + +debug_args.gn is for arm64 only, but could be modified according to the other ones to + support different microarchitectures. +   android_full_debug = true can be used in debug builds + +chromium_args.gn is for making a vanilla official non-debug Chromium build + +API Keys allow location features, but do not allow Google Sync to function like on desktop. +This is due to Google being an asshole an adding extra restrictions to Android Chromium. diff --git a/arm/android/android_arm32_args.gn b/arm/android/arm32_args.gn similarity index 98% rename from arm/android/android_arm32_args.gn rename to arm/android/arm32_args.gn index 12cd4657..5011ae12 100644 --- a/arm/android/android_arm32_args.gn +++ b/arm/android/arm32_args.gn @@ -58,9 +58,7 @@ enable_precompiled_headers = false media_use_ffmpeg = true media_use_libvpx = true enable_hls_demuxer = true -enable_ink = false enable_discovery = true -enable_cros_media_app = false proprietary_codecs = true ffmpeg_branding = "Chrome" clang_use_chrome_plugins = true diff --git a/arm/android/android_arm64_args.gn b/arm/android/arm64_args.gn similarity index 98% rename from arm/android/android_arm64_args.gn rename to arm/android/arm64_args.gn index e2df6c54..85e004a1 100644 --- a/arm/android/android_arm64_args.gn +++ b/arm/android/arm64_args.gn @@ -58,9 +58,7 @@ enable_precompiled_headers = false media_use_ffmpeg = true media_use_libvpx = true enable_hls_demuxer = true -enable_ink = false enable_discovery = true -enable_cros_media_app = false proprietary_codecs = true ffmpeg_branding = "Chrome" clang_use_chrome_plugins = true diff --git a/arm/android/chromium_android_args.gn b/arm/android/chromium_args.gn similarity index 100% rename from arm/android/chromium_android_args.gn rename to arm/android/chromium_args.gn diff --git a/arm/android/debug_args.gn b/arm/android/debug_args.gn new file mode 100644 index 00000000..85e004a1 --- /dev/null +++ b/arm/android/debug_args.gn @@ -0,0 +1,97 @@ +enable_jxl_decoder = true +target_os = "android" +target_cpu = "arm64" +v8_target_cpu = "arm64" +arm_version = 8 +arm_arch = "armv8-a" +arm_tune = "generic-armv8-a" +arm_float_abi = "hard" +arm_use_thumb = true +arm_use_neon = true +arm_optionally_use_neon = true +arm_fpu = "neon" +is_official_build = true +is_high_end_android = true +use_relr_relocations = true +optimize_for_size = false +# optimize_for_speed = true +is_debug = false +is_java_debug = false +debuggable_apks = false +# is_cfi = true +use_relative_vtables_abi = false +icu_use_data_file = true +# use_cfi_cast = true +android_channel = "stable" +disable_android_lint = true +enable_stripping = true +thin_lto_enable_cache = false +strip_debug_info = true +dcheck_always_on = false +exclude_unwind_tables = true +enable_iterator_debugging = false +disable_fieldtrial_testing_config = true +enable_reporting = false +enable_remoting = false +enable_resource_allowlist_generation = false +enable_profiling = false +is_component_build = false +symbol_level = 0 +enable_nacl = false +optimize_webui = true +treat_warnings_as_errors = false +system_webview_package_name = "com.thorium.webview" +trichrome_library_package = "org.thorium.trichromelibrary" +system_webview_shell_package_name = "org.thorium.webview_shell" +# webview_includes_weblayer = true +use_lld = true +v8_symbol_level = 0 +v8_enable_fast_torque = true +v8_enable_builtins_optimization = true +v8_enable_maglev = true +v8_enable_turbofan = true +# TODO: Re-Enable +use_v8_context_snapshot = false +v8_use_external_startup_data = true +blink_symbol_level = 0 +enable_precompiled_headers = false +media_use_ffmpeg = true +media_use_libvpx = true +enable_hls_demuxer = true +enable_discovery = true +proprietary_codecs = true +ffmpeg_branding = "Chrome" +clang_use_chrome_plugins = true +enable_ffmpeg_video_decoders = true +is_component_ffmpeg = false +use_webaudio_pffft = true +enable_widevine = true +bundle_widevine_cdm = false +enable_cdm_host_verification = false +ignore_missing_widevine_signing_cert = true +enable_media_drm_storage = true +# enable_media_overlay = true +enable_hangout_services_extension = true +rtc_use_h264 = false +rtc_prefer_fixed_point = true +rtc_include_ilbc = true +rtc_build_with_neon = true +rtc_build_examples = false +rtc_enable_avx2 = false +enable_vr = true +enable_platform_hevc = true +enable_hevc_parser_and_hw_decoder = true +platform_has_optional_hevc_support = true +enable_platform_ac3_eac3_audio = true +enable_platform_ac4_audio = false +enable_platform_dolby_vision = true +enable_platform_encrypted_dolby_vision = true +enable_platform_mpeg_h_audio = true +enable_platform_dts_audio = true +enable_mse_mpeg2ts_stream_parser = true +use_thin_lto = true +thin_lto_enable_optimizations = true +enable_rust = true +enable_all_rust_features = false +chrome_pgo_phase = 2 +pgo_data_path = "/home/alex/chromium/src/chrome/build/pgo_profiles/chrome-android64-main-1725631067-463075337b2f1208828cf4a0e31dfd1e820a025f-428b4881737baeb8dca8873460c3a9fabfe16169.profdata" diff --git a/arm/android/android_x64_args.gn b/arm/android/x64_args.gn similarity index 98% rename from arm/android/android_x64_args.gn rename to arm/android/x64_args.gn index 43710a4f..ed402a91 100644 --- a/arm/android/android_x64_args.gn +++ b/arm/android/x64_args.gn @@ -57,9 +57,7 @@ enable_precompiled_headers = false media_use_ffmpeg = true media_use_libvpx = true enable_hls_demuxer = true -enable_ink = false enable_discovery = true -enable_cros_media_app = false proprietary_codecs = true ffmpeg_branding = "Chrome" clang_use_chrome_plugins = true diff --git a/arm/android/android_x86_args.gn b/arm/android/x86_args.gn similarity index 98% rename from arm/android/android_x86_args.gn rename to arm/android/x86_args.gn index e0de443c..bfcd5eab 100644 --- a/arm/android/android_x86_args.gn +++ b/arm/android/x86_args.gn @@ -57,9 +57,7 @@ enable_precompiled_headers = false media_use_ffmpeg = true media_use_libvpx = true enable_hls_demuxer = true -enable_ink = false enable_discovery = true -enable_cros_media_app = false proprietary_codecs = true ffmpeg_branding = "Chrome" clang_use_chrome_plugins = true diff --git a/arm/raspi/raspi_args.gn b/arm/raspi/raspi_args.gn index 64a4c2c0..37121f21 100644 --- a/arm/raspi/raspi_args.gn +++ b/arm/raspi/raspi_args.gn @@ -51,9 +51,7 @@ enable_precompiled_headers = false media_use_ffmpeg = true media_use_libvpx = true enable_hls_demuxer = true -enable_ink = false enable_discovery = true -enable_cros_media_app = false proprietary_codecs = true ffmpeg_branding = "Chrome" clang_use_chrome_plugins = true diff --git a/arm/win_ARM_args.gn b/arm/win_ARM_args.gn index aae99692..9cdb10e2 100644 --- a/arm/win_ARM_args.gn +++ b/arm/win_ARM_args.gn @@ -36,9 +36,7 @@ enable_precompiled_headers = false media_use_ffmpeg = true media_use_libvpx = true enable_hls_demuxer = true -enable_ink = false enable_discovery = false -enable_cros_media_app = false proprietary_codecs = true ffmpeg_branding = "Chrome" # Set to false for Polly build diff --git a/build_win.sh b/build_win.sh index 618f3271..16d61ead 100755 --- a/build_win.sh +++ b/build_win.sh @@ -49,8 +49,6 @@ cd ${CR_SRC_DIR} && autoninja -C out/thorium thorium_all -j$@ && autoninja -C out/thorium setup mini_installer -j$@ && -#mv -v -f ${CR_SRC_DIR}/out/thorium/mini_installer.exe ${CR_SRC_DIR}/out/thorium/thorium_mini_installer.exe && - printf "\n" && cat ~/thorium/logos/thorium_logo_ascii_art.txt && printf "\n" && diff --git a/infra/DEBUG/debug_args.gn b/infra/DEBUG/debug_args.gn index 6ee0ede0..48be4ead 100644 --- a/infra/DEBUG/debug_args.gn +++ b/infra/DEBUG/debug_args.gn @@ -7,9 +7,10 @@ use_avx512 = false use_fma = false # use_polly = true +# use_bolt = true target_os = "linux" target_cpu = "x64" -enable_linux_installer = true +enable_linux_installer = false enable_distro_version_check = false is_official_build = false is_debug = true @@ -32,7 +33,7 @@ is_clang = true treat_warnings_as_errors = false # llvm_force_head_revision = true use_lld = true -use_icf = true +use_icf = false is_cfi = false v8_symbol_level = 2 v8_enable_fast_torque = true @@ -46,9 +47,7 @@ enable_precompiled_headers = false media_use_ffmpeg = true media_use_libvpx = true enable_hls_demuxer = true -enable_ink = false enable_discovery = true -enable_cros_media_app = false proprietary_codecs = true ffmpeg_branding = "Chrome" # Set to false for Polly build @@ -85,5 +84,5 @@ use_thin_lto = false thin_lto_enable_optimizations = false enable_rust = true enable_all_rust_features = true -# init_stack_vars_zero = true +init_stack_vars_zero = false chrome_pgo_phase = 0 diff --git a/infra/DEBUG/mac_ARM_debug_args.gn b/infra/DEBUG/mac_ARM_debug_args.gn index e96c4ae6..584217e3 100644 --- a/infra/DEBUG/mac_ARM_debug_args.gn +++ b/infra/DEBUG/mac_ARM_debug_args.gn @@ -24,8 +24,8 @@ enable_webui_tab_strip = false treat_warnings_as_errors = false # llvm_force_head_revision = true # use_lld = true -# use_icf = true -# is_cfi = true +use_icf = false +is_cfi = false v8_symbol_level = 0 v8_enable_fast_torque = true v8_enable_builtins_optimization = false @@ -38,9 +38,7 @@ blink_symbol_level = 2 media_use_ffmpeg = true media_use_libvpx = true enable_hls_demuxer = true -enable_ink = false enable_discovery = true -enable_cros_media_app = false proprietary_codecs = true ffmpeg_branding = "Chrome" # Set to false for Polly build @@ -60,7 +58,7 @@ rtc_use_h264 = true rtc_use_h265 = true rtc_include_ilbc = true rtc_build_with_neon = true -rtc_build_examples = false +rtc_build_examples = true # rtc_enable_avx2 = true enable_vr = true enable_platform_hevc = true @@ -77,8 +75,8 @@ use_text_section_splitting = true use_thin_lto = false thin_lto_enable_optimizations = false enable_rust = true -# enable_all_rust_features = true -# init_stack_vars_zero = true +enable_all_rust_features = false +init_stack_vars_zero = false enable_updater = false enable_update_notifications = false chrome_pgo_phase = 0 diff --git a/infra/DEBUG/mac_x64_debug_args.gn b/infra/DEBUG/mac_x64_debug_args.gn index 88ec92ff..6e32161c 100644 --- a/infra/DEBUG/mac_x64_debug_args.gn +++ b/infra/DEBUG/mac_x64_debug_args.gn @@ -32,8 +32,8 @@ enable_webui_tab_strip = false treat_warnings_as_errors = false # llvm_force_head_revision = true # use_lld = true -# use_icf = true -# is_cfi = true +use_icf = false +is_cfi = false v8_symbol_level = 0 v8_enable_fast_torque = true v8_enable_builtins_optimization = false @@ -46,9 +46,7 @@ blink_symbol_level = 2 media_use_ffmpeg = true media_use_libvpx = true enable_hls_demuxer = true -enable_ink = false enable_discovery = true -enable_cros_media_app = false proprietary_codecs = true ffmpeg_branding = "Chrome" # Set to false for Polly build @@ -68,7 +66,7 @@ rtc_use_h264 = true rtc_use_h265 = true rtc_include_ilbc = true # rtc_build_with_neon = false -rtc_build_examples = false +rtc_build_examples = true rtc_enable_avx2 = true enable_vr = true enable_platform_hevc = true @@ -85,8 +83,8 @@ use_text_section_splitting = true use_thin_lto = false thin_lto_enable_optimizations = false enable_rust = true -# enable_all_rust_features = true -# init_stack_vars_zero = true +enable_all_rust_features = false +init_stack_vars_zero = false enable_updater = false enable_update_notifications = false chrome_pgo_phase = 0 diff --git a/infra/DEBUG/test_build_args.gn b/infra/DEBUG/test_build_args.gn index e2f27af1..0deb19d4 100644 --- a/infra/DEBUG/test_build_args.gn +++ b/infra/DEBUG/test_build_args.gn @@ -6,13 +6,17 @@ use_avx2 = false use_avx512 = false use_fma = false +# use_polly = true +# use_bolt = true target_os = "linux" target_cpu = "x64" +enable_linux_installer = true +enable_distro_version_check = false is_official_build = false is_debug = false enable_stripping = false thin_lto_enable_cache = false -dcheck_always_on = false +dcheck_always_on = true exclude_unwind_tables = false enable_iterator_debugging = false disable_fieldtrial_testing_config = true @@ -22,7 +26,7 @@ enable_profiling = false is_component_build = true symbol_level = 1 enable_nacl = false -optimize_webui = true +optimize_webui = false enable_webui_tab_strip = true is_clang = true treat_warnings_as_errors = false @@ -36,12 +40,13 @@ v8_enable_fast_torque = true # v8_enable_maglev = true # v8_enable_turbofan = true v8_enable_wasm_simd256_revec = true -# use_v8_context_snapshot = true +use_v8_context_snapshot = true blink_symbol_level = 0 enable_precompiled_headers = false media_use_ffmpeg = true media_use_libvpx = true enable_hls_demuxer = true +enable_discovery = true proprietary_codecs = true ffmpeg_branding = "Chrome" # Set to false for Polly build @@ -78,5 +83,5 @@ use_thin_lto = true thin_lto_enable_optimizations = true enable_rust = true enable_all_rust_features = true -# init_stack_vars_zero = true +init_stack_vars_zero = false chrome_pgo_phase = 0 diff --git a/infra/DEBUG/test_build_win_args.gn b/infra/DEBUG/test_build_win_args.gn index 4183e80b..989dcaec 100644 --- a/infra/DEBUG/test_build_win_args.gn +++ b/infra/DEBUG/test_build_win_args.gn @@ -1,11 +1,13 @@ use_sse3 = true use_sse41 = true use_sse42 = true -use_avx = true +use_avx = false use_avx2 = false use_avx512 = false use_fma = false +# use_polly = true +# use_bolt = true target_os = "win" target_cpu = "x64" is_official_build = false @@ -20,16 +22,14 @@ enable_reporting = false enable_resource_allowlist_generation = false enable_profiling = false is_component_build = true -symbol_level = 1 -use_debug_fission = true -# use_large_pdbs = true +symbol_level = 2 enable_nacl = false optimize_webui = false enable_webui_tab_strip = true is_clang = true treat_warnings_as_errors = false # llvm_force_head_revision = true -# win_enable_cfg_guards = true +win_enable_cfg_guards = true use_lld = true v8_symbol_level = 0 v8_enable_fast_torque = true @@ -38,26 +38,24 @@ v8_enable_fast_torque = true # v8_enable_turbofan = true v8_enable_wasm_simd256_revec = true # use_v8_context_snapshot = true -blink_symbol_level = 1 +blink_symbol_level = 2 enable_precompiled_headers = false media_use_ffmpeg = true media_use_libvpx = true enable_hls_demuxer = true -enable_ink = false -enable_discovery = false -enable_cros_media_app = false +enable_discovery = true proprietary_codecs = true ffmpeg_branding = "Chrome" # Set to false for Polly build clang_use_chrome_plugins = false enable_ffmpeg_video_decoders = true -is_component_ffmpeg = true +is_component_ffmpeg = false use_webaudio_pffft = true enable_library_cdms = true enable_widevine = true bundle_widevine_cdm = false # enable_media_foundation_widevine_cdm = true -# enable_cdm_host_verification = true +enable_cdm_host_verification = true enable_cdm_storage_id = true enable_widevine_cdm_host_verification = true enable_rlz = true @@ -67,7 +65,7 @@ enable_hangout_services_extension = false rtc_use_h264 = true rtc_use_h265 = true rtc_include_ilbc = true -rtc_build_examples = false +rtc_build_examples = true rtc_enable_avx2 = true enable_vr = true enable_platform_hevc = true @@ -81,9 +79,9 @@ enable_platform_mpeg_h_audio = true enable_platform_dts_audio = true enable_mse_mpeg2ts_stream_parser = true use_text_section_splitting = true -use_thin_lto = false -thin_lto_enable_optimizations = false +use_thin_lto = true +thin_lto_enable_optimizations = true enable_rust = true enable_all_rust_features = true -# init_stack_vars_zero = true +init_stack_vars_zero = false chrome_pgo_phase = 0 diff --git a/infra/DEBUG/win_debug_args.gn b/infra/DEBUG/win_debug_args.gn index e461443f..39457a60 100644 --- a/infra/DEBUG/win_debug_args.gn +++ b/infra/DEBUG/win_debug_args.gn @@ -1,7 +1,7 @@ use_sse3 = true use_sse41 = true use_sse42 = true -use_avx = true +use_avx = false use_avx2 = false use_avx512 = false use_fma = false @@ -23,15 +23,13 @@ enable_resource_allowlist_generation = false enable_profiling = false is_component_build = true symbol_level = 2 -use_debug_fission = true -# use_large_pdbs = true enable_nacl = false optimize_webui = false enable_webui_tab_strip = true is_clang = true treat_warnings_as_errors = false # llvm_force_head_revision = true -# win_enable_cfg_guards = true +win_enable_cfg_guards = false use_lld = true v8_symbol_level = 2 v8_enable_fast_torque = true @@ -45,9 +43,7 @@ enable_precompiled_headers = false media_use_ffmpeg = true media_use_libvpx = true enable_hls_demuxer = true -enable_ink = false -enable_discovery = false -enable_cros_media_app = false +enable_discovery = true proprietary_codecs = true ffmpeg_branding = "Chrome" # Set to false for Polly build @@ -69,7 +65,7 @@ enable_hangout_services_extension = false rtc_use_h264 = true rtc_use_h265 = true rtc_include_ilbc = true -rtc_build_examples = false +rtc_build_examples = true rtc_enable_avx2 = true enable_vr = true enable_platform_hevc = true @@ -87,5 +83,5 @@ use_thin_lto = false thin_lto_enable_optimizations = false enable_rust = true enable_all_rust_features = true -# init_stack_vars_zero = true +init_stack_vars_zero = false chrome_pgo_phase = 0 diff --git a/infra/REMOVED_ARGS.txt b/infra/REMOVED_ARGS.txt index 808a684b..1841ce24 100644 --- a/infra/REMOVED_ARGS.txt +++ b/infra/REMOVED_ARGS.txt @@ -25,3 +25,9 @@ use_vr_assets_component = true # Removed upstream enable_widevine_cdm_component = true # Set internally visual_studio_version = "2022" # Not needed anymore + +use_large_pdbs = true # Was used in debug builds to allow larger PDB files. + +enable_ink = false # Cannot set to true anyway, without Chrome internal code + +enable_cros_media_app = false # Only for ChromiumOS, was removed from most args.gns, but still enabled for ThoriumOS and in cros_args.gn diff --git a/infra/args.list b/infra/args.list index f021e13f..61e29667 100644 --- a/infra/args.list +++ b/infra/args.list @@ -1,14 +1,18 @@ ## LIST OF ALL POSSIBLE GN ARGUMENTS +absl_build_tests + Current value (from the default) = true + From //third_party/abseil-cpp/absl.gni:23 + action_pool_depth Current value (from the default) = -1 - From //build/toolchain/BUILD.gn:11 + From //build/toolchain/BUILD.gn:10 - Pool for non goma tasks. + Pool for non remote tasks. added_rust_stdlib_libs Current value (from the default) = [] - From //build/config/rust.gni:82 + From //build/config/rust.gni:86 Any extra std rlibs in your Rust toolchain, relative to the standard Rust toolchain. Typically used with 'rust_sysroot_absolute' @@ -17,15 +21,9 @@ allow_critical_memory_pressure_handling_in_foreground Current value (from the default) = false From //content/common/features.gni:16 -allow_jni_multiplexing - Current value (from the default) = false - From //third_party/jni_zero/jni_zero.gni:12 - - Enables JNI multiplexing to reduce JNI native methods overhead. - allow_runtime_configurable_key_storage Current value (from the default) = false - From //components/os_crypt/sync/features.gni:13 + From //components/os_crypt/sync/features.gni:10 Whether to make account and service names for the crypto key storage configurable at runtime for embedders. @@ -59,7 +57,7 @@ also_build_lacros_chrome_for_architecture alternate_cdm_storage_id_key Current value (from the default) = "" - From //media/media_options.gni:252 + From //media/media_options.gni:253 If |enable_cdm_storage_id| is set, then an implementation specific key must also be provided. It can be provided by defining CDM_STORAGE_ID_KEY @@ -82,15 +80,19 @@ android_full_debug angle_64bit_current_cpu Current value (from the default) = true - From //third_party/angle/gni/angle.gni:114 + From //third_party/angle/gni/angle.gni:119 + +angle_always_log_info + Current value (from the default) = false + From //third_party/angle/gni/angle.gni:264 angle_assert_always_on Current value (from the default) = true - From //third_party/angle/gni/angle.gni:108 + From //third_party/angle/gni/angle.gni:113 angle_build_all Current value (from the default) = false - From //third_party/angle/BUILD.gn:44 + From //third_party/angle/BUILD.gn:48 Don't build extra (test, samples etc) for Windows UWP. We don't have infrastructure (e.g. windowing helper functions) in place to run them. @@ -105,17 +107,17 @@ angle_build_capture_replay_tests angle_build_mesa Current value (from the default) = false - From //third_party/angle/gni/angle.gni:293 + From //third_party/angle/gni/angle.gni:318 angle_build_tests Current value (from the default) = true - From //third_party/angle/gni/angle.gni:306 + From //third_party/angle/gni/angle.gni:331 True if we want to build the ANGLE test suites. On by default in most configs. angle_build_vulkan_system_info Current value (from the default) = true - From //third_party/angle/gni/angle.gni:287 + From //third_party/angle/gni/angle.gni:312 angle_capture_replay_composite_file_id Current value (from the default) = 1 @@ -129,13 +131,13 @@ angle_capture_replay_test_trace_dir angle_debug_layers_enabled Current value (from the default) = true - From //third_party/angle/gni/angle.gni:129 + From //third_party/angle/gni/angle.gni:140 By default we enable debug layers when asserts are turned on. angle_delegate_workers Current value (from the default) = true - From //third_party/angle/gni/angle.gni:165 + From //third_party/angle/gni/angle.gni:178 By default, ANGLE is using a thread pool for parallel compilation. Activating the delegate worker results in posting the tasks using the @@ -144,34 +146,34 @@ angle_delegate_workers angle_dump_pipeline_cache_graph Current value (from the default) = false - From //third_party/angle/gni/angle.gni:241 + From //third_party/angle/gni/angle.gni:262 angle_egl_extension Current value (from the default) = "" - From //third_party/angle/BUILD.gn:64 + From //third_party/angle/BUILD.gn:68 Allow shared library custom name extensions for setting soname such as libEGL.so.1 angle_enable_abseil Current value (from the default) = true - From //third_party/angle/BUILD.gn:52 + From //third_party/angle/BUILD.gn:56 Abseil has trouble supporting MSVC, particularly regarding component builds. http://crbug.com/1126524 angle_enable_annotator_run_time_checks Current value (from the default) = false - From //third_party/angle/BUILD.gn:55 + From //third_party/angle/BUILD.gn:59 Adds run-time checks to filter out EVENT() messages when the debug annotator is disabled. angle_enable_apple_translator_workarounds Current value (from the default) = false - From //third_party/angle/gni/angle.gni:301 + From //third_party/angle/gni/angle.gni:326 angle_enable_cgl Current value (from the default) = false - From //third_party/angle/gni/angle.gni:298 + From //third_party/angle/gni/angle.gni:323 TODO(jdarpinian): Support enabling CGL and EAGL at the same time using the soft linking code. Also support disabling both for Metal-only builds. @@ -183,23 +185,29 @@ angle_enable_cl angle_enable_cl_passthrough Current value (from the default) = false - From //third_party/angle/gni/angle.gni:197 + From //third_party/angle/gni/angle.gni:210 Enables the OpenCL pass-through back end +angle_enable_cl_testing + Current value (from the default) = false + From //third_party/angle/gni/angle.gni:24 + + Enables OpenCL testing support, off by default. + angle_enable_commit_id Current value (from the default) = true - From //third_party/angle/BUILD.gn:48 + From //third_party/angle/BUILD.gn:52 Enable generating current commit information using git angle_enable_context_mutex Current value (from the default) = true - From //third_party/angle/BUILD.gn:84 + From //third_party/angle/BUILD.gn:88 angle_enable_context_mutex_recursion Current value (from the default) = false - From //third_party/angle/BUILD.gn:94 + From //third_party/angle/BUILD.gn:101 May need to enable to fix recursion when vkAcquireNextImageKHR() returns back to ANGLE from eglClientWaitSyncKHR(). May happen if Android Presentation Engine uses @@ -230,43 +238,43 @@ angle_enable_custom_vulkan_render_pass_cmd_buffers angle_enable_d3d11 Current value (from the default) = false - From //third_party/angle/gni/angle.gni:171 + From //third_party/angle/gni/angle.gni:184 angle_enable_d3d11_compositor_native_window Current value (from the default) = false - From //third_party/angle/gni/angle.gni:265 + From //third_party/angle/gni/angle.gni:291 angle_enable_d3d9 Current value (from the default) = false - From //third_party/angle/gni/angle.gni:170 + From //third_party/angle/gni/angle.gni:183 angle_enable_desktop_glsl Current value (from the default) = false - From //third_party/angle/gni/angle.gni:232 + From //third_party/angle/gni/angle.gni:253 Translator frontend support: angle_enable_eagl Current value (from the default) = false - From //third_party/angle/gni/angle.gni:271 + From //third_party/angle/gni/angle.gni:297 We should use EAGL (ES) on iOS except on Mac Catalyst on Intel CPUs, which uses CGL (desktop GL). angle_enable_essl Current value (from the default) = true - From //third_party/angle/gni/angle.gni:236 + From //third_party/angle/gni/angle.gni:257 angle_enable_gl Current value (from the default) = true - From //third_party/angle/gni/angle.gni:173 + From //third_party/angle/gni/angle.gni:186 angle_enable_gl_desktop_backend Current value (from the default) = true - From //third_party/angle/gni/angle.gni:191 + From //third_party/angle/gni/angle.gni:204 angle_enable_gl_desktop_frontend Current value (from the default) = false - From //third_party/angle/gni/angle.gni:29 + From //third_party/angle/gni/angle.gni:32 Enable Desktop GL frontend support. @@ -276,88 +284,92 @@ angle_enable_gl_null angle_enable_global_mutex_load_time_allocate Current value (from the default) = false - From //third_party/angle/BUILD.gn:82 + From //third_party/angle/BUILD.gn:86 angle_enable_global_mutex_recursion Current value (from the default) = false - From //third_party/angle/BUILD.gn:77 + From //third_party/angle/BUILD.gn:81 angle_enable_glsl Current value (from the default) = true - From //third_party/angle/gni/angle.gni:237 + From //third_party/angle/gni/angle.gni:258 angle_enable_hlsl Current value (from the default) = false - From //third_party/angle/gni/angle.gni:235 + From //third_party/angle/gni/angle.gni:256 Translator backend support: angle_enable_memory_alloc_logging Current value (from the default) = false - From //third_party/angle/gni/angle.gni:249 + From //third_party/angle/gni/angle.gni:272 Memory allocation logging support. This feature is for debugging only. Disabled by default. angle_enable_metal Current value (from the default) = false - From //third_party/angle/gni/angle.gni:194 + From //third_party/angle/gni/angle.gni:207 - http://anglebug.com/2634 + http://anglebug.com/40096506 angle_enable_null Current value (from the default) = true - From //third_party/angle/gni/angle.gni:190 + From //third_party/angle/gni/angle.gni:203 Disable null backend to save space for official build. angle_enable_overlay Current value (from the default) = true - From //third_party/angle/gni/angle.gni:291 + From //third_party/angle/gni/angle.gni:316 Enable overlay by default when debug layers are enabled. This is currently only implemented on Vulkan. angle_enable_perf_counter_output Current value (from the default) = false - From //third_party/angle/gni/angle.gni:268 + From //third_party/angle/gni/angle.gni:294 Disable performance counter output by default angle_enable_renderdoc Current value (from the default) = true - From //third_party/angle/gni/angle.gni:310 + From //third_party/angle/gni/angle.gni:335 angle_enable_share_context_lock Current value (from the default) = false - From //third_party/angle/BUILD.gn:69 + From //third_party/angle/BUILD.gn:73 angle_enable_swiftshader Current value (from the default) = true - From //third_party/angle/gni/angle.gni:229 + From //third_party/angle/gni/angle.gni:250 angle_enable_trace Current value (from the default) = false - From //third_party/angle/gni/angle.gni:238 + From //third_party/angle/gni/angle.gni:259 angle_enable_trace_android_logcat Current value (from the default) = false - From //third_party/angle/gni/angle.gni:239 + From //third_party/angle/gni/angle.gni:260 angle_enable_trace_events Current value (from the default) = false - From //third_party/angle/gni/angle.gni:240 + From //third_party/angle/gni/angle.gni:261 angle_enable_unwind_backtrace_support Current value (from the default) = false - From //third_party/angle/gni/angle.gni:245 + From //third_party/angle/gni/angle.gni:268 Unwind backtrace support. This feature is currently only implemented on Android for debugging purposes. Disabled by default. angle_enable_vulkan Current value (from the default) = true - From //third_party/angle/gni/angle.gni:178 + From //third_party/angle/gni/angle.gni:191 + +angle_enable_vulkan_api_dump_layer + Current value (from the default) = false + From //third_party/angle/gni/angle.gni:285 angle_enable_vulkan_gpu_trace_events Current value (from the default) = false @@ -373,38 +385,36 @@ angle_enable_vulkan_shared_ring_buffer_cmd_alloc angle_enable_vulkan_system_info Current value (from the default) = false - From //third_party/angle/BUILD.gn:35 + From //third_party/angle/BUILD.gn:39 Enable using Vulkan to collect system info as a fallback. angle_enable_vulkan_validation_layers Current value (from the default) = true - From //third_party/angle/gni/angle.gni:258 + From //third_party/angle/gni/angle.gni:281 angle_enable_wgpu - Current value (from the default) = true - From //third_party/angle/gni/angle.gni:200 - - Disable WGPU backend. + Current value (from the default) = false + From //third_party/angle/gni/angle.gni:216 angle_expose_glx_entry_points Current value (from the default) = false - From //third_party/angle/gni/angle.gni:40 + From //third_party/angle/gni/angle.gni:45 Expose GLX entry points by default when using Desktop GL on Linux. angle_expose_non_conformant_extensions_and_versions Current value (from the default) = false - From //third_party/angle/BUILD.gn:58 + From //third_party/angle/BUILD.gn:62 Enables non-conformant extensions and features angle_expose_wgl_entry_points Current value (from the default) = false - From //third_party/angle/gni/angle.gni:37 + From //third_party/angle/gni/angle.gni:42 Expose WGL entry points, which is necessary for running windows desktop GL applications against ANGLE. - TODO(http://anglebug.com/7628): This condition should be `angle_enable_gl_desktop_frontend && is_win` + TODO(http://anglebug.com/42266094): This condition should be `angle_enable_gl_desktop_frontend && is_win` This is disabled by default on Windows because it was causing some test failures. Once the WGL frontend has more functionality implemented, we can re-enable this. @@ -416,75 +426,84 @@ angle_extract_native_libs angle_force_context_check_every_call Current value (from the default) = false - From //third_party/angle/BUILD.gn:61 + From //third_party/angle/BUILD.gn:65 Optional feature that forces dirty state whenever we use a new context regardless of thread. angle_glesv2_extension Current value (from the default) = "" - From //third_party/angle/BUILD.gn:65 + From //third_party/angle/BUILD.gn:69 angle_has_astc_encoder Current value (from the default) = false - From //third_party/angle/gni/angle.gni:205 + From //third_party/angle/gni/angle.gni:223 ASTC emulation is only built on standalone non-android builds angle_has_frame_capture Current value (from the default) = true - From //third_party/angle/gni/angle.gni:157 + From //third_party/angle/gni/angle.gni:170 Frame capture code is enabled by default if rapidjson is available. angle_has_histograms Current value (from the default) = true - From //third_party/angle/gni/angle.gni:303 + From //third_party/angle/gni/angle.gni:328 angle_has_rapidjson Current value (from the default) = true - From //third_party/angle/gni/angle.gni:124 + From //third_party/angle/gni/angle.gni:129 Indicate if the rapidJSON library is available to build with in third_party/. angle_is_msvc Current value (from the default) = false - From //third_party/angle/gni/angle.gni:144 + From //third_party/angle/gni/angle.gni:157 + +angle_is_winappsdk + Current value (from the default) = false + From //third_party/angle/gni/angle.gni:131 angle_is_winuwp Current value (from the default) = false - From //third_party/angle/gni/angle.gni:143 + From //third_party/angle/gni/angle.gni:155 There's no "is_winuwp" helper in BUILDCONFIG.gn, so we define one ourselves + Windows App SDK is almost UWP but for Win32, so we want all the same things angle_libs_suffix Current value (from the default) = "" - From //third_party/angle/gni/angle.gni:150 + From //third_party/angle/gni/angle.gni:163 angle_link_glx Current value (from the default) = false - From //third_party/angle/BUILD.gn:38 + From //third_party/angle/BUILD.gn:42 Link in system libGL, to work with apitrace. See doc/DebuggingTips.md. +angle_lunarg_vulkantools_dir + Current value (from the default) = "//third_party/angle/third_party/lunarg-vulkantools/src" + From //third_party/angle/gni/angle.gni:310 + angle_restricted_traces Current value (from the default) = [] - From //third_party/angle/gni/angle.gni:23 + From //third_party/angle/gni/angle.gni:26 angle_shared_libvulkan Current value (from the default) = true - From //third_party/angle/gni/angle.gni:140 + From //third_party/angle/gni/angle.gni:151 - Vulkan loader is statically linked on Mac. http://anglebug.com/4477 + Vulkan loader is statically linked on Mac. http://anglebug.com/40096682 angle_standalone Current value (from the default) = false - From //third_party/angle/gni/angle.gni:168 + From //third_party/angle/gni/angle.gni:181 True if we are building inside an ANGLE checkout. angle_test_enable_system_egl Current value (from the default) = false - From //third_party/angle/gni/angle.gni:209 + From //third_party/angle/gni/angle.gni:227 angle_use_custom_libvulkan Current value (from the default) = true @@ -492,26 +511,26 @@ angle_use_custom_libvulkan angle_use_gbm Current value (from the default) = false - From //third_party/angle/gni/angle.gni:67 + From //third_party/angle/gni/angle.gni:72 angle_use_vulkan_display Current value (from the default) = true - From //third_party/angle/gni/angle.gni:71 + From //third_party/angle/gni/angle.gni:76 angle_use_vulkan_null_display Current value (from the default) = false - From //third_party/angle/gni/angle.gni:187 + From //third_party/angle/gni/angle.gni:200 When set to true, ANGLE will not use VK_KHR_surface and VK_KHR_swapchain extensions. Content can be rendered only off-screen. angle_use_wayland Current value (from the default) = true - From //third_party/angle/gni/angle.gni:70 + From //third_party/angle/gni/angle.gni:75 angle_use_x11 Current value (from the default) = true - From //third_party/angle/gni/angle.gni:68 + From //third_party/angle/gni/angle.gni:73 angle_vulkan_display_mode Current value (from the default) = "simple" @@ -520,32 +539,32 @@ angle_vulkan_display_mode Display mode for ANGLE vulkan display, could be 'simple' or 'headless', default is 'simple'. angle_vulkan_headers_dir - Current value = "//third_party/vulkan-deps/vulkan-headers/src" + Current value = "//third_party/vulkan-headers/src" From //.gn:58 - Overridden from the default = "//third_party/angle/third_party/vulkan-deps/vulkan-headers/src" - From //third_party/angle/gni/angle.gni:279 + Overridden from the default = "//third_party/angle/third_party/vulkan-headers/src" + From //third_party/angle/gni/angle.gni:304 angle_vulkan_loader_dir - Current value = "//third_party/vulkan-deps/vulkan-loader/src" + Current value = "//third_party/vulkan-loader/src" From //.gn:59 - Overridden from the default = "//third_party/angle/third_party/vulkan-deps/vulkan-loader/src" - From //third_party/angle/gni/angle.gni:281 + Overridden from the default = "//third_party/angle/third_party/vulkan-loader/src" + From //third_party/angle/gni/angle.gni:305 angle_vulkan_tools_dir - Current value = "//third_party/vulkan-deps/vulkan-tools/src" + Current value = "//third_party/vulkan-tools/src" From //.gn:60 - Overridden from the default = "//third_party/angle/third_party/vulkan-deps/vulkan-tools/src" - From //third_party/angle/gni/angle.gni:283 + Overridden from the default = "//third_party/angle/third_party/vulkan-tools/src" + From //third_party/angle/gni/angle.gni:306 angle_vulkan_validation_layers_dir - Current value = "//third_party/vulkan-deps/vulkan-validation-layers/src" + Current value = "//third_party/vulkan-validation-layers/src" From //.gn:62 - Overridden from the default = "//third_party/angle/third_party/vulkan-deps/vulkan-validation-layers/src" - From //third_party/angle/gni/angle.gni:285 + Overridden from the default = "//third_party/angle/third_party/vulkan-validation-layers/src" + From //third_party/angle/gni/angle.gni:308 angle_wayland_dir Current value (from the default) = "//third_party/angle/third_party/wayland" - From //third_party/angle/gni/angle.gni:276 + From //third_party/angle/gni/angle.gni:302 Directory where to find wayland source files @@ -565,24 +584,33 @@ apm_debug_dump archive_seed_corpus Current value (from the default) = true - From //build/config/sanitizers/sanitizers.gni:105 + From //build/config/sanitizers/sanitizers.gni:121 When true, seed corpora archives are built. +assert_cpp20 + Current value (from the default) = true + From //base/allocator/partition_allocator/partition_alloc.gni:435 + + Assert that PartitionAlloc and MiraclePtr run on C++20 when set to true. + Embedders may opt-out of using C++ 20 build. + auto_profile_path Current value (from the default) = "" - From //build/config/compiler/BUILD.gn:88 + From //build/config/compiler/BUILD.gn:84 AFDO (Automatic Feedback Directed Optimizer) is a form of profile-guided optimization that GCC supports. It used by ChromeOS in their official builds. To use it, set auto_profile_path to the path to a file containing the needed gcov profiling data. +backup_ref_ptr_extra_oob_checks + Current value (from the default) = true + From //base/allocator/partition_allocator/partition_alloc.gni:237 + backup_ref_ptr_poison_oob_ptr Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:220 - - Set to `enable_backup_ref_ptr_support && has_64_bit_pointers` when enabling. + From //base/allocator/partition_allocator/partition_alloc.gni:254 blink_animation_use_time_delta Current value (from the default) = false @@ -600,26 +628,18 @@ blink_enable_generated_code_formatting blink_gc_plugin Current value (from the default) = true - From //third_party/blink/renderer/BUILD.gn:18 + From //third_party/blink/renderer/BUILD.gn:19 Set to true to enable the clang plugin that checks the usage of the Blink garbage-collection infrastructure during compilation. blink_gc_plugin_option_do_dump_graph Current value (from the default) = false - From //third_party/blink/renderer/BUILD.gn:22 + From //third_party/blink/renderer/BUILD.gn:23 Set to true to have the clang Blink GC plugin emit class graph (in JSON) with typed pointer edges; for debugging or other (internal) uses. -blink_gc_plugin_option_warn_unneeded_finalizer - Current value (from the default) = false - From //third_party/blink/renderer/BUILD.gn:27 - - Set to true to have the clang Blink GC plugin additionally check if - a class has an empty destructor which would be unnecessarily invoked - when finalized. - blink_heap_inside_shared_library Current value (from the default) = true From //third_party/blink/renderer/platform/heap/BUILD.gn:17 @@ -647,22 +667,32 @@ blink_symbol_level branding_file_path Current value (from the default) = "//chrome/app/theme/chromium/BRANDING" - From //build/config/chrome_build.gni:76 + From //build/config/chrome_build.gni:86 The path to the BRANDING file in chrome/app/theme. branding_path_component Current value (from the default) = "chromium" - From //build/config/chrome_build.gni:69 + From //build/config/chrome_build.gni:79 branding_path_product Current value (from the default) = "chromium" - From //build/config/chrome_build.gni:70 + From //build/config/chrome_build.gni:80 build_allocation_stack_trace_recorder Current value (from the default) = false From //base/debug/debug.gni:18 + Whether to compile support for Allocation Stack Trace Recorder. + + The recorder is initially intended as a support tool for Arm's + Memory Tagging Extensions. A history of the most recent allocations and + frees is included in the crashpad report and gives developers information + where the memory which was invalidly accessed was allocated or freed. + + Although it should work on other platforms as well, for the above reasons, + we currently enable it only for Android when compiling for Arm64. + build_allocation_trace_recorder_full_reporting Current value (from the default) = false From //base/debug/debug.gni:28 @@ -676,10 +706,14 @@ build_allocation_trace_recorder_full_reporting build_angle_deqp_tests Current value (from the default) = false - From //third_party/angle/gni/angle.gni:26 + From //third_party/angle/gni/angle.gni:29 Don't build dEQP by default. +build_angle_end2end_tests_aosp + Current value (from the default) = false + From //third_party/angle/gni/angle.gni:34 + build_angle_gles1_conform_tests Current value (from the default) = false From //third_party/angle/src/tests/BUILD.gn:10 @@ -702,18 +736,30 @@ build_contextual_search build_dawn_tests Current value (from the default) = true - From //ui/gl/features.gni:27 + From //ui/gl/features.gni:22 Should Dawn test binaries (unittests, end2end_tests, perf_tests) be built? Independent of use_dawn, which controls whether Dawn is used in Chromium. build_libsrtp_tests Current value (from the default) = false - From //third_party/libsrtp/BUILD.gn:10 + From //third_party/libsrtp/BUILD.gn:11 Tests may not be appropriate for some build environments, e.g. Windows. Rather than enumerate valid options, we just let clients ask for them. +build_mojo_proxy + Current value (from the default) = false + From //build/config/chromeos/args.gni:43 + + Build Mojo Proxy binary, to be used as a IPCZ <=> Mojo Core translation layer. + +build_tflite_with_nnapi + Current value (from the default) = false + From //third_party/tflite/features.gni:19 + + This enables building TFLite's NNAPI delegate, currently experimental. + build_tflite_with_ruy Current value (from the default) = true From //third_party/tflite/features.gni:16 @@ -722,25 +768,11 @@ build_tflite_with_ruy build_tflite_with_xnnpack Current value (from the default) = true - From //third_party/tflite/features.gni:11 - -build_webnn_with_tflite_model_loader - Current value (from the default) = false - From //third_party/blink/renderer/modules/ml/webnn/features.gni:15 - - This build flag enables WebNN to access hardware acceleration using TFLite - via the ModelLoader mojo interface. - -build_webnn_with_xnnpack - Current value (from the default) = true - From //third_party/blink/renderer/modules/ml/webnn/features.gni:9 - - This enables building WebNN with XNNPACK. Currently only available for - Windows, macOS and Linux on x64, x86 and arm64. + From //third_party/tflite/features.gni:12 build_with_internal_optimization_guide Current value (from the default) = false - From //components/optimization_guide/features.gni:41 + From //components/optimization_guide/features.gni:49 When TFLite works for windows arm64, this lib should just work seamlessly. Use is_chrome_branded as a proxy for "does src-internal exist". @@ -757,7 +789,7 @@ build_with_mediapipe_lib build_with_mozilla Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:156 + From //third_party/webrtc/webrtc.gni:153 Enable to use the Mozilla internal settings. @@ -771,18 +803,11 @@ build_with_tflite_lib bundle_widevine_cdm Current value (from the default) = false - From //third_party/widevine/cdm/widevine.gni:58 + From //third_party/widevine/cdm/widevine.gni:59 Widevine CDM is bundled as part of Google Chrome and Google Chrome for Testing builds. -cast_allow_developer_certificate - Current value (from the default) = false - From //third_party/openscreen/src/build/config/cast.gni:8 - - Whether or not self-signed certificates are enabled for the receiver - and sender implementations. - cast_streaming_enable_remoting Current value (from the default) = false From //components/cast_streaming/features.gni:9 @@ -791,24 +816,13 @@ cast_streaming_enable_remoting cc_wrapper Current value (from the default) = "" - From //build/toolchain/cc_wrapper.gni:37 + From //build/toolchain/cc_wrapper.gni:36 Set to "ccache", "icecc" or "distcc". Probably doesn't work on windows. -chrome_certificate_policies_supported - Current value (from the default) = true - From //chrome/common/features.gni:46 - - Platforms where Chrome x509 server certificate enterprise policies are - supported. This must must match the supported_on/future_on list of the - policy in the following policies stored in - components/policy/resources/templates/policy_definitions/: - - * CertificateManagement/CACertificates.yaml - * CertificateManagement/CADistrustedCertificates.yaml - * CertificateManagement/CAHintCertificates.yaml - * CertificateManagement/CAPlatformIntegrationEnabled.yaml - +channel_name_header_name + Current value (from the default) = "" + From //chrome/browser/request_header_integrity/buildflags.gni:10 chrome_enable_logging_by_default Current value (from the default) = true @@ -819,7 +833,7 @@ chrome_enable_logging_by_default chrome_pgo_phase Current value (from the default) = 0 - From //build/config/compiler/pgo/pgo.gni:22 + From //build/config/compiler/pgo/pgo.gni:23 Specify the current PGO phase. Here's the different values that can be used: @@ -831,38 +845,42 @@ chrome_pgo_phase to think some code is hotter than it actually is, potentially causing very bad compile times. +chrome_root_store_cert_management_ui + Current value (from the default) = true + From //chrome/common/features.gni:41 + chrome_root_store_only Current value (from the default) = true - From //net/features.gni:53 + From //net/features.gni:56 Platforms for which certificate verification can only be performed using the builtin cert verifier with the Chrome Root Store. chrome_root_store_optional Current value (from the default) = false - From //net/features.gni:49 + From //net/features.gni:52 - Platforms for which certificate verification can be performed using the - builtin cert verifier with the Chrome Root Store, and this can be - configured using the ChromeRootStoreUsed feature flag. When the feature - flag is false, verification may be done with the platform verifier or the - builtin verifier using platform roots, depending on the platform. - See https://crbug.com/1216547 for status. + Platforms for which certificate verification can be performed either using + the builtin cert verifier with the Chrome Root Store, or with the platform + verifier. + + Currently this is used only for Android because WebView does not use the + builtin cert verifier, but uses the Android cert verifier. chrome_root_store_supported Current value (from the default) = true - From //net/features.gni:68 + From //net/features.gni:79 chrome_wide_echo_cancellation_supported Current value (from the default) = true - From //media/media_options.gni:345 + From //media/media_options.gni:340 Currently it is available on Win, Mac and Linux, since it requires the audio service to run in a separate process. chromedriver_disclaim_responsibility Current value (from the default) = true - From //chrome/test/chromedriver/BUILD.gn:20 + From //chrome/test/chromedriver/BUILD.gn:21 Make macOS request permissions for the chrome binary instead of its parent process (usually the Terminmal.app). @@ -871,7 +889,7 @@ chromedriver_disclaim_responsibility chromeos_afdo_platform Current value (from the default) = "atom" - From //build/config/compiler/BUILD.gn:112 + From //build/config/compiler/BUILD.gn:108 This configuration is used to select a default profile in Chrome OS based on the microarchitectures we are using. This is only used if @@ -888,7 +906,7 @@ chromeos_is_browser_only If this flag is set, we assume Chrome runs on Chrome OS devices, using Wayland (instead of X11). - TODO(crbug.com/1052397): + TODO(crbug.com/40118868): Define chromeos_product instead, which takes either "browser" or "ash". Re-define the following variables as: is_chromeos_lacros = chromeos_product == "browser" @@ -896,50 +914,63 @@ chromeos_is_browser_only clang_base_path Current value (from the default) = "//third_party/llvm-build/Release+Asserts" - From //build/config/clang/clang.gni:29 + From //build/config/clang/clang.gni:33 clang_diagnostic_dir Current value (from the default) = "../../tools/clang/crashreports" - From //build/config/compiler/compiler.gni:128 + From //build/config/compiler/compiler.gni:121 clang_embed_bitcode Current value (from the default) = false - From //build/config/clang/clang.gni:33 + From //build/config/clang/clang.gni:37 Specifies whether or not bitcode should be embedded during compilation. This is used for creating a MLGO corpus from Chromium in the non-ThinLTO case. clang_emit_debug_info_for_profiling Current value (from the default) = false - From //build/config/compiler/BUILD.gn:116 + From //build/config/compiler/BUILD.gn:112 Emit debug information for profiling wile building with clang. Only enable this for ChromeOS official builds for AFDO. clang_sample_profile_path Current value (from the default) = "" - From //build/config/compiler/BUILD.gn:96 + From //build/config/compiler/BUILD.gn:92 Path to an AFDO profile to use while building with clang, if any. Empty implies none. +clang_unsafe_buffers_paths + Current value = "//build/config/unsafe_buffers_paths.txt" + From //.gn:76 + Overridden from the default = "" + From //build/config/BUILDCONFIG.gn:183 + + Unsafe buffers. Location of file used by plugins to track portions of + the codebase which have been made manifestly safe. + clang_use_chrome_plugins Current value (from the default) = true From //build/config/clang/clang.gni:15 clang_use_default_sample_profile Current value (from the default) = false - From //build/config/compiler/BUILD.gn:105 + From //build/config/compiler/BUILD.gn:101 + +clang_use_raw_ptr_plugin + Current value (from the default) = false + From //build/config/clang/clang.gni:19 + + Use this instead of clang_use_chrome_plugins to enable just the raw-ptr-plugin. clang_version - Current value (from the default) = "18" - From //build/toolchain/toolchain.gni:53 - - TODO(crbug.com/1517549): Remove in the next Clang roll. + Current value (from the default) = "20" + From //build/toolchain/toolchain.gni:54 com_init_check_hook_disabled Current value (from the default) = false - From //base/BUILD.gn:63 + From //base/BUILD.gn:68 Set to true to disable COM init check hooks. @@ -957,7 +988,7 @@ compile_syscall_broker compiler_timing Current value (from the default) = false - From //build/config/compiler/BUILD.gn:119 + From //build/config/compiler/BUILD.gn:115 Turn this on to have the compiler output extra timing information. @@ -1003,15 +1034,19 @@ content_enable_legacy_ipc content_shell_major_version Current value (from the default) = "999" - From //content/shell/BUILD.gn:45 + From //content/shell/BUILD.gn:48 content_shell_product_name - Current value (from the default) = "Content Shell" - From //content/shell/BUILD.gn:43 + Current value (from the default) = "Thorium Shell" + From //content/shell/BUILD.gn:46 content_shell_version - Current value (from the default) = "999.77.34.5" - From //content/shell/BUILD.gn:44 + Current value (from the default) = "999.7.3434.555" + From //content/shell/BUILD.gn:47 + +copyright_header_name + Current value (from the default) = "" + From //chrome/browser/request_header_integrity/buildflags.gni:11 coverage_instrumentation_input_file Current value (from the default) = "" @@ -1027,42 +1062,42 @@ coverage_instrumentation_input_file cppgc_allow_allocations_in_prefinalizers Current value (from the default) = false - From //v8/BUILD.gn:330 + From //v8/BUILD.gn:320 Enable allocations during prefinalizer invocations. cppgc_enable_2gb_cage Current value (from the default) = false - From //v8/gni/v8.gni:132 + From //v8/gni/v8.gni:148 Enable 2gb cage for fast compression/decompression. Currently disabled due to an increased number of OOMs. cppgc_enable_caged_heap Current value (from the default) = true - From //v8/BUILD.gn:323 + From //v8/BUILD.gn:313 cppgc_enable_larger_cage - Current value (from the default) = false - From //v8/gni/v8.gni:135 + Current value (from the default) = true + From //v8/gni/v8.gni:151 Enable support for larger cages, up to 16GB. cppgc_enable_object_names Current value (from the default) = false - From //v8/gni/v8.gni:116 + From //v8/gni/v8.gni:132 Enable object names in cppgc for profiling purposes. cppgc_enable_pointer_compression Current value (from the default) = false - From //v8/gni/v8.gni:128 + From //v8/gni/v8.gni:144 Enable pointer compression in cppgc. cppgc_enable_slim_write_barrier Current value (from the default) = true - From //v8/gni/v8.gni:125 + From //v8/gni/v8.gni:141 Enables a slim write barrier that only performs a single check in the fast path and delegates all further checks to a slow path call. This is fast @@ -1071,19 +1106,19 @@ cppgc_enable_slim_write_barrier cppgc_enable_verify_heap Current value (from the default) = "" - From //v8/BUILD.gn:327 + From //v8/BUILD.gn:317 Enables additional heap verification phases and checks. cppgc_enable_young_generation Current value (from the default) = false - From //v8/gni/v8.gni:119 + From //v8/gni/v8.gni:135 Enable young generation in cppgc. cppgc_is_standalone Current value (from the default) = false - From //v8/gni/v8.gni:113 + From //v8/gni/v8.gni:129 crashpad_dependencies Current value = "chromium" @@ -1134,17 +1169,17 @@ custom_toolchain custom_vulkan_loader_library_name Current value (from the default) = "" - From //third_party/vulkan-deps/vulkan-loader/src/BUILD.gn:20 + From //third_party/vulkan-loader/src/BUILD.gn:20 dawn_always_assert Current value (from the default) = false - From //third_party/dawn/scripts/dawn_features.gni:66 + From //third_party/dawn/scripts/dawn_features.gni:65 Enable Dawn's ASSERTs even in release builds dawn_complete_static_libs Current value (from the default) = false - From //third_party/dawn/scripts/dawn_features.gni:71 + From //third_party/dawn/scripts/dawn_features.gni:70 Should the Dawn static libraries be fully linked vs. GN's default of treating them as source sets. This is useful for people using Dawn @@ -1152,65 +1187,65 @@ dawn_complete_static_libs dawn_enable_d3d11 Current value (from the default) = false - From //third_party/dawn/scripts/dawn_features.gni:74 + From //third_party/dawn/scripts/dawn_features.gni:73 Enables the compilation of Dawn's D3D11 backend dawn_enable_d3d12 Current value (from the default) = false - From //third_party/dawn/scripts/dawn_features.gni:77 + From //third_party/dawn/scripts/dawn_features.gni:76 Enables the compilation of Dawn's D3D12 backend dawn_enable_desktop_gl Current value (from the default) = true - From //third_party/dawn/scripts/dawn_features.gni:88 + From //third_party/dawn/scripts/dawn_features.gni:87 Enables the compilation of Dawn's OpenGL backend (best effort, non-conformant) dawn_enable_error_injection Current value (from the default) = true - From //third_party/dawn/scripts/dawn_features.gni:103 + From //third_party/dawn/scripts/dawn_features.gni:102 dawn_enable_metal Current value (from the default) = false - From //third_party/dawn/scripts/dawn_features.gni:80 + From //third_party/dawn/scripts/dawn_features.gni:79 Enables the compilation of Dawn's Metal backend dawn_enable_null Current value (from the default) = true - From //third_party/dawn/scripts/dawn_features.gni:84 + From //third_party/dawn/scripts/dawn_features.gni:83 Enables the compilation of Dawn's Null backend (required for unittests, obviously non-conformant) dawn_enable_opengles Current value (from the default) = true - From //third_party/dawn/scripts/dawn_features.gni:94 + From //third_party/dawn/scripts/dawn_features.gni:93 dawn_enable_spirv_validation Current value (from the default) = true - From //third_party/dawn/scripts/dawn_features.gni:121 + From //third_party/dawn/scripts/dawn_features.gni:120 Disable SPIR-V validation on Android because it adds a significant amount to the binary size, and Tint's output should be well-formed. dawn_enable_vulkan Current value (from the default) = true - From //third_party/dawn/scripts/dawn_features.gni:98 + From //third_party/dawn/scripts/dawn_features.gni:97 Enables the compilation of Dawn's Vulkan backend Disables vulkan when compiling for UWP, since UWP only supports d3d dawn_enable_vulkan_loader Current value (from the default) = true - From //third_party/dawn/scripts/dawn_features.gni:117 + From //third_party/dawn/scripts/dawn_features.gni:116 dawn_enable_vulkan_validation_layers Current value (from the default) = true - From //third_party/dawn/scripts/dawn_features.gni:112 + From //third_party/dawn/scripts/dawn_features.gni:111 dawn_tests_use_angle Current value (from the default) = true @@ -1218,11 +1253,10 @@ dawn_tests_use_angle dawn_use_built_dxc Current value (from the default) = false - From //third_party/dawn/scripts/dawn_features.gni:61 + From //third_party/dawn/scripts/dawn_features.gni:60 Whether we allow building DXC. - DXC requires SM6.0+ which is blocklisted on x86, - and arm64 support is not implemented yet. + DXC requires SM6.0+ which is blocklisted on x86. See crbug.com/tint/1753. dawn_use_swiftshader @@ -1307,7 +1341,7 @@ devtools_root_location devtools_skip_typecheck Current value (from the default) = true - From //third_party/devtools-frontend/src/third_party/typescript/typescript.gni:16 + From //third_party/devtools-frontend/src/scripts/build/typescript/typescript.gni:20 devtools_third_party_visibility Current value (from the default) = ["*"] @@ -1319,7 +1353,7 @@ devtools_ui_legacy_visibility devtools_use_remoteexec Current value (from the default) = false - From //third_party/devtools-frontend/src/third_party/typescript/typescript.gni:14 + From //third_party/devtools-frontend/src/scripts/build/typescript/typescript.gni:18 Set to true to enable remote compilation of TypeScript using reclient. This flag is temporarily until DevTools reclient support has stabilized. @@ -1328,13 +1362,13 @@ devtools_use_remoteexec devtools_visibility Current value = ["*"] - From //.gn:71 + From //.gn:74 Overridden from the default = [] From //third_party/devtools-frontend/src/front_end/visibility.gni:6 disable_brotli_filter Current value (from the default) = false - From //net/features.gni:24 + From //net/features.gni:27 Do not disable brotli filter by default. @@ -1355,6 +1389,12 @@ disable_file_support Disables support for file URLs. File URL support requires use of icu. Cronet does not support file URLs. +disable_ftp_support + Current value (from the default) = false + From //net/features.gni:18 + + Disable FTP support. + disable_histogram_support Current value (from the default) = false From //components/cronet/BUILD.gn:16 @@ -1363,17 +1403,25 @@ disable_histogram_support disable_libfuzzer Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:87 + From //build/config/sanitizers/sanitizers.gni:99 Helper variable for testing builds with disabled libfuzzer. Not for client use. disable_zstd_filter Current value (from the default) = false - From //net/features.gni:27 + From //net/features.gni:30 Do not disable zstd filter by default, except for Cronet builds. +dpf_abseil_cpp_dir + Current value (from the default) = "//third_party/abseil-cpp" + From //third_party/distributed_point_functions/features.gni:7 + +dpf_highway_cpp_dir + Current value (from the default) = "//third_party/highway" + From //third_party/distributed_point_functions/features.gni:8 + enable_accessibility_service Current value (from the default) = false From //services/accessibility/buildflags.gni:11 @@ -1394,6 +1442,14 @@ enable_all_rust_features almost all Rust features). Yet we still want to have some builders with all Rust features enabled. +enable_allocator_shim_partition_alloc_dispatch_with_advanced_checks_support + Current value (from the default) = false + From //base/allocator/partition_allocator/partition_alloc.gni:86 + +enable_android_site_isolation + Current value (from the default) = false + From //chrome/common/BUILD.gn:29 + enable_arcore Current value (from the default) = false From //device/vr/buildflags/buildflags.gni:21 @@ -1416,64 +1472,56 @@ enable_av1_decoder enable_background_contents Current value (from the default) = true - From //chrome/common/features.gni:49 + From //chrome/common/features.gni:44 Enables support for background apps. enable_background_mode Current value (from the default) = true - From //chrome/common/features.gni:50 + From //chrome/common/features.gni:45 enable_backup_ref_ptr_feature_flag - Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:194 - - Enable the feature flag required to activate backup ref pointers. That is to - say `PartitionAllocBackupRefPtr`. - - This is meant to be used primarily on bots. It is much easier to override - the feature flags using a binary flag instead of updating multiple bots's - scripts to pass command line arguments. + Current value (from the default) = true + From //base/allocator/partition_allocator/partition_alloc.gni:224 enable_backup_ref_ptr_instance_tracer Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:222 + From //base/allocator/partition_allocator/partition_alloc.gni:234 enable_backup_ref_ptr_slow_checks Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:186 + From //base/allocator/partition_allocator/partition_alloc.gni:213 enable_backup_ref_ptr_support Current value (from the default) = true - From //base/allocator/partition_allocator/partition_alloc.gni:144 + From //base/allocator/partition_allocator/partition_alloc.gni:163 enable_base_tracing Current value (from the default) = true - From //build_overrides/build.gni:36 + From //build_overrides/build.gni:39 Tracing support requires //third_party/perfetto, which is not available in libchrome (CrOS's version of //base). This flag can disable tracing support altogether, in which case all tracing instrumentation in //base becomes a no-op. - TODO(crbug/1065905): Add dependency on perfetto to support typed events. + TODO(crbug.com/40124378): Add dependency on perfetto to support typed events. enable_basic_print_dialog Current value (from the default) = true - From //printing/buildflags/buildflags.gni:34 + From //printing/buildflags/buildflags.gni:30 Enables the printing system dialog for platforms that support printing and have a system dialog. -enable_basic_printing - Current value (from the default) = true - From //printing/buildflags/buildflags.gni:25 +enable_blink_bindings_cooperating_scheduling + Current value (from the default) = false + From //third_party/blink/renderer/platform/BUILD.gn:243 - TODO(awscreen) Safety net to avoid revert for a flag rename which affects - many locations. Remove this once `enable_printing` has landed. + Enable cooperating scheduling hooks in auto-generated Blink bindings code. enable_blink_bindings_tracing Current value (from the default) = false - From //third_party/blink/renderer/platform/BUILD.gn:229 + From //third_party/blink/renderer/platform/BUILD.gn:240 Enable TRACE_EVENT instrumentation for Blink bindings. Disabled by default as it increases binary size. @@ -1484,6 +1532,14 @@ enable_bound_session_credentials Compile time flag for Bound Session Credentials. +enable_bracketed_proxy_uris + Current value (from the default) = true + From //net/features.gni:64 + + Bracketed URIs parsing is only available for debug builds. + TODO(crbug.com/365771838): Ensure tests are updated if needed if this + feature is changed at all. + enable_browser_speech_service Current value (from the default) = true From //chrome/services/speech/buildflags/buildflags.gni:24 @@ -1499,7 +1555,7 @@ enable_browser_speech_service enable_call_graph_profile_sort Current value (from the default) = false - From //build/config/compiler/BUILD.gn:246 + From //build/config/compiler/BUILD.gn:237 enable_callgrind Current value (from the default) = false @@ -1536,18 +1592,18 @@ enable_cast_renderer enable_cdm_host_verification Current value (from the default) = false - From //media/media_options.gni:240 + From //media/media_options.gni:241 enable_cdm_storage_id Current value (from the default) = false - From //media/media_options.gni:245 + From //media/media_options.gni:246 Enable Storage ID which is used by CDMs. This is only available with chrome branding, but may be overridden by other embedders. enable_cet_shadow_stack Current value (from the default) = true - From //build/config/compiler/compiler.gni:135 + From //build/config/compiler/compiler.gni:128 Mark binaries as compatible with Shadow Stack of Control-flow Enforcement Technology (CET). If Windows version and hardware supports the feature and @@ -1557,15 +1613,15 @@ enable_cet_shadow_stack enable_check_raw_ptr_fields Current value (from the default) = true - From //build/config/clang/clang.gni:19 + From //build/config/clang/clang.gni:22 enable_check_raw_ref_fields Current value (from the default) = true - From //build/config/clang/clang.gni:26 + From //build/config/clang/clang.gni:29 enable_chrome_notifications Current value (from the default) = true - From //chrome/common/features.gni:53 + From //chrome/common/features.gni:48 Enables usage of notifications via Chrome's MessageCenter. @@ -1586,26 +1642,25 @@ enable_chromium_prelude enable_click_to_call Current value (from the default) = true - From //chrome/common/features.gni:56 + From //components/sharing_message/buildflags.gni:11 + TODO(crbug.com/41481724): Remove this flag and corresponding build + conditions. Disable Click to Call on Fuchsia. -enable_component_updater - Current value (from the default) = true - From //chrome/common/features.gni:60 - - Whether to enable the component updater. Code is in - //components/component_updater. - enable_compose Current value (from the default) = true - From //components/compose/features.gni:7 + From //components/compose/features.gni:9 Whether Compose is enabled in the build. +enable_compute_pressure + Current value (from the default) = true + From //services/device/public/cpp/compute_pressure/buildflags.gni:12 + enable_concurrent_basic_print_dialogs Current value (from the default) = true - From //printing/buildflags/buildflags.gni:55 + From //printing/buildflags/buildflags.gni:47 enable_cros_libassistant Current value (from the default) = false @@ -1620,49 +1675,58 @@ enable_cros_media_app Whether to enable the "real" ChromeOS Media App. When false, a mock app is bundled for testing integration points. -enable_cxx - Current value (from the default) = true - From //build/config/rust.gni:32 - - The CXX tool is in //third_party/rust which is not shared with downstream - projects yet. So they need to copy the required dependencies and GN files - into their project to enable CXX there. - enable_dangling_raw_ptr_checks Current value (from the default) = true - From //base/allocator/partition_allocator/partition_alloc.gni:199 + From //base/allocator/partition_allocator/partition_alloc.gni:231 enable_dangling_raw_ptr_feature_flag - Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:207 + Current value (from the default) = true + From //base/allocator/partition_allocator/partition_alloc.gni:249 Enable the feature flag required to check for dangling pointers. That is to say `PartitionAllocDanglingPtr`. - This is meant to be used primarily on bots. It is much easier to override - the feature flags using a binary flag instead of updating multiple bots's - scripts to pass command line arguments. - -enable_dangling_raw_ptr_perf_experiment - Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:217 - - Enables the dangling raw_ptr checks feature for the performance experiment. - Not every dangling pointers have been fixed or annotated yet. To avoid - accounting for the cost of calling the PA's embedder's callbacks when a - dangling pointer has been detected, this simulates the raw_ptr to be - allowed to dangle. + This is meant to be modified primarily on bots. It is much easier to + override the feature flags using a binary flag instead of updating multiple + bots's scripts to pass command line arguments. - This flag is temporary, and isn't used by PA embedders, so it doesn't need - to go through build_overrides + TODO(328104161): Remove this flag. enable_dav1d_decoder Current value (from the default) = true From //media/media_options.gni:108 +enable_desktop_android_extensions + Current value (from the default) = false + From //extensions/buildflags/buildflags.gni:30 + + `enable_desktop_android_extensions` is an experimental flag used in + prototypes of desktop-focused android-powered builds. This is very much + in-development, non-stable, and likely to crash at any given moment. + + Introducing a separate flag like this has the unfortunate effect of leading + to a lot of `if BUILDFLAG(ENABLE_EXTENSIONS)` checks in extensions code + itself, since those checks are instead the equivalent of + `if BUILDFLAG(ENABLE_FULL_EXTENSIONS_SYSTEM)`. However, we don't want to + change the stable, production-utilized `enable_extensions` flag for this + experimental build. + + As the experimental build progresses, there should be fewer of those + checks littered around the extensions codebase, since more and more of + the extensions code will be included in the desktop android variant. + + TODO(https://crbug.com/356905053): Continue expanding the scope of + enable_desktop_android_extensions. + +enable_device_bound_sessions + Current value (from the default) = false + From //net/features.gni:59 + + DBSC is only supported on windows for now + enable_discovery Current value (from the default) = false - From //chrome/browser/sharing/buildflags.gni:6 + From //components/sharing_message/buildflags.gni:6 enable_downgrade_processing Current value (from the default) = true @@ -1687,13 +1751,24 @@ enable_dsyms all shared library, loadable module, and executable targets having a dSYM generated. +enable_enterprise_companion + Current value (from the default) = true + From //chrome/enterprise_companion/buildflags.gni:7 + enable_expensive_dchecks Current value (from the default) = true From //build/config/dcheck_always_on.gni:33 enable_extensions Current value (from the default) = true - From //extensions/buildflags/buildflags.gni:8 + From //extensions/buildflags/buildflags.gni:11 + + `enable_extensions` controls whether the full and stable extensions platform + is compiled. + +enable_extensions_core + Current value (from the default) = true + From //extensions/buildflags/buildflags.gni:52 enable_extractors Current value (from the default) = true @@ -1710,20 +1785,9 @@ enable_fake_assistant_microphone Enable a fake microphone, which can replay audio files as microphone input. See chromeos/ash/components/assistant/tools/send-audio.sh -enable_feed_v2 - Current value (from the default) = true - From //components/feed/features.gni:7 - - Whether Feed is enabled in the build. - enable_ffmpeg_video_decoders Current value (from the default) = true - From //media/media_options.gni:224 - - On Android, FFMpeg is built without video decoders by default. - This flag gives the option to override that decision in case there are no - hardware decoders. To do so, you will also need to update ffmpeg build files - in order to define which decoders to build in. + From //media/media_options.gni:225 enable_full_stack_frames_for_profiling Current value (from the default) = false @@ -1737,7 +1801,7 @@ enable_full_stack_frames_for_profiling enable_fuzztest_fuzz Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:140 + From //build/config/sanitizers/sanitizers.gni:164 enable_gpu_client_logging Current value (from the default) = false @@ -1747,7 +1811,7 @@ enable_gpu_client_logging enable_gpu_service_logging Current value (from the default) = false - From //ui/gl/BUILD.gn:21 + From //ui/gl/BUILD.gn:20 Whether service side logging (actual calls into the GL driver) is enabled or not. @@ -1758,6 +1822,13 @@ enable_grpc_ares Compiles with ares. +enable_guest_view + Current value (from the default) = true + From //extensions/buildflags/buildflags.gni:38 + + A separate control for whether GuestView (and corresponding elements + such as WebView, ExtensionOptionsView, etc) are enabled. + enable_gwp_asan Current value (from the default) = true From //components/gwp_asan/buildflags/buildflags.gni:27 @@ -1777,7 +1848,7 @@ enable_gwp_asan_partitionalloc enable_hangout_services_extension Current value (from the default) = false - From //chrome/common/features.gni:64 + From //chrome/common/features.gni:52 Hangout services is an extension that adds extra features to Hangouts. It is enableable separately to facilitate testing. @@ -1788,7 +1859,7 @@ enable_hevc_parser_and_hw_decoder enable_hidpi Current value (from the default) = true - From //ui/base/ui_features.gni:32 + From //ui/base/ui_features.gni:33 enable_hls_demuxer Current value (from the default) = false @@ -1798,13 +1869,13 @@ enable_hls_demuxer enable_ink Current value (from the default) = false - From //pdf/features.gni:18 + From //pdf/features.gni:22 Enable ink libraries provided by the ChromeOS media app dependency. This argument indicates whether the ink libraries provided by the ChromeOS media app dependency is enabled. It also determines whether the annotation - feature is enabled for the PDF viewer. + feature is enabled for the PDF Viewer on Chrome OS. enable_ipc_fuzzer Current value (from the default) = false @@ -1834,13 +1905,23 @@ enable_iterator_debugging generation of snapshot_blob.bin take ~40-60 s longer. Therefore this defaults to off. +enable_jni_multiplexing + Current value (from the default) = false + From //third_party/jni_zero/jni_zero.gni:21 + enable_js_protobuf Current value (from the default) = true - From //third_party/protobuf/proto_library.gni:146 + From //third_party/protobuf/proto_library.gni:147 Allows subprojects to omit javascript dependencies (e.g.) closure_compiler and google-closure-library. +enable_jxl_decoder + Current value (from the default) = true + From //third_party/blink/public/public_features.gni:9 + + If true, adds support for JPEG XL image decoding. + enable_kythe_annotations Current value (from the default) = false From //build/toolchain/kythe.gni:10 @@ -1864,15 +1945,9 @@ enable_libaom Enable encoding and decoding AV1 video files. -enable_libaom_decoder - Current value (from the default) = false - From //third_party/libaom/options.gni:10 - - To be deprecated soon. - enable_library_cdms Current value (from the default) = true - From //media/media_options.gni:232 + From //media/media_options.gni:233 Enables the use of library CDMs that implements the interface defined at media/cdm/api/content_decryption_module.h. If true, the actually library CDM @@ -1881,11 +1956,11 @@ enable_library_cdms enable_linux_installer Current value (from the default) = false - From //chrome/installer/installers.gni:12 + From //chrome/installer/installers.gni:10 enable_log_error_not_reached Current value (from the default) = false - From //build/config/logging.gni:11 + From //build/config/logging.gni:12 enable_logging_override Current value (from the default) = false @@ -1895,15 +1970,9 @@ enable_logging_override On Cast devices, these are logged as INFO. When enabled on Fuchsia, these are logged as VLOGs. -enable_maldoca - Current value (from the default) = true - From //chrome/services/file_util/public/features.gni:14 - - Enables analysis of Office documents for malicious macros - enable_mdns Current value (from the default) = true - From //net/features.gni:30 + From //net/features.gni:33 Multicast DNS. @@ -1920,11 +1989,11 @@ enable_media_drm_storage enable_media_foundation_widevine_cdm Current value (from the default) = false - From //third_party/widevine/cdm/widevine.gni:50 + From //third_party/widevine/cdm/widevine.gni:51 enable_media_remoting Current value (from the default) = true - From //media/media_options.gni:333 + From //media/media_options.gni:328 This switch defines whether the Media Remoting implementation will be built. When enabled, media is allowed to be renderer and played back on remote @@ -1932,18 +2001,24 @@ enable_media_remoting enable_media_remoting_rpc Current value (from the default) = true - From //media/media_options.gni:339 + From //media/media_options.gni:334 Media Remoting RPC is disabled on Android since it's unused but increases the native binary size by ~70Kb. +enable_merge_request + Current value (from the default) = false + From //chromeos/components/libsegmentation/buildflags.gni:7 + + Request to merge features. + enable_message_center Current value (from the default) = true - From //ui/base/ui_features.gni:30 + From //ui/base/ui_features.gni:31 enable_ml_internal Current value (from the default) = false - From //services/on_device_model/on_device_model.gni:10 + From //services/on_device_model/on_device_model.gni:12 enable_modular_updater Current value (from the default) = false @@ -1957,14 +2032,14 @@ enable_mojo_tracing enable_mojom_fuzzer Current value (from the default) = false - From //mojo/public/tools/bindings/mojom.gni:47 + From //mojo/public/tools/bindings/mojom.gni:50 Enables generating javascript fuzzing-related code and the bindings for the MojoLPM fuzzer targets. Off by default. enable_mojom_message_id_scrambling Current value (from the default) = false - From //mojo/public/tools/bindings/mojom.gni:43 + From //mojo/public/tools/bindings/mojom.gni:46 Controls message ID scrambling behavior. If |true|, message IDs are scrambled (i.e. randomized based on the contents of //chrome/VERSION) on @@ -1974,7 +2049,7 @@ enable_mojom_message_id_scrambling enable_mojom_typemapping Current value (from the default) = true - From //mojo/public/tools/bindings/mojom.gni:36 + From //mojo/public/tools/bindings/mojom.gni:39 Indicates whether typemapping should be supported in this build configuration. This may be disabled when building external projects which @@ -1991,7 +2066,7 @@ enable_mse_mpeg2ts_stream_parser enable_mutex_priority_inheritance Current value (from the default) = false - From //base/BUILD.gn:68 + From //base/BUILD.gn:73 Set to true to enable mutex priority inheritance. See the comments in LockImpl::PriorityInheritanceAvailable() in lock_impl_posix.cc for the @@ -1999,7 +2074,7 @@ enable_mutex_priority_inheritance enable_nacl Current value (from the default) = false - From //components/nacl/features.gni:27 + From //components/nacl/features.gni:26 Enables Native Client support. @@ -2025,17 +2100,17 @@ enable_offline_pages_harness enable_oop_basic_print_dialog Current value (from the default) = false - From //printing/buildflags/buildflags.gni:62 + From //printing/buildflags/buildflags.gni:54 Enables the printing system dialog being invoked from out-of-process for platforms that support printing, have a system dialog, and which can invoke that system print dialog from a process other than the browser process. - TODO(crbug.com/809738) Determine if Linux Wayland can be made to have a + TODO(crbug.com/40561724) Determine if Linux Wayland can be made to have a system dialog be modal against an application window in the browser process. enable_oop_printing Current value (from the default) = true - From //printing/buildflags/buildflags.gni:47 + From //printing/buildflags/buildflags.gni:43 Enables out-of-process printing. Do not have this definition just be based on `enable_print_preview`; this feature could still be appropriate @@ -2043,7 +2118,7 @@ enable_oop_printing enable_oop_printing_no_oop_basic_print_dialog Current value (from the default) = true - From //printing/buildflags/buildflags.gni:68 + From //printing/buildflags/buildflags.gni:60 enable_opengl_apitrace Current value (from the default) = false @@ -2059,7 +2134,7 @@ enable_opengl_apitrace enable_openscreen_protocol Current value (from the default) = false - From //chrome/browser/media/router/BUILD.gn:12 + From //chrome/browser/media/router/BUILD.gn:15 Set to true to build code that supports the Open Screen Protocol. OSP is experimental and not yet feature-complete. @@ -2084,19 +2159,32 @@ enable_paint_preview enable_pdf Current value (from the default) = true - From //pdf/features.gni:20 + From //pdf/features.gni:13 + +enable_pdf_ink2 + Current value (from the default) = true + From //pdf/features.gni:26 + + Enable the next generation of ink libraries. This can co-exist with + `enable_ink` above. + +enable_pdf_ink2_stubs + Current value (from the default) = true + From //pdf/features.gni:29 + + Enable Ink Stubs. Only applicable when `enable_pdf_ink2` is true. enable_perfetto_benchmarks Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:195 + From //third_party/perfetto/gn/perfetto.gni:199 enable_perfetto_fuzzers Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:198 + From //third_party/perfetto/gn/perfetto.gni:202 enable_perfetto_grpc Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:322 + From //third_party/perfetto/gn/perfetto.gni:336 Enables gRPC in the Perfetto codebase. gRPC significantly increases build times and the general footprint of Perfetto. As it only required for @@ -2105,27 +2193,35 @@ enable_perfetto_grpc enable_perfetto_heapprofd Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:157 + From //third_party/perfetto/gn/perfetto.gni:161 enable_perfetto_integration_tests Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:193 + From //third_party/perfetto/gn/perfetto.gni:197 enable_perfetto_ipc Current value (from the default) = true - From //third_party/perfetto/gn/perfetto.gni:150 + From //third_party/perfetto/gn/perfetto.gni:154 enable_perfetto_llvm_demangle Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:316 + From //third_party/perfetto/gn/perfetto.gni:330 + +enable_perfetto_merged_protos_check + Current value (from the default) = false + From //third_party/perfetto/gn/perfetto.gni:358 + + Check that the merged perfetto_trace.proto can be translated to a C++ lite + proto and compiled. This is disabled by default because it's expensive (it + can take a couple of minutes). enable_perfetto_platform_services Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:141 + From //third_party/perfetto/gn/perfetto.gni:145 enable_perfetto_site Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:339 + From //third_party/perfetto/gn/perfetto.gni:353 Allows to build the perfetto.dev website. WARNING: if this flag is enabled, the build performs globbing at generation @@ -2134,51 +2230,55 @@ enable_perfetto_site enable_perfetto_stderr_crash_dump Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:235 + From //third_party/perfetto/gn/perfetto.gni:239 enable_perfetto_system_consumer Current value (from the default) = true - From //third_party/perfetto/gn/perfetto.gni:251 + From //third_party/perfetto/gn/perfetto.gni:255 enable_perfetto_tools Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:187 + From //third_party/perfetto/gn/perfetto.gni:191 enable_perfetto_trace_processor Current value (from the default) = true - From //third_party/perfetto/gn/perfetto.gni:173 + From //third_party/perfetto/gn/perfetto.gni:177 enable_perfetto_trace_processor_httpd Current value (from the default) = true - From //third_party/perfetto/gn/perfetto.gni:302 + From //third_party/perfetto/gn/perfetto.gni:314 enable_perfetto_trace_processor_json Current value (from the default) = true - From //third_party/perfetto/gn/perfetto.gni:295 + From //third_party/perfetto/gn/perfetto.gni:299 enable_perfetto_trace_processor_linenoise Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:289 + From //third_party/perfetto/gn/perfetto.gni:293 + +enable_perfetto_trace_processor_mac_instruments + Current value (from the default) = false + From //third_party/perfetto/gn/perfetto.gni:305 enable_perfetto_trace_processor_percentile Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:284 + From //third_party/perfetto/gn/perfetto.gni:288 enable_perfetto_trace_processor_sqlite Current value (from the default) = true - From //third_party/perfetto/gn/perfetto.gni:279 + From //third_party/perfetto/gn/perfetto.gni:283 enable_perfetto_traceconv Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:328 + From //third_party/perfetto/gn/perfetto.gni:342 enable_perfetto_traced_perf Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:165 + From //third_party/perfetto/gn/perfetto.gni:169 enable_perfetto_traced_probes Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:267 + From //third_party/perfetto/gn/perfetto.gni:271 The traced_probes daemon is very Linux-specific, as it depends on ftrace and various /proc interfaces. There is no point making its code platform-neutral @@ -2190,38 +2290,38 @@ enable_perfetto_traced_probes enable_perfetto_traced_relay Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:271 + From //third_party/perfetto/gn/perfetto.gni:275 The relay service is enabled when platform services are enabled. TODO(chinglinyu) check if we can enable on Windows. enable_perfetto_ui Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:332 + From //third_party/perfetto/gn/perfetto.gni:346 enable_perfetto_unittests Current value (from the default) = true - From //third_party/perfetto/gn/perfetto.gni:189 + From //third_party/perfetto/gn/perfetto.gni:193 enable_perfetto_version_gen Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:204 + From //third_party/perfetto/gn/perfetto.gni:208 enable_perfetto_watchdog Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:182 + From //third_party/perfetto/gn/perfetto.gni:186 enable_perfetto_x64_cpu_opt Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:243 + From //third_party/perfetto/gn/perfetto.gni:247 enable_perfetto_zlib Current value (from the default) = true - From //third_party/perfetto/gn/perfetto.gni:310 + From //third_party/perfetto/gn/perfetto.gni:322 enable_pkeys Current value (from the default) = true - From //base/allocator/partition_allocator/partition_alloc.gni:344 + From //base/allocator/partition_allocator/partition_alloc.gni:396 enable_platform_ac3_eac3_audio Current value (from the default) = false @@ -2237,6 +2337,16 @@ enable_platform_ac4_audio Enables AC4 audio handling in chromium. This includes demuxing, on-device decoding and bitstream passthrough as supported by device. +enable_platform_apps + Current value (from the default) = true + From //extensions/buildflags/buildflags.gni:45 + + A control for whether support for platform apps should be compiled into the + browser. + TODO(https://crbug.com/41407868): This doesn't belong here; extensions code + shouldn't rely on platform apps at all. But at least this lets it be + toggled / if-def'd. + enable_platform_dolby_vision Current value (from the default) = false From //media/media_options.gni:94 @@ -2258,6 +2368,12 @@ enable_platform_encrypted_dolby_vision default, unless overwritten by the run time feature kAllowClearDolbyVisionInMseWhenPlatformEncryptedDvEnabled. +enable_platform_experience + Current value (from the default) = false + From //chrome/browser/buildflags.gni:9 + + By default, only branded builds allow for platform experience. + enable_platform_hevc Current value (from the default) = false From //media/media_options.gni:140 @@ -2293,7 +2409,7 @@ enable_plugins enable_pointer_arithmetic_trait_check Current value (from the default) = true - From //base/allocator/partition_allocator/partition_alloc.gni:124 + From //base/allocator/partition_allocator/partition_alloc.gni:143 Enables a compile-time check that all raw_ptrs to which arithmetic operations are to be applied are annotated with the AllowPtrArithmetic @@ -2301,7 +2417,7 @@ enable_pointer_arithmetic_trait_check enable_pointer_compression_support Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:115 + From //base/allocator/partition_allocator/partition_alloc.gni:134 Introduces pointer compression support in PA. These are 4-byte pointers that can point within the core pools (regular and BRP). @@ -2312,7 +2428,7 @@ enable_pointer_compression_support enable_pointer_subtraction_check Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:119 + From //base/allocator/partition_allocator/partition_alloc.gni:138 Enables a bounds check when two pointers (at least one being raw_ptr) are subtracted (if supported by the underlying implementation). @@ -2327,14 +2443,7 @@ enable_ppapi enable_precompiled_headers Current value (from the default) = false - From //build/config/pch.gni:15 - -enable_print_content_analysis - Current value (from the default) = true - From //printing/buildflags/buildflags.gni:51 - - Enable snapshotting a page when printing for its content to be analyzed for - sensitive content by enterprise users. + From //build/config/pch.gni:14 enable_print_media_l10n Current value (from the default) = false @@ -2346,7 +2455,7 @@ enable_print_media_l10n enable_print_preview Current value (from the default) = true - From //printing/buildflags/buildflags.gni:30 + From //printing/buildflags/buildflags.gni:26 Enables printing with print preview. Print preview requires PDF per //printing/BUILD.gn. @@ -2362,7 +2471,7 @@ enable_printing_tests Current value (from the default) = false From //printing/buildflags/buildflags.gni:19 - TODO(crbug.com/1432082): iOS blink port only enables printing_tests to run + TODO(crbug.com/40263786): iOS blink port only enables printing_tests to run unit tests and web tests for now because the port does not enable the printing feature yet. @@ -2408,13 +2517,17 @@ enable_remoting enable_reporting Current value (from the default) = true - From //net/features.gni:33 + From //net/features.gni:36 Reporting not used on iOS. +enable_request_header_integrity + Current value (from the default) = false + From //chrome/browser/request_header_integrity/buildflags.gni:8 + enable_resource_allowlist_generation Current value (from the default) = false - From //build/toolchain/gcc_toolchain.gni:29 + From //build/toolchain/gcc_toolchain.gni:28 enable_rlz Current value (from the default) = false @@ -2434,43 +2547,66 @@ enable_rust enable_rust_base_conversions Current value (from the default) = true - From //build/config/rust.gni:109 + From //build/config/rust.gni:108 Conversions between Rust types and C++ types. -enable_rust_boringssl - Current value (from the default) = true - From //build/config/rust.gni:124 - - Enable Boringssl Rust bindings generation - enable_rust_crash Current value (from the default) = true - From //build/config/rust.gni:115 + From //build/config/rust.gni:114 Support for chrome://crash-rust to check crash dump collection works. +enable_rust_cxx + Current value (from the default) = true + From //build/config/rust.gni:32 + + The CXX tool is in //third_party/rust which is not shared with downstream + projects yet. So they need to copy the required dependencies and GN files + into their project to enable CXX there. + enable_rust_gtest_interop Current value (from the default) = true - From //build/config/rust.gni:121 + From //build/config/rust.gni:120 Rust gtest interop. enable_rust_json - Current value (from the default) = false - From //build/config/rust.gni:112 + Current value (from the default) = true + From //build/config/rust.gni:111 The base::JSONReader implementation. Requires base conversions. enable_rust_mojo Current value (from the default) = false - From //build/config/rust.gni:118 + From //build/config/rust.gni:117 Support for Rust mojo bindings. +enable_rust_mojom_bindings + Current value (from the default) = false + From //mojo/public/tools/bindings/mojom.gni:54 + + Output Rust mojom bindings when `generate_rust` is `true` for a target. The + option has no effect if this flag is disabled. + +enable_rust_png + Current value (from the default) = false + From //build/config/rust.gni:127 + + WIP attempt to replace `libpng` with Rust `png` crate. + + TODO(https://crbug.com/360375227): Remove the `enable_all_rust_features` + condition below (only true on Rust bots) once/if ready to start A/B + experiments. + +enable_screen_ai_browsertests + Current value (from the default) = true + From //services/screen_ai/buildflags/features.gni:15 + enable_screen_ai_service Current value (from the default) = true - From //components/services/screen_ai/buildflags/features.gni:10 + From //services/screen_ai/buildflags/features.gni:10 Screen AI service is only supported on desktop platforms. @@ -2487,18 +2623,18 @@ enable_server_based_recognition enable_service_discovery Current value (from the default) = true - From //chrome/common/features.gni:66 + From //chrome/common/features.gni:54 enable_session_service Current value (from the default) = true - From //chrome/common/features.gni:70 + From //chrome/common/features.gni:58 Enables use of the session service, which is enabled by default. Android stores them separately on the Java side. enable_shadow_call_stack Current value (from the default) = false - From //build/config/compiler/BUILD.gn:195 + From //build/config/compiler/BUILD.gn:191 Enable ShadowCallStack for compiled binaries. SCS stores a pointer to a shadow call stack in register x18. Hence, x18 must not be used by the OS @@ -2508,7 +2644,7 @@ enable_shadow_call_stack enable_shadow_metadata Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:228 + From //base/allocator/partition_allocator/partition_alloc.gni:260 Shadow metadata is still under development and only supports Linux for now. @@ -2533,11 +2669,14 @@ enable_speech_service Whether the browser provides a speech recognition service (//media/mojo/mojom/speech_recognition_service.mojom) to the renderer. - TODO(crbug.com/1378804) Enable on Fuchsia. + TODO(crbug.com/40244098) Enable on Fuchsia. enable_stack_trace_line_numbers - Current value (from the default) = false - From //build/config/logging.gni:12 + Current value (from the default) = true + From //build/config/logging.gni:23 + + Enables the DWARF line number reader on Linux. This only has an effect if + print_unsymbolized_stack_traces is false. enable_stripping Current value (from the default) = false @@ -2557,7 +2696,7 @@ enable_supervised_users enable_swiftshader Current value (from the default) = true - From //ui/gl/features.gni:37 + From //ui/gl/features.gni:29 enable_swiftshader_vulkan Current value (from the default) = true @@ -2567,33 +2706,39 @@ enable_swiftshader_vulkan --use-vulkan=swiftshader and some tests which use swiftshader vulkan will not work. -enable_system_notifications - Current value (from the default) = true - From //chrome/common/features.gni:74 - enable_trace_logging Current value (from the default) = true - From //third_party/openscreen/src/util/BUILD.gn:12 + From //third_party/openscreen/src/util/BUILD.gn:13 Enables trace logging in build. This is true by default, but may be disabled for a slight performance increase. enable_update_notifications Current value (from the default) = false - From //chrome/browser/buildflags.gni:13 + From //chrome/browser/buildflags.gni:16 Detect updates and notify the user for Google Chrome across all platforms. Chromium does not use an auto-updater. enable_updater Current value (from the default) = false - From //chrome/browser/buildflags.gni:9 + From //chrome/browser/buildflags.gni:12 By default, only branded builds integrate with automatic updates. enable_validating_command_decoder Current value (from the default) = false - From //ui/gl/features.gni:30 + From //ui/gl/features.gni:24 + +enable_vectorized_html_scanning + Current value (from the default) = false + From //third_party/blink/renderer/core/BUILD.gn:105 + + Use vectorization for fast path HTML parser. + +enable_video_effects + Current value (from the default) = true + From //services/video_effects/args.gni:6 enable_vr Current value (from the default) = true @@ -2605,12 +2750,6 @@ enable_vulkan Enable experimental vulkan backend. -enable_wayland_server - Current value (from the default) = false - From //chrome/common/features.gni:77 - - Indicates if Wayland display server support is enabled. - enable_websockets Current value (from the default) = true From //net/features.gni:15 @@ -2620,7 +2759,7 @@ enable_websockets enable_webui_certificate_viewer Current value (from the default) = true - From //chrome/common/features.gni:80 + From //chrome/common/features.gni:61 Enables the webui certificate viewer dialog. @@ -2638,7 +2777,7 @@ enable_webui_tab_strip Enable the WebUI version of the browser's tab strip. enable_widevine - Current value (from the default) = false + Current value (from the default) = true From //third_party/widevine/cdm/widevine.gni:15 Enables Widevine key system support. Enabled by default in Google Chrome, @@ -2646,42 +2785,46 @@ enable_widevine Can be optionally enabled in Chromium on non-Android platforms. Please see //src/third_party/widevine/LICENSE file for details. -enterprise_client_certificates +enable_widevine_cdm_host_verification Current value (from the default) = false - From //components/enterprise/buildflags/buildflags.gni:26 + From //third_party/widevine/cdm/widevine.gni:70 + +enterprise_client_certificates + Current value (from the default) = true + From //components/enterprise/buildflags/buildflags.gni:25 Indicates support for client certificates provisioning. enterprise_cloud_content_analysis Current value (from the default) = true - From //components/enterprise/buildflags/buildflags.gni:16 + From //components/enterprise/buildflags/buildflags.gni:14 enterprise_content_analysis Current value (from the default) = true - From //components/enterprise/buildflags/buildflags.gni:38 + From //components/enterprise/buildflags/buildflags.gni:40 enterprise_data_controls Current value (from the default) = true - From //components/enterprise/buildflags/buildflags.gni:23 - - Indicates support for Data Control rules. + From //components/enterprise/buildflags/buildflags.gni:22 enterprise_local_content_analysis Current value (from the default) = true - From //components/enterprise/buildflags/buildflags.gni:20 + From //components/enterprise/buildflags/buildflags.gni:18 Indicates support for content analysis against a cloud agent for Enterprise Connector policies. +enterprise_screenshot_protection + Current value (from the default) = false + From //components/enterprise/buildflags/buildflags.gni:31 + enterprise_watermark Current value (from the default) = true From //components/enterprise/buildflags/buildflags.gni:29 - The watermark is currently implemented using the views framework - exclude_unwind_tables Current value (from the default) = false - From //build/config/compiler/compiler.gni:124 + From //build/config/compiler/compiler.gni:117 Exclude unwind tables by default for official builds as unwinding can be done from stack dumps produced by Crashpad at a later time "offline" in the @@ -2704,27 +2847,27 @@ extended_tracing_enabled extra_sysroot_libs Current value (from the default) = [] - From //build/config/rust.gni:90 + From //build/config/rust.gni:94 Non-rlib libs provided in the toolchain sysroot. Usually this is empty, but e.g. the Android Rust Toolchain provides a libunwind.a that rustc expects. fail_on_san_warnings Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:108 + From //build/config/sanitizers/sanitizers.gni:256 When true, sanitizer warnings will cause test case failures. fatal_linker_warnings Current value (from the default) = true - From //build/config/compiler/BUILD.gn:77 + From //build/config/compiler/BUILD.gn:73 Enable fatal linker warnings. Building Chromium with certain versions of binutils can cause linker warning. ffmpeg_branding Current value (from the default) = "Chromium" - From //third_party/ffmpeg/ffmpeg_options.gni:32 + From //third_party/ffmpeg/ffmpeg_options.gni:34 Controls whether we build the Chromium or Google Chrome version of FFmpeg. The Google Chrome version contains additional codecs. Typical values are @@ -2732,7 +2875,7 @@ ffmpeg_branding ffmpeg_use_unsafe_atomics Current value (from the default) = false - From //third_party/ffmpeg/ffmpeg_options.gni:50 + From //third_party/ffmpeg/ffmpeg_options.gni:52 Set to true to force the use of ffmpeg's stdatomic fallback code. This code is unsafe and does not implement atomics properly. https://crbug.com/161723. @@ -2746,7 +2889,7 @@ ffmpeg_use_unsafe_atomics forbid_non_component_debug_builds Current value (from the default) = true - From //build/config/compiler/compiler.gni:111 + From //build/config/compiler/compiler.gni:104 Whether an error should be raised on attempts to make debug builds with is_component_build=false. Very large debug symbols can have unwanted side @@ -2765,14 +2908,14 @@ force_enable_fieldtrial_testing_config force_enable_raw_ptr_exclusion Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:148 + From //base/allocator/partition_allocator/partition_alloc.gni:167 RAW_PTR_EXCLUSION macro is disabled on official builds because it increased binary size. This flag can be used to enable it for official builds too. force_rustc_color_output Current value (from the default) = false - From //build/config/rust.gni:100 + From //build/config/rust.gni:99 Force-enable `--color=always` for rustc, even when it would be disabled for a platform. Mostly applicable to Windows, where new versions can handle ANSI @@ -2780,22 +2923,12 @@ force_rustc_color_output forward_through_malloc Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:129 + From //base/allocator/partition_allocator/partition_alloc.gni:148 Forwards all the allocation/freeing calls in shim (e.g. operator new) through malloc. Useful for using with tools that intercept malloc, e.g. heaptrack. -fuzztest_supported - Current value (from the default) = true - From //build/config/sanitizers/sanitizers.gni:115 - - The fuzztest library builds only on some platforms, so for now, - all targets depending on fuzztest need to be configured according - to this. - TODO(crbug.com/1494445): remove this when all build permutations - work - gcc_target_rpath Current value (from the default) = "" From //build/config/gcc/BUILD.gn:19 @@ -2808,12 +2941,19 @@ gcc_target_rpath especially when cross-compiling. Note: this gn arg is similar to gyp target_rpath generator flag. +generate_about_credits + Current value (from the default) = false + From //components/resources/BUILD.gn:16 + + Generating the credits page requires a filesystem traversal for licenses + that is slow in some environments. + generate_fuzzer_owners Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:215 + From //build/config/sanitizers/sanitizers.gni:260 Generates an owners file for each fuzzer test. - TODO(crbug.com/1194183): Remove this arg when finding OWNERS is faster. + TODO(crbug.com/40175535): Remove this arg when finding OWNERS is faster. generate_linker_map Current value (from the default) = false @@ -2822,24 +2962,12 @@ generate_linker_map Used for binary size analysis. glue_core_pools - Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:107 + Current value (from the default) = true + From //base/allocator/partition_allocator/partition_alloc.gni:126 Puts the regular and BRP pools right next to each other, so that we can check "belongs to one of the two pools" with a single bitmask operation. - -gold_path - Current value (from the default) = "" - From //build/config/compiler/BUILD.gn:73 - - When we are going to use gold we need to find it. - This is initialized below, after use_gold might have been overridden. - -goma_dir - Current value (from the default) = "" - From //build/toolchain/goma.gni:14 - - Absolute directory containing the gomacc binary. + TODO(crbug.com/350104111): Fix ios-simulator failures to remove `!is_ios`. google_api_key Current value (from the default) = "" @@ -2876,7 +3004,7 @@ grpc_use_static_linking gtest_enable_absl_printers Current value (from the default) = true - From //build_overrides/build.gni:54 + From //build_overrides/build.gni:50 Allows googletest to pretty-print various absl types. Disabled for nacl due to lack of toolchain support. @@ -2890,15 +3018,11 @@ gtk_version has_native_accessibility Current value (from the default) = true - From //ui/base/ui_features.gni:18 - - Whether the platform provides a native accessibility toolkit, in other words - the platform has a C/C++ interface for accessibility that Chrome - implements/subclasses in some way - win, mac, linux. + From //ui/base/ui_features.gni:19 has_platform_accessibility_support Current value (from the default) = false - From //ui/base/ui_features.gni:26 + From //ui/base/ui_features.gni:27 Whether the platform provide platform-specific accessibility implementation, i.e. there an accessibility API of some kind on this platform that's @@ -2938,6 +3062,17 @@ headless_use_prefs Use Prefs component to access Local State and other preferences. +high_end_fuzzer_targets + Current value (from the default) = false + From //build/config/sanitizers/sanitizers.gni:129 + + When true, only builds fuzzer targets that require high end machines to run. + Otherwise, builds all the targets. + TODO(paulsemel): once we have everything implemented on the recipe side, we + can change the behaviour for the false case, and only build the non high-end + jobs, so that they do not appear in the zip. As for now, this behaviour + ensures nothing breaks. + host_byteorder Current value (from the default) = "undefined" From //build/config/host_byteorder.gni:9 @@ -2986,6 +3121,12 @@ icu_fuchsia_extra_compile_flags Fuchsia. This flag allows us to define the flag ahead of time in //build/icu.gni, and remove the rollout issues. +icu_fuchsia_extra_configs + Current value (from the default) = [] + From //third_party/icu/config.gni:42 + + Similar to above, except it allows adding an entire `config` target. + icu_fuchsia_override_data_dir Current value (from the default) = "" From //third_party/icu/config.gni:29 @@ -2994,6 +3135,13 @@ icu_fuchsia_override_data_dir the ICU data files content. The setting has effect only when building inside the Fuchsia source tree. +icu_fuchsia_remove_configs + Current value (from the default) = [] + From //third_party/icu/config.gni:46 + + Similar to above, except it allows removing an entire `config` target, if + it exists. + icu_use_data_file Current value (from the default) = true From //third_party/icu/config.gni:15 @@ -3032,9 +3180,19 @@ include_ash_ambient_animation_resources May be overridden locally to false for testing purposes if desired. +include_both_v8_snapshots + Current value (from the default) = false + From //tools/v8_context_snapshot/v8_context_snapshot.gni:21 + + If set, both snapshots are included. At this time, this only applicable to + android. In other words, it will not work correctly on other platforms. + Building the context snapshots on android requires building blink multiple + times. To avoid impacting developer productivity the context snapshot is + only built for official builds. + include_branded_entitlements Current value (from the default) = true - From //chrome/BUILD.gn:64 + From //chrome/BUILD.gn:74 On macOS, `is_chrome_branded` builds that have been signed locally will not launch because certain entitlements are tied to the official Google code @@ -3043,7 +3201,7 @@ include_branded_entitlements include_transport_security_state_preload_list Current value (from the default) = true - From //net/features.gni:41 + From //net/features.gni:44 Includes the transport security state preload list. This list includes mechanisms (e.g. HSTS, HPKP) to enforce trusted connections to a significant @@ -3061,7 +3219,7 @@ incremental_install init_stack_vars Current value (from the default) = true - From //build/config/compiler/BUILD.gn:151 + From //build/config/compiler/BUILD.gn:147 Initialize all local variables with a pattern. This flag will fill uninitialized floating-point types (and 32-bit pointers) with 0xFF and the @@ -3071,35 +3229,38 @@ init_stack_vars Flag discussion: https://crbug.com/977230 - TODO(crbug.com/1131993): This regresses binary size by ~1MB on Android and + TODO(crbug.com/40721698): This regresses binary size by ~1MB on Android and needs to be evaluated before enabling it there as well. init_stack_vars_zero Current value (from the default) = false - From //build/config/compiler/BUILD.gn:155 + From //build/config/compiler/BUILD.gn:151 Zero init has favorable performance/size tradeoffs for Chrome OS but was not evaluated for other platforms. -internal_gles2_conform_tests - Current value (from the default) = false - From //gpu/gles2_conform_support/BUILD.gn:7 +install_prefix + Current value (from the default) = "" + From //third_party/angle/BUILD.gn:91 - Set to true to compile with the OpenGL ES 2.0 conformance tests. + Prefix where the artifacts should be installed on the system -internal_khronos_glcts_tests +ios_chrome_generate_order_file Current value (from the default) = false - From //gpu/khronos_glcts_support/BUILD.gn:8 + From //build/config/ios/config.gni:17 + + Generate orderfile at application startup and then exit. + NOTE: This flag adds runtime tooling to capture function call details, + writes out an orderfile to the documents directory, then terminates the + application. It should generally NOT be enabled. ios_deployment_target - Current value (from the default) = "15.0" - From //build/config/ios/ios_sdk_overrides.gni:10 - - Version of iOS that we're targeting. + Current value (from the default) = "17.4" + From //build/config/ios/ios_sdk_overrides.gni:13 ios_stack_profiler_enabled Current value (from the default) = true - From //base/BUILD.gn:73 + From //base/BUILD.gn:78 Control whether the ios stack sampling profiler is enabled. This flag is only supported on iOS 64-bit architecture, but some project build //base @@ -3123,7 +3284,7 @@ is_cast_audio_only From //build/config/cast.gni:12 Set this true for an audio-only Chromecast build. - TODO(https://crbug.com/1516671): Remove this arg as CastOS builds are no + TODO(crbug.com/41489655): Remove this arg as CastOS builds are no longer supported. is_castos @@ -3135,7 +3296,7 @@ is_castos is_cfi Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:50 + From //build/config/sanitizers/sanitizers.gni:59 Compile with Control Flow Integrity to protect virtual calls and casts. See http://clang.llvm.org/docs/ControlFlowIntegrity.html @@ -3148,6 +3309,10 @@ is_cfm True if compiling for Chromebox for Meeting devices. +is_chancie_wancie_build + Current value (from the default) = false + From //third_party/ffmpeg/ffmpeg_options.gni:18 + is_chrome_branded Current value (from the default) = false From //build/config/chrome_build.gni:9 @@ -3213,7 +3378,7 @@ is_component_build is_component_ffmpeg Current value (from the default) = true - From //third_party/ffmpeg/ffmpeg_options.gni:39 + From //third_party/ffmpeg/ffmpeg_options.gni:41 Set true to build ffmpeg as a shared library. NOTE: this means we should always consult is_component_ffmpeg instead of is_component_build for @@ -3243,32 +3408,33 @@ is_ct_supported Certificate transparency is not supported on iOS. -is_dawn_lpm_fuzzer - Current value (from the default) = true - From //third_party/dawn/src/dawn/fuzzers/dawn_fuzzers.gni:36 - is_debug Current value (from the default) = true From //build/config/BUILDCONFIG.gn:163 Debug build. Enabling official builds automatically sets is_debug to false. +is_desktop_android + Current value (from the default) = false + From //build/config/chrome_build.gni:29 + + Set to true to set defaults that enable features on Android that are more + typically available on desktop. + is_ggp Current value (from the default) = false From //third_party/angle/gni/angle.gni:8 is_high_end_android - Current value (from the default) = false - From //build/config/chrome_build.gni:27 + Current value (from the default) = true + From //build/config/chrome_build.gni:25 Set to true to enable settings for high end Android devices, typically enhancing speed at the expense of resources such as binary sizes and memory. - Non-official builds should ignore this argument so that arm64 builders - remain fast and independent from PGO without having to set the value to false. is_high_end_android_secondary_toolchain Current value (from the default) = false - From //build/config/chrome_build.gni:44 + From //build/config/chrome_build.gni:54 Whether to apply size->speed trade-offs to the secondary toolchain. Relevant only for 64-bit target_cpu. @@ -3345,19 +3511,25 @@ is_p2p_enabled is_perfetto_build_generator Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:82 + From //third_party/perfetto/gn/perfetto.gni:86 All the tools/gen_* scripts set this to true. This is mainly used to locate .gni files from //gn rather than //build. is_perfetto_embedder Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:87 + From //third_party/perfetto/gn/perfetto.gni:91 This is for override via `gn args` (e.g. for tools/gen_xxx). Embedders based on GN (e.g. v8) should NOT set this and instead directly sets perfetto_build_with_embedder=true in their GN files. +is_raspi + Current value (from the default) = false + From //build/config/compiler_opt.gni:11 + + Whether to use Raspberry Pi specific optimizations. + is_reven Current value (from the default) = false From //build/config/chromeos/args.gni:40 @@ -3378,6 +3550,12 @@ is_skylab Determines if we run the test in skylab, aka the CrOS labs. +is_thorium_build + Current value (from the default) = true + From //third_party/blink/public/public_features.gni:12 + + Thorium internal flag + is_tsan Current value (from the default) = false From //build/config/sanitizers/sanitizers.gni:28 @@ -3399,20 +3577,20 @@ is_ubsan_no_recover is_ubsan_security Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:83 + From //build/config/sanitizers/sanitizers.gni:95 Enables core ubsan security features. Will later be removed once it matches is_ubsan. is_ubsan_vptr Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:125 + From //build/config/sanitizers/sanitizers.gni:139 Compile for Undefined Behaviour Sanitizer's vptr checks. is_unsafe_developer_build Current value (from the default) = true - From //base/BUILD.gn:60 + From //base/BUILD.gn:65 Unsafe developer build. Has developer-friendly features that may weaken or disable security measures like sandboxing or ASLR. @@ -3420,7 +3598,7 @@ is_unsafe_developer_build is_win_arm64 Current value (from the default) = false - From //third_party/angle/gni/angle.gni:154 + From //third_party/angle/gni/angle.gni:167 Currently Windows on Arm doesn't support OpenGL or Vulkan. @@ -3437,13 +3615,17 @@ lacros_use_chromium_toolchain If set, build lacros with Chromium's toolchain instead of with Chrome OS's. TODO(thakis): Set this to `= chromeos_is_browser_only` once that works. +lastchange_year_header_name + Current value (from the default) = "" + From //chrome/browser/request_header_integrity/buildflags.gni:12 + ldso_path Current value (from the default) = "" From //build/config/gcc/BUILD.gn:20 libcxx_is_shared Current value (from the default) = true - From //build/config/c++/c++.gni:54 + From //build/config/c++/c++.gni:63 WARNING: Setting this to a non-default value is highly discouraged. If true, libc++ will be built as a shared library; otherwise libc++ will be @@ -3461,23 +3643,34 @@ libcxx_natvis_include http://crbug.com/966687. libcxx_revision - Current value (from the default) = "28aa23ffb4c7344914a5b4ac7169f12e5a12333f" + Current value (from the default) = "50ab693ecb611942ce4440d8c9ed707ee65ed5e8" From //buildtools/deps_revisions.gni:8 Used to cause full rebuilds on libc++ rolls. This should be kept in sync with the libcxx_revision vars in //DEPS. -libyuv_disable_jpeg - Current value (from the default) = false - From //third_party/libyuv/libyuv.gni:15 +libsrtp_build_boringssl + Current value (from the default) = true + From //third_party/libsrtp/options.gni:8 -libyuv_disable_rvv + Build with BoringSSL by default, allow WebRTC to override + this and the include path from rtc_build_ssl and rtc_ssl_root + +libsrtp_ssl_root + Current value (from the default) = "" + From //third_party/libsrtp/options.gni:9 + +libyuv_disable_jpeg Current value (from the default) = false From //third_party/libyuv/libyuv.gni:16 +libyuv_disable_rvv + Current value (from the default) = false + From //third_party/libyuv/libyuv.gni:17 + libyuv_include_tests Current value (from the default) = false - From //third_party/libyuv/libyuv.gni:14 + From //third_party/libyuv/libyuv.gni:15 libyuv_symbols_visible Current value (from the default) = false @@ -3493,21 +3686,42 @@ libyuv_use_absl_flags Set to false to disable building with absl flags. +libyuv_use_lasx + Current value (from the default) = false + From //third_party/libyuv/libyuv.gni:33 + +libyuv_use_lsx + Current value (from the default) = false + From //third_party/libyuv/libyuv.gni:32 + libyuv_use_mmi Current value (from the default) = false - From //third_party/libyuv/libyuv.gni:23 + From //third_party/libyuv/libyuv.gni:31 libyuv_use_msa Current value (from the default) = false - From //third_party/libyuv/libyuv.gni:21 + From //third_party/libyuv/libyuv.gni:29 libyuv_use_neon Current value (from the default) = false - From //third_party/libyuv/libyuv.gni:18 + From //third_party/libyuv/libyuv.gni:19 + +libyuv_use_sme + Current value (from the default) = false + From //third_party/libyuv/libyuv.gni:27 + + Restrict to is_linux to work around undefined symbol linker errors on + Android, Fuchsia, macOS, and compilation errors on Windows. + TODO: bug 359006069 - Remove the is_linux restriction after the linker and + compilation errors are fixed. + +libyuv_use_sve + Current value (from the default) = false + From //third_party/libyuv/libyuv.gni:21 limit_android_deps Current value (from the default) = false - From //build_overrides/build.gni:50 + From //build_overrides/build.gni:46 Limits the defined //third_party/android_deps targets to only "buildCompile" and "buildCompileNoDeps" targets. This is useful for third-party @@ -3525,7 +3739,7 @@ link_pulseaudio lld_emit_indexes_and_imports Current value (from the default) = false - From //build/config/clang/clang.gni:37 + From //build/config/clang/clang.gni:41 Set to true to enable output of ThinLTO index and import files used for creating a Chromium MLGO corpus in the ThinLTO case. @@ -3581,7 +3795,9 @@ media_use_openh264 mediapipe_build_with_gpu_support Current value (from the default) = false - From //third_party/mediapipe/BUILD.gn:12 + From //third_party/mediapipe/BUILD.gn:15 + + To be set to true after integration with VideoEffectsService. mips_use_mmi Current value (from the default) = false @@ -3591,7 +3807,7 @@ mips_use_mmi mojo_media_host Current value (from the default) = "gpu" - From //media/media_options.gni:326 + From //media/media_options.gni:321 The process that the mojo MediaService runs in. By default, all services registered in |mojo_media_services| are hosted in the MediaService, with the @@ -3606,7 +3822,7 @@ mojo_media_host mojo_media_services Current value (from the default) = ["video_decoder", "cdm"] - From //media/media_options.gni:314 + From //media/media_options.gni:309 A list of mojo media services that should be used in the media pipeline. Valid entries in the list are: @@ -3617,22 +3833,52 @@ mojo_media_services - "video_decoder": Use mojo-based video decoder in the default media Renderer. Cannot be used with the mojo Renderer above. +mojo_support_legacy_core + Current value (from the default) = false + From //mojo/features.gni:21 + + Builds non-ipcz-based Mojo Core. No longer supported anywhere but Chrome OS. + We check target_os instead of is_chromeos since this also needs to be set + when building NaCl binaries (is_nacl) for Chrome OS. + + When this is true, ipcz-based Mojo Core can be disabled by disabling the + MojoIpcz feature flag; and it's disabled by default on Chrome OS. When this + is false, ipcz-based Mojo Core is used unconditionally. + + We also enable this by default for fuzzer builds, since some active fuzzers + require the legacy implementation. + mojo_use_apple_channel Current value (from the default) = false - From //mojo/features.gni:8 + From //mojo/features.gni:9 monolithic_binaries Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:214 + From //third_party/perfetto/gn/perfetto.gni:218 Only for local development. When true the binaries (perfetto, traced, ...) are monolithic and don't use a common shared library. This is mainly to avoid LD_LIBRARY_PATH dances when testing locally. On Windows we default to monolithic executables, because pairing - dllexport/import adds extra complexity for little benefit. The only reason + dllexport/import adds extra complexity for little benefit. Te only reason for monolithic_binaries=false is saving binary size, which matters mainly on Android. See also comments on PERFETTO_EXPORT_ENTRYPOINT in compiler.h. +msan_check_use_after_dtor + Current value (from the default) = true + From //build/config/sanitizers/sanitizers.gni:49 + + TODO(crbug.com/40222690): Enable everywhere. + +msan_eager_checks + Current value (from the default) = true + From //build/config/sanitizers/sanitizers.gni:46 + + Enables "param-retval" mode, which finds more uses of uninitialized data and + reduces code size. Behind a flag as there are a number of previously + undetected violations that still need to be fixed. + TODO(crbug.com/40240570): Default this to true and remove. + msan_track_origins Current value (from the default) = 2 From //build/config/sanitizers/sanitizers.gni:40 @@ -3649,11 +3895,23 @@ msvc_use_sse2 ndk_api_level_at_least_26 Current value (from the default) = false - From //third_party/angle/gni/angle.gni:132 + From //third_party/angle/gni/angle.gni:143 + +openscreen_monolithic + Current value (from the default) = false + From //third_party/openscreen/src/gni/openscreen.gni:17 + + Enable monolithic static library for embedders. + +openscreen_static_library + Current value (from the default) = false + From //third_party/openscreen/src/gni/openscreen.gni:14 + + Use static libraries instead of source_sets. optimize_for_fuzzing Current value (from the default) = false - From //build/config/compiler/BUILD.gn:92 + From //build/config/compiler/BUILD.gn:88 Optimize for coverage guided fuzzing (balance between speed and number of branches) @@ -3662,9 +3920,6 @@ optimize_for_size Current value (from the default) = false From //build/config/compiler/compiler.gni:42 - If true, optimize for size. - Default to favoring speed over size for platforms not listed below. - optimize_webui Current value (from the default) = false From //ui/webui/webui_features.gni:12 @@ -3684,6 +3939,12 @@ os_level_geolocation_permission_supported Specifies if we support the OS level global geolocation permission for the current platform. This is exposed with the macro OS_LEVEL_GEOLOCATION_PERMISSION_SUPPORTED. +overlay_include_cbx + Current value (from the default) = false + From //chromeos/components/libsegmentation/buildflags.gni:10 + + Compiled on a board overlay that supports CBX + ozone_auto_platforms Current value (from the default) = true From //build/config/ozone.gni:21 @@ -3738,18 +3999,21 @@ ozone_platform_x11 Current value (from the default) = true From //build/config/ozone.gni:90 +page_info_use_internal_android_resources + Current value (from the default) = false + From //chrome/browser/page_info/buildflags.gni:12 + partition_alloc_optimized_debug Current value (from the default) = true - From //base/allocator/partition_allocator/partition_alloc.gni:81 + From //build_overrides/partition_alloc.gni:53 - Turns on compiler optimizations in PartitionAlloc in Debug build. - If enabling PartitionAlloc-Everywhere in Debug build for tests in Debug - build, since all memory allocations and deallocations are executed by - non-optimized PartitionAlloc, chrome (including tests) will be much - slower. This will cause debug trybots' timeouts. If we want to debug - PartitionAlloc itself, use partition_alloc_optimized_debug=false. - Otherwise, use partition_alloc_optimized_debug=true to enable optimized - PartitionAlloc. + Turns on compiler optimizations in PartitionAlloc in Debug build. If + enabling PartitionAlloc-Everywhere in Debug build for tests in Debug build, + since all memory allocations and deallocations are executed by non-optimized + PartitionAlloc, chrome (including tests) will be much slower. This will + cause debug trybots' timeouts. If we want to debug PartitionAlloc itself, + use partition_alloc_optimized_debug=false. Otherwise, use + partition_alloc_optimized_debug=true to enable optimized PartitionAlloc. pdf_bundle_freetype Current value (from the default) = false @@ -3846,7 +4110,7 @@ pdf_use_skia perfetto_build_with_android Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:78 + From //third_party/perfetto/gn/perfetto.gni:82 The Android blueprint file generator set this to true (as well as is_perfetto_build_generator). This is just about being built in the @@ -3855,11 +4119,11 @@ perfetto_build_with_android perfetto_enable_git_rev_version_header Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:257 + From //third_party/perfetto/gn/perfetto.gni:261 perfetto_force_dcheck Current value (from the default) = "" - From //third_party/perfetto/gn/perfetto.gni:229 + From //third_party/perfetto/gn/perfetto.gni:233 Whether DCHECKs should be enabled or not. Values: "on" | "off" | "". By default ("") DCHECKs are enabled only: @@ -3872,7 +4136,7 @@ perfetto_force_dcheck perfetto_force_dlog Current value (from the default) = "off" - From //third_party/perfetto/gn/perfetto.gni:219 + From //third_party/perfetto/gn/perfetto.gni:223 Whether DLOG should be enabled on debug builds (""), all builds ("on"), or none ("off"). We disable it by default for embedders to avoid spamming their @@ -3880,7 +4144,7 @@ perfetto_force_dlog perfetto_use_pkgconfig Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:349 + From //third_party/perfetto/gn/perfetto.gni:368 Used by CrOS builds. Uses pkg-config to determine the appropriate flags for including and linking system libraries. @@ -3890,29 +4154,29 @@ perfetto_use_pkgconfig perfetto_use_system_protobuf Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:353 + From //third_party/perfetto/gn/perfetto.gni:372 Used by CrOS system builds. Uses the system version of protobuf from /usr/include instead of the hermetic one. perfetto_use_system_sqlite Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:357 + From //third_party/perfetto/gn/perfetto.gni:376 Used by CrOS system builds. Uses the system version of sqlite from /usr/include instead of the hermetic one. perfetto_use_system_zlib Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:359 + From //third_party/perfetto/gn/perfetto.gni:378 perfetto_verbose_logs_enabled Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:275 + From //third_party/perfetto/gn/perfetto.gni:279 pgo_data_path Current value (from the default) = "" - From //build/config/compiler/pgo/pgo.gni:35 + From //build/config/compiler/pgo/pgo.gni:36 When using chrome_pgo_phase = 2, read profile data from this path. @@ -3936,7 +4200,7 @@ plus_addresses_use_internal_android_resources print_unsymbolized_stack_traces Current value (from the default) = false - From //base/third_party/symbolize/BUILD.gn:13 + From //build/config/logging.gni:19 Stack traces will not include function names. Instead they will contain file and offset information that can be used with @@ -3967,59 +4231,79 @@ proprietary_codecs raw_ptr_zero_on_construct Current value (from the default) = true - From //base/allocator/partition_allocator/partition_alloc.gni:375 + From //base/allocator/partition_allocator/partition_alloc.gni:427 raw_ptr_zero_on_destruct Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:377 + From //base/allocator/partition_allocator/partition_alloc.gni:429 raw_ptr_zero_on_move Current value (from the default) = true - From //base/allocator/partition_allocator/partition_alloc.gni:376 + From //base/allocator/partition_allocator/partition_alloc.gni:428 rbe_bin_dir - Current value (from the default) = "../../buildtools/reclient" - From //build/toolchain/rbe.gni:5 + Current value (from the default) = "" + From //build/toolchain/rbe.gni:11 - The directory where the re-client tooling binaries are. - -rbe_cc_cfg_file - Current value (from the default) = "../../buildtools/reclient_cfgs/chromium-browser-clang/rewrapper_linux.cfg" - From //build/toolchain/rbe.gni:29 + Deprecated: Please use reclient_bin_dir instead. rbe_cfg_dir - Current value (from the default) = "//buildtools/reclient_cfgs" - From //build/toolchain/rbe.gni:20 + Current value (from the default) = "" + From //build/toolchain/rbe.gni:14 - The directory where the re-client configuration files are. + Deprecated: Please use reclient_cfg_dir instead. rbe_cros_cc_wrapper - Current value (from the default) = "../../buildtools/reclient/rewrapper" - From //build/toolchain/rbe.gni:52 + Current value (from the default) = "" + From //build/toolchain/rbe.gni:17 - Set to the path of the RBE recleint wrapper for ChromeOS. + Deprecated: Please use reclient_cros_cc_wrapper instead. rbe_exec_root Current value (from the default) = "/home/alex/chromium/src/" - From //build/toolchain/rbe.gni:11 + From //build/toolchain/rbe.gni:23 Execution root - this should be the root of the source tree. This is defined here instead of in the config file because this will vary depending on where the user has placed the chromium source on their system. -rbe_link_cfg_file - Current value (from the default) = "../../buildtools/reclient_cfgs/chromium-browser-clang/rewrapper_linux_link.cfg" - From //build/toolchain/rbe.gni:31 +reclient_bin_dir + Current value (from the default) = "../../buildtools/reclient" + From //build/toolchain/rbe.gni:45 -rbe_py_cfg_file - Current value (from the default) = "../../buildtools/reclient_cfgs/python/rewrapper_linux.cfg" - From //build/toolchain/rbe.gni:28 +reclient_cc_cfg_file + Current value (from the default) = "" + From //build/toolchain/rbe.gni:74 + +reclient_cfg_dir + Current value (from the default) = "//buildtools/reclient_cfgs" + From //build/toolchain/rbe.gni:56 + +reclient_cros_cc_wrapper + Current value (from the default) = "" + From //build/toolchain/rbe.gni:124 + +reclient_link_cfg_file + Current value (from the default) = "" + From //build/toolchain/rbe.gni:75 + +reclient_py_cfg_file + Current value (from the default) = "" + From //build/toolchain/rbe.gni:76 + +reclient_py_large_cfg_file + Current value (from the default) = "" + From //build/toolchain/rbe.gni:77 regenerate_x11_protos Current value (from the default) = false From //ui/gfx/x/BUILD.gn:12 +register_fuzztests_in_test_suites + Current value (from the default) = true + From //build/config/sanitizers/sanitizers.gni:178 + remoting_internal Current value (from the default) = false From //remoting/build/config/remoting_build.gni:28 @@ -4043,20 +4327,20 @@ remoting_webrtc_verbose_logging removed_rust_stdlib_libs Current value (from the default) = [] - From //build/config/rust.gni:86 + From //build/config/rust.gni:90 Any removed std rlibs in your Rust toolchain, relative to the standard Rust toolchain. Typically used with 'rust_sysroot_absolute' restricted_traces_outside_of_apk Current value (from the default) = false - From //third_party/angle/gni/angle.gni:43 + From //third_party/angle/gni/angle.gni:48 Only bundle traces in the APK if we're building a subset root_extra_deps Current value (from the default) = [] - From //BUILD.gn:64 + From //BUILD.gn:70 A list of extra dependencies to add to the root target. This allows a checkout to add additional targets without explicitly changing any checked- @@ -4064,7 +4348,7 @@ root_extra_deps rtc_audio_device_plays_sinus_tone Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:206 + From //third_party/webrtc/webrtc.gni:210 When set to true, replace the audio output with a sinus tone at 440Hz. The ADM will ask for audio data from WebRTC but instead of reading real @@ -4073,51 +4357,51 @@ rtc_audio_device_plays_sinus_tone rtc_build_dcsctp Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:340 + From //third_party/webrtc/webrtc.gni:343 Enable the dcsctp backend for DataChannels and related unittests rtc_build_examples Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:138 + From //third_party/webrtc/webrtc.gni:135 Set this to false to skip building examples. rtc_build_json Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:280 + From //third_party/webrtc/webrtc.gni:287 Disable these to not build components which can be externally provided. rtc_build_libevent Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:294 + From //third_party/webrtc/webrtc.gni:301 rtc_build_libsrtp Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:281 + From //third_party/webrtc/webrtc.gni:288 rtc_build_libvpx Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:282 + From //third_party/webrtc/webrtc.gni:289 rtc_build_opus Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:284 + From //third_party/webrtc/webrtc.gni:291 rtc_build_ssl Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:285 + From //third_party/webrtc/webrtc.gni:292 rtc_build_tools Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:141 + From //third_party/webrtc/webrtc.gni:138 Set this to false to skip building tools. rtc_build_with_neon Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:177 + From //third_party/webrtc/webrtc.gni:174 rtc_builtin_ssl_root_certificates Current value (from the default) = true @@ -4131,7 +4415,7 @@ rtc_common_public_deps Current value = ["//base"] From //.gn:46 Overridden from the default = [] - From //third_party/webrtc/webrtc.gni:262 + From //third_party/webrtc/webrtc.gni:266 Embedders can define dependencies needed by WebRTC. Dependencies can be configs or targets. This can be defined in their `.gn` file. @@ -4143,26 +4427,26 @@ rtc_common_public_deps rtc_disable_check_msg Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:328 + From //third_party/webrtc/webrtc.gni:335 Set this to true to disable detailed error message and logging for RTC_CHECKs. rtc_disable_logging Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:321 + From //third_party/webrtc/webrtc.gni:328 Set this to true to fully remove logging from WebRTC. rtc_disable_metrics Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:331 + From //third_party/webrtc/webrtc.gni:338 Set this to true to disable webrtc metrics. rtc_disable_trace_events Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:324 + From //third_party/webrtc/webrtc.gni:331 Set this to true to disable trace events. @@ -4176,20 +4460,14 @@ rtc_dlog_always_on rtc_enable_android_aaudio Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:160 + From //third_party/webrtc/webrtc.gni:157 Experimental: enable use of Android AAudio which requires Android SDK 26 or above and NDK r16 or above. rtc_enable_avx2 Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:307 - -rtc_enable_bwe_test_logging - Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:135 - - Set this to true to enable BWE test logging. + From //third_party/webrtc/webrtc.gni:314 rtc_enable_external_auth Current value (from the default) = true @@ -4207,13 +4485,13 @@ rtc_enable_google_benchmarks rtc_enable_grpc Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:343 + From //third_party/webrtc/webrtc.gni:346 Enable gRPC used for negotiation in multiprocess tests rtc_enable_libevent Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:293 + From //third_party/webrtc/webrtc.gni:300 rtc_enable_objc_symbol_export Current value (from the default) = false @@ -4227,26 +4505,26 @@ rtc_enable_objc_symbol_export rtc_enable_protobuf Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:274 + From //third_party/webrtc/webrtc.gni:281 Enables the use of protocol buffers for debug recordings. rtc_enable_sctp Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:277 + From //third_party/webrtc/webrtc.gni:284 Set this to disable building with support for SCTP data channels. rtc_enable_symbol_export Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:48 + From //third_party/webrtc/webrtc.gni:52 Setting this to true will make RTC_EXPORT (see rtc_base/system/rtc_export.h) expand to code that will manage symbols visibility. rtc_enable_win_wgc Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:234 + From //third_party/webrtc/webrtc.gni:238 When set to true, a capturer implementation that uses the Windows.Graphics.Capture APIs will be available for use. This introduces a @@ -4284,16 +4562,9 @@ rtc_exclude_system_time SystemTimeNanos() which is defined in rtc_base/system_time.cc. In that case a new implementation needs to be provided. -rtc_exclude_transient_suppressor - Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:335 - - Set this to true to exclude the transient suppressor in the audio processing - module from the build. - rtc_include_builtin_audio_codecs Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:221 + From //third_party/webrtc/webrtc.gni:225 When set to false, builtin audio encoder/decoder factories and all the audio codecs they depend on will not be included in libwebrtc.{a|lib} @@ -4302,7 +4573,7 @@ rtc_include_builtin_audio_codecs rtc_include_dav1d_in_internal_decoder_factory Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:237 + From //third_party/webrtc/webrtc.gni:241 Includes the dav1d decoder in the internal decoder factory when set to true. @@ -4316,7 +4587,7 @@ rtc_include_ilbc rtc_include_internal_audio_device Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:302 + From //third_party/webrtc/webrtc.gni:309 Chromium uses its own IO handling, so the internal ADM is only built for standalone WebRTC. @@ -4329,30 +4600,23 @@ rtc_include_opus rtc_include_pulse_audio Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:298 + From //third_party/webrtc/webrtc.gni:305 Excluded in Chromium since its prerequisites don't require Pulse Audio. rtc_include_tests Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:314 + From //third_party/webrtc/webrtc.gni:321 Set this to true to build the unit tests. Disabled when building with Chromium or Mozilla. rtc_ios_use_opengl_rendering Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:215 + From //third_party/webrtc/webrtc.gni:219 Determines whether OpenGL is available on iOS. -rtc_jni_generator_legacy_symbols - Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:54 - - If set to true, C++ code will refer to the new JNI Generator symbols. - If set to false the old ones will be used (to provide a nice update path). - rtc_jsoncpp_root Current value (from the default) = "//third_party/jsoncpp/source/include" From //third_party/webrtc/webrtc.gni:117 @@ -4362,17 +4626,17 @@ rtc_jsoncpp_root rtc_libvpx_build_vp9 Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:283 + From //third_party/webrtc/webrtc.gni:290 rtc_link_pipewire Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:153 + From //third_party/webrtc/webrtc.gni:150 Set this to link PipeWire and required libraries directly instead of using the dlopen. rtc_objc_prefix Current value (from the default) = "" - From //third_party/webrtc/webrtc.gni:253 + From //third_party/webrtc/webrtc.gni:257 If different from "", symbols exported with RTC_OBJC_EXPORT will be prefixed with this string. @@ -4393,13 +4657,13 @@ rtc_opus_variable_complexity rtc_prefer_fixed_point Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:170 + From //third_party/webrtc/webrtc.gni:167 Selects fixed-point code where possible. rtc_sanitize_coverage Current value (from the default) = "" - From //third_party/webrtc/webrtc.gni:167 + From //third_party/webrtc/webrtc.gni:164 Set to "func", "block", "edge" for coverage generation. At unit test runtime set UBSAN_OPTIONS="coverage=1". @@ -4416,7 +4680,7 @@ rtc_ssl_root rtc_strict_field_trials Current value (from the default) = "" - From //third_party/webrtc/webrtc.gni:248 + From //third_party/webrtc/webrtc.gni:252 When enabled, a run-time check will make sure that all field trial keys have been registered in accordance with the field trial policy, see @@ -4428,32 +4692,42 @@ rtc_strict_field_trials "warn": RTC_LOGs a message with LS_WARNING severity if the field trial hasn't been registered. +rtc_system_openh264 + Current value (from the default) = false + From //third_party/webrtc/webrtc.gni:190 + + Use system OpenH264 + rtc_use_absl_mutex Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:196 + From //third_party/webrtc/webrtc.gni:200 Enable this flag to make webrtc::Mutex be implemented by absl::Mutex. rtc_use_dummy_audio_file_devices Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:200 + From //third_party/webrtc/webrtc.gni:204 By default, use normal platform audio support or dummy audio, but don't use file-based audio playout and record. rtc_use_h264 Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:190 + From //third_party/webrtc/webrtc.gni:187 rtc_use_h265 Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:193 + From //third_party/webrtc/webrtc.gni:194 - Enable to use H265 +rtc_use_perfetto + Current value (from the default) = false + From //third_party/webrtc/webrtc.gni:269 + + When true, include the Perfetto library. rtc_use_pipewire Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:150 + From //third_party/webrtc/webrtc.gni:147 Set this to use PipeWire on the Wayland display server. By default it's only enabled on desktop Linux (excludes ChromeOS) and @@ -4462,20 +4736,20 @@ rtc_use_pipewire rtc_use_x11 Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:144 + From //third_party/webrtc/webrtc.gni:141 Set this to false to skip building code that requires X11. rtc_use_x11_extensions Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:318 + From //third_party/webrtc/webrtc.gni:325 Set this to false to skip building code that also requires X11 extensions such as Xdamage, Xfixes. rtc_win_undef_unicode Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:229 + From //third_party/webrtc/webrtc.gni:233 When set to true and in a standalone build, it will undefine UNICODE and _UNICODE (which are always defined globally by the Chromium Windows @@ -4486,7 +4760,14 @@ rtc_win_undef_unicode runtime_call_stats_count_everything Current value (from the default) = false - From //third_party/blink/renderer/platform/BUILD.gn:225 + From //third_party/blink/renderer/platform/BUILD.gn:236 + +rust_bindgen_root + Current value (from the default) = "//third_party/rust-toolchain" + From //build/config/rust.gni:61 + + Directory under which to find `bin/bindgen` (a `bin` directory containing + the bindgen exectuable). rust_sysroot_absolute Current value (from the default) = "" @@ -4500,14 +4781,14 @@ rust_sysroot_absolute rust_toolchain_supports_nacl Current value (from the default) = false - From //build/config/rust.gni:67 + From //build/config/rust.gni:71 If you're using a Rust toolchain as specified by rust_sysroot_absolute, you can specify whether it supports nacl here. rustc_version Current value (from the default) = "" - From //build/config/rust.gni:63 + From //build/config/rust.gni:67 If you're using a Rust toolchain as specified by rust_sysroot_absolute, set this to the output of `rustc -V`. Changing this string will cause all @@ -4518,18 +4799,31 @@ safe_browsing_mode Current value (from the default) = 1 From //components/safe_browsing/buildflags.gni:20 +safe_browsing_use_unrar + Current value (from the default) = true + From //components/safe_browsing/buildflags.gni:24 + + Allows building without //third_party/unrar included, for license reasons + sample_profile_is_accurate Current value (from the default) = false - From //build/config/compiler/compiler.gni:150 + From //build/config/compiler/compiler.gni:143 Whether we should consider the profile we're using to be accurate. Accurate profiles have the benefit of (potentially substantial) binary size reductions, by instructing the compiler to optimize cold and uncovered functions heavily for size. This often comes at the cost of performance. +sanitizer_coverage_allowlist + Current value (from the default) = "" + From //build/config/sanitizers/sanitizers.gni:113 + + A sanitizer coverage allowlist, specifying exactly which + files or symbol names should be instrumented, rather than all of them. + sanitizer_coverage_flags Current value (from the default) = "" - From //build/config/sanitizers/sanitizers.gni:97 + From //build/config/sanitizers/sanitizers.gni:109 Value for -fsanitize-coverage flag. Setting this causes use_sanitizer_coverage to be enabled. @@ -4542,32 +4836,32 @@ sanitizer_coverage_flags save_reproducers_on_lld_crash Current value (from the default) = false - From //build/config/compiler/BUILD.gn:188 + From //build/config/compiler/BUILD.gn:184 If true, linker crashes will be rerun with `--reproduce` which causes a reproducer file to be saved. seed_corpus_dir - Current value (from the default) = "//out/test/gen/components/viz/service/compositor_frame_fuzzer/binary_seed_corpus" + Current value (from the default) = "//out/default/gen/components/viz/service/compositor_frame_fuzzer/binary_seed_corpus" From //components/viz/service/compositor_frame_fuzzer/BUILD.gn:9 show_includes Current value (from the default) = false - From //build/config/compiler/BUILD.gn:179 + From //build/config/compiler/BUILD.gn:175 Enable -H, which prints the include tree during compilation. For use by tools/clang/scripts/analyze_includes.py simple_template_names Current value (from the default) = true - From //build/config/compiler/BUILD.gn:207 + From //build/config/compiler/BUILD.gn:203 Use DWARF simple template names, with the following exceptions: * Windows is not supported as it doesn't use DWARF. * Apple platforms (e.g. MacOS, iPhone, iPad) aren't supported because xcode lldb doesn't have the needed changes yet. - TODO(crbug.com/1379070): Remove if the upstream default ever changes. + TODO(crbug.com/40244196): Remove if the upstream default ever changes. This greatly reduces the size of debug builds, at the cost of debugging information which is required by some specialized @@ -4575,11 +4869,11 @@ simple_template_names skia_enable_skshaper Current value (from the default) = true - From //third_party/skia/modules/skshaper/skshaper.gni:38 + From //third_party/skia/modules/skshaper/skshaper.gni:48 skia_enable_skshaper_tests Current value (from the default) = true - From //third_party/skia/modules/skshaper/skshaper.gni:41 + From //third_party/skia/modules/skshaper/skshaper.gni:51 skia_use_dawn Current value (from the default) = true @@ -4598,7 +4892,7 @@ skia_use_metal skip_buildtools_check Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:342 + From //third_party/perfetto/gn/perfetto.gni:361 Skip buildtools dependency checks (needed for ChromeOS). @@ -4610,9 +4904,17 @@ strip_debug_info reduce size. As long as symbol_level > 0, this will still allow stacks to be symbolized. +structured_metrics_debug_enabled + Current value (from the default) = true + From //components/metrics/structured/buildflags/buildflags.gni:10 + +structured_metrics_enabled + Current value (from the default) = true + From //components/metrics/structured/buildflags/buildflags.gni:8 + subpixel_font_rendering_disabled Current value (from the default) = false - From //gpu/ipc/service/BUILD.gn:14 + From //gpu/ipc/service/BUILD.gn:16 support_external_google_api_key Current value (from the default) = false @@ -4634,7 +4936,7 @@ supports_subzero Current value (from the default) = true From //third_party/swiftshader/src/Reactor/reactor.gni:13 - Subzero doesn't support ARM64, MIPS64, PPC64, and RISCV64 (only x86 and ARMv7a). + Subzero doesn't support ARM64, LOONGARCH64, MIPS64, PPC64, and RISCV64 (only x86 and ARMv7a). swiftshader_optimized_debug_build Current value (from the default) = true @@ -4678,7 +4980,7 @@ sysroot system_headers_in_deps Current value (from the default) = false - From //build/toolchain/gcc_toolchain.gni:38 + From //build/toolchain/gcc_toolchain.gni:37 Use -MD instead of -MMD for compiler commands. This is useful for tracking the comprehensive set of dependencies. It's also required when building @@ -4714,14 +5016,6 @@ target_environment default is only there for compatibility reasons and will be removed (see crbug.com/1138425 for more details). -target_is_ios_device - Current value (from the default) = false - From //v8/gni/v8.gni:147 - - iOS device does not support executable code pages. Not we - use target_os == "ios" here because it isn't equivalent - to is_ios (is_ios is based on host_os). - target_os Current value (from the default) = "" (Internally set; try `gn help target_os`.) @@ -4746,6 +5040,12 @@ target_sysroot_dir The path to directory containing linux sysroot images. +temporal_pgo_profile + Current value (from the default) = false + From //build/config/compiler/pgo/pgo.gni:39 + + Whether to enable temporal pgo or not (experimental). + tests_have_location_tags Current value (from the default) = true From //testing/test.gni:21 @@ -4756,8 +5056,8 @@ tests_have_location_tags And, some build configs may simply turn off generation altogether. thin_lto_enable_cache - Current value (from the default) = true - From //build/config/compiler/BUILD.gn:139 + Current value (from the default) = false + From //build/config/compiler/BUILD.gn:135 Whether to enable thin lto incremental builds. See: https://clang.llvm.org/docs/ThinLTO.html#incremental @@ -4765,51 +5065,84 @@ thin_lto_enable_cache thin_lto_enable_optimizations Current value (from the default) = false - From //build/config/compiler/BUILD.gn:133 + From //build/config/compiler/BUILD.gn:129 + +thorium_debug + Current value (from the default) = true + From //base/debug/debug.gni:35 + + A special build flag for the Thorium debug builds. + + This enables stack traces in logs and non-fatalizes DCHECKs. + Ultimately, it should help users collect necessary data for browser issues + without setting up a dedicated debugger. tint_build_benchmarks Current value (from the default) = true - From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:134 + From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:155 tint_build_cmds Current value (from the default) = false - From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:74 + From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:85 tint_build_glsl_validator Current value (from the default) = true - From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:114 + From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:125 tint_build_glsl_writer Current value (from the default) = true - From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:109 + From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:120 tint_build_hlsl_writer Current value (from the default) = true - From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:104 + From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:115 tint_build_ir_binary Current value (from the default) = true - From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:124 + From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:135 + +tint_build_ir_fuzzer + Current value (from the default) = false + From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:140 tint_build_msl_writer Current value (from the default) = true - From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:99 + From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:110 tint_build_syntax_tree_writer Current value (from the default) = false - From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:119 + From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:130 + +tint_build_tintd + Current value (from the default) = false + From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:145 tint_build_unittests Current value (from the default) = true - From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:129 + From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:150 tint_glslang_dir - Current value (from the default) = "//third_party/vulkan-deps/glslang/src" - From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:60 + Current value (from the default) = "//third_party/glslang/src" + From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:66 + +tint_has_protobuf + Current value (from the default) = true + From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:49 + +tint_lpm_dir + Current value (from the default) = "//third_party/libprotobuf-mutator" + From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:81 tint_src_dir Current value (from the default) = "//third_party/dawn/src/tint" - From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:141 + From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:162 + +toolchain_allows_use_partition_alloc_as_malloc + Current value (from the default) = true + From //build/toolchain/toolchain.gni:36 + + If false, the toolchain overrides `use_partition_alloc_as_malloc` in + PartitionAlloc, to allow use of the system allocator. toolchain_for_rust_host_build_tools Current value (from the default) = false @@ -4821,7 +5154,7 @@ toolchain_for_rust_host_build_tools toolchain_supports_rust_thin_lto Current value (from the default) = true - From //build/config/rust.gni:78 + From //build/config/rust.gni:82 Whether artifacts produced by the Rust compiler can participate in ThinLTO. @@ -4830,7 +5163,7 @@ toolchain_supports_rust_thin_lto compilation artifacts produced by `rustc`). In LaCrOS and ash builds this may not be true - see b/299483903. - TODO(https://crbug.com/1482525): Re-enable ThinLTO for Rust on LaCrOS + TODO(crbug.com/40281834): Re-enable ThinLTO for Rust on LaCrOS TODO(b/300937673): Re-enable ThinLTO for Rust on ash-chrome toolkit_views @@ -4850,16 +5183,16 @@ treat_warnings_as_errors use_afl Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:76 + From //build/config/sanitizers/sanitizers.gni:85 Compile for fuzzing with AFL. use_allocator_shim Current value (from the default) = true - From //base/allocator/partition_allocator/partition_alloc.gni:39 + From //base/allocator/partition_allocator/partition_alloc.gni:40 Causes all the allocations to be routed via allocator_shim.cc. Usually, - the allocator shim will, in turn, route them to Partition Alloc, but + the allocator shim will, in turn, route them to PartitionAlloc, but other allocators are also supported by the allocator shim. use_alsa @@ -4872,7 +5205,7 @@ use_amdgpu_minigbm use_android_unwinder_v2 Current value (from the default) = true - From //build/config/compiler/compiler.gni:144 + From //build/config/compiler/compiler.gni:137 Set to true to use the android unwinder V2 implementation. @@ -4885,13 +5218,7 @@ use_arc_protected_media use_asan_backup_ref_ptr Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:163 - -use_asan_unowned_ptr - Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:167 - - Use probe-on-destruct unowned ptr detection with ASAN. + From //base/allocator/partition_allocator/partition_alloc.gni:190 use_aura Current value (from the default) = true @@ -4906,6 +5233,41 @@ use_av1_hw_decoder A platform that is capable of hardware av1 decoding. +use_avx + Current value (from the default) = false + From //build/config/compiler_opt.gni:71 + + AVX + Normal Thorium baseline + Present since Sandy Bridge (2011 2nd Gen. Core i series) + and AMD Bulldozer (2012 AMD FX). + Requires Windows 7 SP1 / Linux 2.6.30 or later to use. + Uses new 128 bit registers and CPU blocks; a new era of SIMD. + Includes AES and PCLMUL `-maes -mpclmul -mavx` + +use_avx2 + Current value (from the default) = false + From //build/config/compiler_opt.gni:79 + + AVX2 (x86-64-v3) + Second generation AVX, expanded to 256-bit registers. + Present since Haswell (4th Gen. Core i series), and + AMD Excavator (4th Gen. refinement of Bulldozer cores) and + Zen (1st Gen. Ryzen). + Includes FMA3 `-mfma -mavx2` (`-ffp-contract` see below at FMA section) + +use_avx512 + Current value (from the default) = false + From //build/config/compiler_opt.gni:88 + + AVX-512 + Third generation AVX, expanded to 512-bit registers. + Present since Skylake (Specifically Skylake-X "Extreme Edition" + processors), and AMD Zen 4 (4th Gen. Ryzen 7000). + Only uses AVX-512 instructions common to all processors. + `-mavx512f -mavx512cd -mavx512vl -mavx512bw -mavx512dq + -mf16c -mlzcnt -mbmi2` + use_base_test_suite Current value (from the default) = true From //sandbox/linux/BUILD.gn:22 @@ -4922,10 +5284,31 @@ use_blink_extensions_chromeos If true, the experimental renderer extensions library will be used. +use_blink_extensions_webview + Current value (from the default) = false + From //third_party/blink/renderer/config.gni:57 + + If true, the WebView renderer extensions library will be used. + + Android WebView and Chrome on Android both use the same build configuration + for Blink, and may use a common installation of the Blink libraries on a + device. There is no precise concept of "is_webview". As such, Chrome on + Android technically has the WebView extensions available in its version of + Blink; however, the extensions are default-disabled. Chrome (and any other + non-WebView products) should never attempt to enable the extensions at + runtime. + use_bluez Current value (from the default) = true From //device/bluetooth/cast_bluetooth.gni:5 +use_bolt + Current value (from the default) = false + From //build/config/compiler_opt.gni:19 + + Whether to enable LLVM's BOLT optimizations. + See https://github.com/llvm/llvm-project/blob/main/bolt/README.md + use_bundled_fontconfig Current value (from the default) = true From //third_party/fontconfig/fontconfig.gni:11 @@ -4938,14 +5321,14 @@ use_bundled_weston use_centipede Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:73 + From //build/config/sanitizers/sanitizers.gni:82 Compile for fuzzing with centipede. See https://github.com/google/centipede use_cfi_cast Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:122 + From //build/config/sanitizers/sanitizers.gni:136 Enable checks for bad casts: derived cast and unrelated cast. TODO(krasin): remove this, when we're ready to add these checks by default. @@ -4953,21 +5336,25 @@ use_cfi_cast use_cfi_diag Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:61 + From //build/config/sanitizers/sanitizers.gni:70 Print detailed diagnostics when Control Flow Integrity detects a violation. use_cfi_icall Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:58 + From //build/config/sanitizers/sanitizers.gni:67 use_cfi_recover Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:65 + From //build/config/sanitizers/sanitizers.gni:74 Let Control Flow Integrity continue execution instead of crashing when printing diagnostics (use_cfi_diag = true). +use_chromeos_model_service + Current value (from the default) = false + From //services/on_device_model/on_device_model.gni:15 + use_chromeos_protected_av1 Current value (from the default) = false From //media/gpu/args.gni:39 @@ -4995,7 +5382,7 @@ use_clang_profiling use_clang_profiling_inside_sandbox Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:229 + From //build/config/sanitizers/sanitizers.gni:270 use_command_buffer Current value (from the default) = false @@ -5015,14 +5402,14 @@ use_crash_key_stubs use_cups Current value (from the default) = true - From //printing/buildflags/buildflags.gni:40 + From //printing/buildflags/buildflags.gni:36 use_cups_ipp - Current value (from the default) = false - From //printing/buildflags/buildflags.gni:74 + Current value (from the default) = true + From //printing/buildflags/buildflags.gni:66 Enables the CUPS IPP printing backend. - TODO(crbug.com/226176): Remove this after CUPS PPD API calls are removed. + TODO(crbug.com/41003486): Remove this after CUPS PPD API calls are removed. use_custom_libcxx Current value (from the default) = true @@ -5054,14 +5441,14 @@ use_custom_libunwind use_cxx17 Current value (from the default) = false - From //build_overrides/build.gni:58 + From //build_overrides/build.gni:54 Allow projects that wish to stay on C++17 to override Chromium's default. - TODO(crbug.com/1402249): evaluate removing this end of 2023 + TODO(crbug.com/40251117): evaluate removing this end of 2023 use_dawn Current value (from the default) = true - From //ui/gl/features.gni:21 + From //ui/gl/features.gni:16 Should Dawn support be compiled to back the WebGPU implementation? Also controls linking Dawn dependencies in such as SPIRV-Tools/SPIRV-Cross. @@ -5071,19 +5458,18 @@ use_dbus From //build/config/features.gni:37 use_debug_fission - Current value (from the default) = "default" - From //build/config/compiler/compiler.gni:81 + Current value (from the default) = true + From //build/config/compiler/compiler.gni:76 use_debug_fission: whether to use split DWARF debug info files. This can reduce link time significantly, but is incompatible with some utilities such as icecc and ccache. Requires gold and gcc >= 4.8 or clang. http://gcc.gnu.org/wiki/DebugFission - - This is a placeholder value indicating that the code below should set - the default. This is necessary to delay the evaluation of the default - value expression until after its input values such as use_gold have - been set, e.g. by a toolchain_args() block. + +use_distributed_point_functions + Current value (from the default) = true + From //third_party/distributed_point_functions/features.gni:6 use_dummy_lastchange Current value (from the default) = true @@ -5091,14 +5477,10 @@ use_dummy_lastchange use_dwarf5 Current value (from the default) = false - From //build/config/compiler/BUILD.gn:167 + From //build/config/compiler/BUILD.gn:163 Enable DWARF v5. -use_egl - Current value (from the default) = true - From //ui/gl/features.gni:17 - use_evdev_gestures Current value (from the default) = false From //ui/events/ozone/evdev/BUILD.gn:15 @@ -5107,7 +5489,7 @@ use_evdev_gestures use_external_fuzzing_engine Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:79 + From //build/config/sanitizers/sanitizers.gni:91 Compile for fuzzing with an external engine (e.g., Grammarinator). @@ -5121,13 +5503,40 @@ use_exynos_minigbm Current value (from the default) = false From //third_party/minigbm/BUILD.gn:18 +use_fake_screen_ai + Current value (from the default) = false + From //services/screen_ai/buildflags/features.gni:19 + + Screen AI library is not available for MSAN and UBSAN. + +use_fma + Current value (from the default) = false + From //build/config/compiler_opt.gni:97 + + FMA + "Fused Multiply Add" operations + Present since Haswell and AMD Piledriver (2nd Gen. refinement + of Bulldozer). + `-mfma -ffp-contract=fast` (use -mfma3 -mfma4 for Piledriver) + use_freeslot_bitmap Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:103 + From //base/allocator/partition_allocator/partition_alloc.gni:121 + +use_full_mte + Current value (from the default) = false + From //base/allocator/partition_allocator/partition_alloc.gni:270 + + Use full MTE protection available by changing the feature flag default + values. So sync mode on all processes. Also disables permissive MTE. + + This is meant to be used primarily on bots. It is much easier to override + the feature flags using a binary flag instead of updating multiple bots's + scripts to pass command line arguments. use_full_pdb_paths Current value (from the default) = false - From //build/config/compiler/BUILD.gn:175 + From //build/config/compiler/BUILD.gn:171 Override this to put full paths to PDBs in Windows PE files. This helps windbg and Windows Performance Analyzer with finding the PDBs in some local- @@ -5136,6 +5545,20 @@ use_full_pdb_paths Bugs have been reported to the windbg/WPA teams and this workaround will be removed when they are fixed. +use_fuzzilli + Current value (from the default) = false + From //build/config/sanitizers/sanitizers.gni:88 + + Compile for fuzzing with Fuzzilli. + +use_fuzztest_wrapper + Current value (from the default) = true + From //testing/libfuzzer/BUILD.gn:19 + + Build individual_fuzztest_wrapper if use_fuzztest_wrapper is set. + Some projects doesn't have //base and cannot build + individual_fuzztest_wrapper. + use_gcm_from_platform Current value (from the default) = false From //components/gcm_driver/config.gni:8 @@ -5145,7 +5568,7 @@ use_gcm_from_platform use_ghash Current value (from the default) = true - From //build/config/compiler/BUILD.gn:123 + From //build/config/compiler/BUILD.gn:119 Turn this on to use ghash feature of lld for faster debug link on Windows. http://blog.llvm.org/2018/01/improving-link-time-on-windows-with.html @@ -5158,32 +5581,6 @@ use_glib Current value (from the default) = true From //build/config/ui.gni:36 -use_gold - Current value (from the default) = false - From //build/config/compiler/compiler.gni:245 - - Whether to use the gold linker from binutils instead of lld or bfd. - -use_goma - Current value (from the default) = false - From //build/toolchain/goma.gni:11 - - Set to true to enable distributed compilation using Goma. - -use_goma_rust - Current value (from the default) = false - From //build/config/rust.gni:95 - - Use goma for Rust builds. Experimental. The only known problem is - b/193072381, but then again, we don't expect a build speedup before much - more work is done. - -use_goma_thin_lto - Current value (from the default) = false - From //build/config/compiler/compiler.gni:99 - - If true, use Goma for ThinLTO code generation where applicable. - use_gtk Current value (from the default) = true From //build/config/linux/gtk/gtk.gni:9 @@ -5192,23 +5589,15 @@ use_gtk use_hashed_jni_names Current value (from the default) = false - From //third_party/jni_zero/jni_zero.gni:15 + From //third_party/jni_zero/jni_zero.gni:26 - Use hashed symbol names to reduce JNI symbol overhead. + Use hashed symbol names to reduce JNI symbol overhead when not multiplexing. use_icf Current value (from the default) = false - From //build/config/compiler/BUILD.gn:220 + From //build/config/compiler/BUILD.gn:208 Set to true to use icf, Identical Code Folding. - - icf=all is broken in older golds, see - https://sourceware.org/bugzilla/show_bug.cgi?id=17704 - chromeos binutils has been patched with the fix, so always use icf there. - The bug only affects x86 and x64, so we can still use ICF when targeting - other architectures. - - lld doesn't have the bug. use_intel_minigbm Current value (from the default) = false @@ -5255,7 +5644,7 @@ use_javascript_coverage use_kerberos Current value (from the default) = true - From //net/features.gni:21 + From //net/features.gni:24 Enable Kerberos authentication. It is disabled by default on iOS, Fuchsia and Chromecast, at least for now. This feature needs configuration @@ -5264,14 +5653,23 @@ use_kerberos use_layout_plugin Current value (from the default) = true - From //third_party/blink/renderer/core/BUILD.gn:100 + From //third_party/blink/renderer/core/BUILD.gn:102 Set to true to enable the clang layout plugin that help you to follow the layout-related restrictions during compilation. +use_libcxx_modules + Current value (from the default) = false + From //build/config/c++/c++.gni:46 + + Use Clang header modules for libc++. + This is experimental only (see crbug.com/543704). + For details on the current state of modules in Chromium see + https://chromium.googlesource.com/chromium/src/+/main/docs/modules.md + use_libfuzzer Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:69 + From //build/config/sanitizers/sanitizers.gni:78 Compile for fuzzing with LLVM LibFuzzer. See http://www.chromium.org/developers/testing/libfuzzer @@ -5295,13 +5693,13 @@ use_libjpeg_turbo use_libpci Current value (from the default) = true - From //third_party/angle/BUILD.gn:31 + From //third_party/angle/BUILD.gn:35 Use the PCI lib to collect GPU information on Linux. use_lld Current value (from the default) = true - From //build/config/compiler/compiler.gni:38 + From //build/config/compiler/compiler.gni:37 Set to true to use lld, the LLVM linker. In late bring-up on macOS (see docs/mac_lld.md). @@ -5310,11 +5708,19 @@ use_lld use_locally_built_instrumented_libraries Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:44 + From //build/config/sanitizers/sanitizers.gni:53 Use dynamic libraries instrumented by one of the sanitizers instead of the standard system libraries. Set this flag to build the libraries from source. +use_login_database_as_backend + Current value (from the default) = true + From //components/password_manager/core/browser/buildflags.gni:12 + + The legacy password store backend is supported on android but usually disabled + in favor of a downstream implementation. Important: the support for this flag + is planned to be removed in November 2024. + use_low_quality_image_interpolation Current value (from the default) = false From //third_party/blink/renderer/config.gni:43 @@ -5343,7 +5749,7 @@ use_message_port_core use_ml_inliner Current value (from the default) = false - From //build/config/compiler/compiler.gni:140 + From //build/config/compiler/compiler.gni:133 Set to true to enable using the ML inliner in LLVM. This currently only enables the ML inliner when targeting Android. @@ -5368,7 +5774,7 @@ use_nss_certs use_official_enterprise_connectors_api_keys Current value (from the default) = false - From //chrome/browser/BUILD.gn:71 + From //chrome/browser/BUILD.gn:74 You can set the variable 'use_official_enterprise_connectors_api_keys' to true to use the Google-internal file containing official API keys @@ -5413,7 +5819,7 @@ use_pangocairo use_partition_alloc Current value (from the default) = true - From //base/allocator/partition_allocator/partition_alloc.gni:58 + From //base/allocator/partition_allocator/partition_alloc.gni:59 Whether PartitionAlloc should be available for use or not. true makes PartitionAlloc linked to the executable or shared library and @@ -5435,18 +5841,14 @@ use_partition_alloc use_partition_alloc_as_malloc Current value (from the default) = true - From //base/allocator/partition_allocator/partition_alloc.gni:85 + From //base/allocator/partition_allocator/partition_alloc.gni:76 PartitionAlloc-Everywhere (PA-E). Causes allocator_shim.cc to route calls to PartitionAlloc, rather than some other platform allocator. -use_perfetto_client_library - Current value (from the default) = true - From //build_overrides/build.gni:42 - use_perfetto_trace_processor Current value (from the default) = true - From //build_overrides/build.gni:65 + From //build_overrides/build.gni:61 Use Perfetto's trace processor for converting protobuf-encoded traces to the legacy JSON format in base::TraceLog. @@ -5458,9 +5860,16 @@ use_platform_icu_alternatives Enables the use of ICU alternatives in lieu of ICU for the target toolchain. The flag is used for Cronet to reduce the size of the Cronet binary. +use_polly + Current value (from the default) = false + From //build/config/compiler_opt.gni:15 + + Whether to enable LLVM's Polly optimizations. + See https://polly.llvm.org/ + use_profi Current value (from the default) = false - From //build/config/compiler/BUILD.gn:184 + From //build/config/compiler/BUILD.gn:180 Enable Profi algorithm. Profi can infer block and edge counts. https://clang.llvm.org/docs/UsersManual.html#using-sampling-profilers @@ -5474,7 +5883,7 @@ use_qt Current value (from the default) = true From //ui/qt/qt.gni:12 - TODO(https://crbug.com/1424435): Allow QT in MSAN builds once QT is + TODO(crbug.com/40260415): Allow QT in MSAN builds once QT is added to the instrumented libraries. use_qt6 @@ -5485,15 +5894,45 @@ use_radeon_minigbm Current value (from the default) = false From //third_party/minigbm/BUILD.gn:24 +use_raw_ptr_asan_unowned_impl + Current value (from the default) = false + From //base/allocator/partition_allocator/partition_alloc.gni:194 + + Use probe-on-destruct unowned ptr detection with ASAN. + +use_raw_ptr_backup_ref_impl + Current value (from the default) = true + From //base/allocator/partition_allocator/partition_alloc.gni:180 + + We want to use RawPtrBackupRefImpl as the raw_ptr<> implementation + iff BRP support is enabled. However, for purpose of performance + investigations we want to be able to control each separately. + + TEST ONLY! Don't touch unless you think you know what you're doing. Play + with enable_backup_ref_ptr_support instead. + use_real_dbus_clients Current value (from the default) = false From //chromeos/dbus/config/use_real_dbus_clients.gni:9 Instantiate real D-Bus clients instead of fakes. +use_reclient + Current value (from the default) = false + From //build/toolchain/rbe.gni:35 + + Use Reclient as the RBE client by default. + Set to false to use Siso's builtin RBE client. + +use_reclient_links + Current value (from the default) = false + From //build/toolchain/rbe.gni:29 + + Set to true to enable remote linking using reclient. + use_relative_vtables_abi Current value (from the default) = false - From //build/config/compiler/compiler.gni:155 + From //build/config/compiler/compiler.gni:148 Use offsets rather than pointers in vtables in order to reduce the number of relocations. This is safe to enable only when all C++ code is built with the @@ -5501,15 +5940,9 @@ use_relative_vtables_abi use_remoteexec Current value (from the default) = false - From //build/toolchain/rbe.gni:14 + From //build/toolchain/rbe.gni:26 - Set to true to enable remote compilation using reclient. - -use_remoteexec_links - Current value (from the default) = false - From //build/toolchain/rbe.gni:17 - - Set to true to enable remote linking using reclient. + Set to true to enable remote executions. use_rockchip_minigbm Current value (from the default) = false @@ -5517,15 +5950,23 @@ use_rockchip_minigbm use_rtti Current value (from the default) = false - From //build/config/compiler/BUILD.gn:82 + From //build/config/compiler/BUILD.gn:78 Build with C++ RTTI enabled. Chromium builds without RTTI by default, but some sanitizers are known to require it, like CFI diagnostics and UBsan variants. +use_safe_libstdcxx + Current value (from the default) = false + From //build/config/c++/c++.gni:68 + + In case the C++ standard library implementation used is libstdc++, then + enable its own hardening checks. As we cannot determine in GN if libstdc++ + is used or not, by default enable it for Linux without the custom libc++. + use_sanitizer_configs_without_instrumentation Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:102 + From //build/config/sanitizers/sanitizers.gni:118 When enabled, only relevant sanitizer defines are set, but compilation happens with no extra flags. This is useful when in component build @@ -5533,14 +5974,60 @@ use_sanitizer_configs_without_instrumentation use_sanitizer_coverage Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:218 + From //build/config/sanitizers/sanitizers.gni:184 use_siso Current value (from the default) = false From //build/toolchain/siso.gni:6 - Placeholder to allow having use_siso in args.gn files and to disable - precompiled headers in siso builds. + Placeholder to allow having use_siso in args.gn file. + autoninja switches from Ninja to Siso when use_siso=true. + +use_sse2 + Current value (from the default) = false + From //build/config/compiler_opt.gni:36 + + SSE2 + Normal x64 compiler baseline, present since Willamette (Original + 2001 Pentium 4) and AMD SledgeHammer (1st Gen. Opteron) and + the Athlon 64. Big step from MMX, x87, and SSE (i.e. SSE1) + Baseline requirement to run Windows since update KB4103718 + for Windows 7 SP1/Server 2008 R2 SP1/Home Server 2011. + +use_sse3 + Current value (from the default) = true + From //build/config/compiler_opt.gni:44 + + SSE3 + Normal Chromium baseline, present since Prescott (2004 Pentium 4) + and AMD SanDiego (2nd Gen. Opteron). + Only applicable to 32 Bit Windows and Linux builds, where + setting it to false allows making an SSE2 build. (`-mmmx -msse2`) + `-msse3` + +use_sse41 + Current value (from the default) = false + From //build/config/compiler_opt.gni:53 + + SSE4.1 + Normal PrimoBrowser baseline + Normal ThoriumOS baseline because Core 2 Duo is the lowest + hardware that other CrOS subsystems like drivers support. + Present since Penryn (2007 45nm Core 2 Duo die shrink), and + AMD Jaguar (2013 Athlon CPUs) and Bulldozer (2012 AMD FX). + Includes SSSE3 since all SSSE3 `-mssse3 -msse4.1` + +use_sse42 + Current value (from the default) = false + From //build/config/compiler_opt.gni:62 + + SSE4.2 (x86-64-v2) + Present since Nehalem (2009 1st Generation Core i series), and + the same AMD CPUs as above. + Normal LaCrOS baseline since Sept 2023. + See https://bugs.chromium.org/p/chromium/issues/detail?id=1475858 + Baseline for Windows since Windows 10 24H2. + `-msse4.2` use_static_angle Current value (from the default) = false @@ -5642,6 +6129,13 @@ use_system_libtiff Don't build against bundled libtiff. +use_system_libwayland + Current value (from the default) = false + From //third_party/wayland/features.gni:8 + + Controls whether the build should use the version of Wayland + library shipped with the system or Chromium third_party. + use_system_minigbm Current value (from the default) = true From //third_party/minigbm/BUILD.gn:15 @@ -5662,7 +6156,7 @@ use_tegra_minigbm use_text_section_splitting Current value (from the default) = false - From //build/config/compiler/BUILD.gn:164 + From //build/config/compiler/BUILD.gn:160 This argument is to control whether enabling text section splitting in the final binary. When enabled, the separated text sections with prefix @@ -5674,13 +6168,7 @@ use_text_section_splitting use_thin_lto Current value (from the default) = false - From //build/config/compiler/compiler.gni:92 - -use_typeface_fontations - Current value (from the default) = true - From //build/config/rust.gni:127 - - Enable experimental Fontations Rust font stack. + From //build/config/compiler/compiler.gni:88 use_udev Current value (from the default) = true @@ -5704,7 +6192,7 @@ use_v4lplugin use_v8_context_snapshot Current value (from the default) = true - From //tools/v8_context_snapshot/v8_context_snapshot.gni:19 + From //tools/v8_context_snapshot/v8_context_snapshot.gni:28 use_vaapi Current value (from the default) = true @@ -5759,7 +6247,7 @@ use_xkbcommon using_mismatched_sample_profile Current value (from the default) = false - From //build/config/compiler/compiler.gni:106 + From //build/config/compiler/compiler.gni:99 Whether we're using a sample profile collected on an architecture different than the one we're compiling for. @@ -5769,32 +6257,44 @@ using_mismatched_sample_profile v8_advanced_bigint_algorithms Current value (from the default) = true - From //v8/gni/v8.gni:139 + From //v8/gni/v8.gni:155 Enable advanced BigInt algorithms, costing about 10-30 KB binary size depending on platform. Disabled on Android to save binary size. v8_allocation_site_tracking Current value (from the default) = true - From //v8/BUILD.gn:382 + From //v8/BUILD.gn:377 Enable global allocation site tracking. v8_android_log_stdout Current value (from the default) = false - From //v8/BUILD.gn:29 + From //v8/BUILD.gn:31 Print to stdout on Android. v8_annotate_torque_ir Current value (from the default) = false - From //v8/BUILD.gn:307 + From //v8/BUILD.gn:297 Generate comments describing the Torque intermediate representation. +v8_array_buffer_internal_field_count + Current value (from the default) = 0 + From //v8/BUILD.gn:73 + + Sets the number of internal fields on array buffer objects. + +v8_array_buffer_view_internal_field_count + Current value (from the default) = 0 + From //v8/BUILD.gn:76 + + Sets the number of internal fields on array buffer view objects. + v8_builtins_profiling_log_file Current value (from the default) = "default" - From //v8/BUILD.gn:218 + From //v8/BUILD.gn:217 Provides the given V8 log file as an input to mksnapshot, where it can be used for profile-guided optimization of builtins. @@ -5816,13 +6316,13 @@ v8_builtins_profiling_log_file v8_can_use_fpu_instructions Current value (from the default) = true - From //v8/BUILD.gn:247 + From //v8/BUILD.gn:246 Similar to vfp but on MIPS. v8_check_header_includes Current value (from the default) = false - From //v8/BUILD.gn:262 + From //v8/BUILD.gn:261 Check that each header can be included in isolation (requires also setting the "check_v8_header_includes" gclient variable to run a @@ -5830,7 +6330,7 @@ v8_check_header_includes v8_code_comments Current value (from the default) = "" - From //v8/BUILD.gn:119 + From //v8/BUILD.gn:123 Allow runtime-enabled code comments (with --code-comments). Enabled by default in debug builds. @@ -5838,15 +6338,15 @@ v8_code_comments v8_context_snapshot_filename Current value (from the default) = "v8_context_snapshot.bin" - From //tools/v8_context_snapshot/v8_context_snapshot.gni:43 + From //tools/v8_context_snapshot/v8_context_snapshot.gni:53 v8_control_flow_integrity Current value (from the default) = false - From //v8/BUILD.gn:318 + From //v8/BUILD.gn:308 v8_correctness_fuzzer Current value (from the default) = false - From //v8/gni/v8.gni:16 + From //v8/gni/v8.gni:18 Includes files needed for correctness fuzzing. @@ -5859,83 +6359,106 @@ v8_current_cpu v8_custom_deps Current value (from the default) = "" - From //v8/BUILD.gn:32 + From //v8/BUILD.gn:34 Dynamically set an additional dependency from v8/custom_deps. +v8_dcheck_always_on + Current value (from the default) = true + From //v8/BUILD.gn:445 + +v8_depend_on_icu_data_file + Current value (from the default) = true + From //v8/BUILD.gn:451 + + Remote builds require an explicit dependency on icudat, but + this breaks locally building V8 with ICU support when the file + isn't present, which some embedders rely on. This option controls + the explicit dependency and allows the build to complete. + v8_deprecation_warnings Current value (from the default) = true - From //v8/BUILD.gn:57 + From //v8/BUILD.gn:55 Enable compiler warnings when using V8_DEPRECATED apis. v8_dict_property_const_tracking Current value (from the default) = false - From //v8/BUILD.gn:361 + From //v8/BUILD.gn:356 Experimental feature for tracking constness of properties in non-global dictionaries. Enabling this also always keeps prototypes in dict mode, meaning that they are not switched to fast mode. Sets -DV8_DICT_PROPERTY_CONST_TRACKING +v8_disable_leaptiering + Current value (from the default) = "" + From //v8/BUILD.gn:331 + + Explicitly disable leaptiering (on builds where it would otherwise be enabled). + v8_disable_write_barriers Current value (from the default) = false - From //v8/BUILD.gn:282 + From //v8/BUILD.gn:272 Disable write barriers when GCs are non-incremental and heap has single generation. +v8_drumbrake_bounds_checks + Current value (from the default) = false + From //v8/BUILD.gn:395 + v8_embed_script Current value (from the default) = "" - From //v8/BUILD.gn:63 + From //v8/BUILD.gn:61 Embeds the given script into the snapshot. v8_embedder_string Current value (from the default) = "" - From //v8/BUILD.gn:66 + From //v8/BUILD.gn:64 Allows the embedder to add a custom suffix to the version string. v8_enable_31bit_smis_on_64bit_arch Current value (from the default) = false - From //v8/BUILD.gn:145 + From //v8/gni/v8.gni:169 v8_enable_allocation_folding Current value (from the default) = true - From //v8/BUILD.gn:376 + From //v8/BUILD.gn:371 Enable allocation folding globally (sets -dV8_ALLOCATION_FOLDING). When it's disabled, the --turbo-allocation-folding runtime flag will be ignored. v8_enable_atomic_object_field_writes Current value (from the default) = "" - From //v8/BUILD.gn:166 + From //v8/BUILD.gn:165 Sets -dV8_ATOMIC_OBJECT_FIELD_WRITES and turns all field write operations into relaxed atomic operations. v8_enable_backtrace Current value (from the default) = "" - From //v8/gni/v8.gni:32 + From //v8/gni/v8.gni:34 Support for backtrace_symbols on linux. v8_enable_builtin_jump_table_switch Current value (from the default) = true - From //v8/BUILD.gn:422 + From //v8/BUILD.gn:428 Enable jump table switch for built-in. v8_enable_builtins_optimization Current value (from the default) = "" - From //v8/gni/v8.gni:39 + From //v8/gni/v8.gni:41 Includes profiles to optimize builtins. v8_enable_builtins_profiling Current value (from the default) = false - From //v8/BUILD.gn:184 + From //v8/BUILD.gn:183 Runs mksnapshot with --turbo-profiling. After building in this configuration, any subsequent run of d8 will output information about usage @@ -5943,7 +6466,7 @@ v8_enable_builtins_profiling v8_enable_builtins_profiling_verbose Current value (from the default) = false - From //v8/BUILD.gn:190 + From //v8/BUILD.gn:189 Runs mksnapshot with --turbo-profiling-verbose. After building in this configuration, any subsequent run of d8 will output information about usage @@ -5952,40 +6475,40 @@ v8_enable_builtins_profiling_verbose v8_enable_builtins_reordering Current value (from the default) = true - From //v8/BUILD.gn:199 + From //v8/BUILD.gn:198 This build flag is used to control whether reorder builtins acoording to the call graph with C3 algorithm based builtin PGO profiling. v8_enable_cet_ibt Current value (from the default) = false - From //v8/gni/v8.gni:160 + From //v8/gni/v8.gni:176 Emit CET IBT landing pad instructions in JIT generated code (experimental). v8_enable_cet_shadow_stack Current value (from the default) = false - From //v8/gni/v8.gni:157 + From //v8/gni/v8.gni:173 Change code emission and runtime features to be CET shadow-stack compliant (incomplete and experimental). v8_enable_concurrent_marking Current value (from the default) = true - From //v8/BUILD.gn:170 + From //v8/BUILD.gn:169 Controls the default value of v8_enable_concurrent_marking_state. See the default setting code below. v8_enable_conservative_stack_scanning Current value (from the default) = false - From //v8/gni/v8.gni:100 + From //v8/gni/v8.gni:119 Scan the call stack conservatively during garbage collection. v8_enable_continuation_preserved_embedder_data Current value (from the default) = true - From //v8/BUILD.gn:372 + From //v8/BUILD.gn:367 Allow embedder data to be saved on continuations. Used to support TaskAttribution and `scheduler.yield()`. @@ -5993,7 +6516,7 @@ v8_enable_continuation_preserved_embedder_data v8_enable_debug_code Current value (from the default) = "" - From //v8/BUILD.gn:124 + From //v8/BUILD.gn:128 Allow runtime-enabled debug code (with --debug-code). Enabled by default in debug builds. @@ -6001,45 +6524,57 @@ v8_enable_debug_code v8_enable_debugging_features Current value (from the default) = true - From //v8/BUILD.gn:36 + From //v8/gni/v8.gni:45 Turns on all V8 debug features. Enables running V8 in a pseudo debug mode within a release Chrome. v8_enable_direct_handle Current value (from the default) = "" - From //v8/gni/v8.gni:103 + From //v8/gni/v8.gni:122 - Use direct pointers in internal (direct) handles. - -v8_enable_direct_local - Current value (from the default) = false - From //v8/gni/v8.gni:106 - - Use direct pointers in local handles. + Use direct pointers in handles (v8::internal::Handle and v8::Local). v8_enable_disassembler Current value (from the default) = "" - From //v8/BUILD.gn:69 + From //v8/BUILD.gn:67 Sets -dENABLE_DISASSEMBLER. +v8_enable_drumbrake + Current value (from the default) = false + From //v8/BUILD.gn:386 + + WebAssembly interpreter (DrumBrake) build flag. + +v8_enable_drumbrake_tracing + Current value (from the default) = false + From //v8/BUILD.gn:389 + + Enable Wasm interpreter tracing. + v8_enable_etw_stack_walking Current value (from the default) = false - From //v8/BUILD.gn:45 + From //v8/BUILD.gn:43 Sets -DV8_ENABLE_ETW_STACK_WALKING. Enables ETW Stack Walking +v8_enable_experimental_tsa_builtins + Current value (from the default) = false + From //v8/BUILD.gn:443 + + Use the experimental TSA-based definition for some builtins. + v8_enable_extensible_ro_snapshot Current value (from the default) = true - From //v8/BUILD.gn:428 + From //v8/BUILD.gn:434 Whether custom embedder snapshots may extend (= allocate new objects in) ReadOnlySpace. v8_enable_external_code_space Current value (from the default) = "" - From //v8/BUILD.gn:230 + From //v8/BUILD.gn:229 Enable support for external code range relative to the pointer compression cage. @@ -6047,60 +6582,66 @@ v8_enable_external_code_space v8_enable_fast_mksnapshot Current value (from the default) = false - From //v8/BUILD.gn:104 + From //v8/BUILD.gn:108 Enable fast mksnapshot runs. v8_enable_fast_torque Current value (from the default) = "" - From //v8/BUILD.gn:107 + From //v8/BUILD.gn:111 Optimize code for Torque executable, even during a debug build. v8_enable_future Current value (from the default) = false - From //v8/BUILD.gn:39 + From //v8/BUILD.gn:37 Sets -DV8_ENABLE_FUTURE. +v8_enable_fuzztest + Current value (from the default) = false + From //v8/gni/v8.gni:114 + + Enable FuzzTest + v8_enable_gdbjit Current value = false From //.gn:36 Overridden from the default = true - From //v8/BUILD.gn:255 + From //v8/BUILD.gn:254 v8_enable_google_benchmark Current value (from the default) = false - From //v8/gni/v8.gni:111 + From //v8/gni/v8.gni:127 v8_enable_handle_zapping Current value (from the default) = true - From //v8/BUILD.gn:98 + From //v8/BUILD.gn:102 Sets -dENABLE_HANDLE_ZAPPING. v8_enable_heap_snapshot_verify Current value (from the default) = "" - From //v8/BUILD.gn:379 + From //v8/BUILD.gn:374 Enable runtime verification of heap snapshots produced for devtools. v8_enable_hugepage Current value (from the default) = false - From //v8/BUILD.gn:84 + From //v8/BUILD.gn:88 Sets -dENABLE_HUGEPAGE v8_enable_i18n_support Current value (from the default) = true - From //v8/gni/v8.gni:43 + From //v8/gni/v8.gni:49 Enable ECMAScript Internationalization API. Enabling this feature will add a dependency on the ICU library. v8_enable_ignition_dispatch_counting Current value (from the default) = false - From //v8/BUILD.gn:179 + From //v8/BUILD.gn:178 Sets -dV8_IGNITION_DISPATCH_COUNTING. Enables counting frequencies of bytecode dispatches. After building in this @@ -6112,19 +6653,19 @@ v8_enable_ignition_dispatch_counting v8_enable_javascript_promise_hooks Current value (from the default) = false - From //v8/BUILD.gn:367 + From //v8/BUILD.gn:362 Allow for JS promise hooks (instead of just C++). v8_enable_lazy_source_positions Current value (from the default) = true - From //v8/BUILD.gn:269 + From //v8/BUILD.gn:268 Enable lazy source positions by default. v8_enable_lite_mode Current value (from the default) = false - From //v8/gni/v8.gni:70 + From //v8/gni/v8.gni:76 Lite mode disables a number of performance optimizations to reduce memory at the cost of performance. @@ -6132,63 +6673,81 @@ v8_enable_lite_mode v8_enable_local_off_stack_check Current value (from the default) = false - From //v8/gni/v8.gni:109 + From //v8/gni/v8.gni:125 Check for off-stack allocated local handles. v8_enable_maglev Current value (from the default) = "" - From //v8/gni/v8.gni:78 + From //v8/gni/v8.gni:92 Enable the Maglev compiler. Sets -dV8_ENABLE_MAGLEV v8_enable_maglev_graph_printer Current value (from the default) = false - From //v8/BUILD.gn:415 + From //v8/BUILD.gn:421 Enable Maglev's graph printer. Sets -DV8_ENABLE_MAGLEV_GRAPH_PRINTER. v8_enable_map_packing Current value (from the default) = false - From //v8/BUILD.gn:364 + From //v8/BUILD.gn:359 Enable map packing & unpacking (sets -dV8_MAP_PACKING). +v8_enable_memory_corruption_api + Current value (from the default) = false + From //v8/BUILD.gn:338 + + Enable the memory corruption API. Useful for testing the sandbox. + The memory corruption API is only exposed to JavaScript if sandbox testing + mode is enabled at runtime, for example via --sandbox-fuzzing. + WARNING This will enable builtins that (by design) cause memory corruption. + Sets -DV8_ENABLE_MEMORY_CORRUPTION_API + +v8_enable_memory_sealing + Current value (from the default) = false + From //v8/gni/v8.gni:181 + + Use memory sealing to protect various global memory mappings for CFI + (experimental). + TODO(sroettger): enable by default once we have bot support for testing. + v8_enable_object_print Current value (from the default) = "" - From //v8/BUILD.gn:148 + From //v8/BUILD.gn:147 Sets -dOBJECT_PRINT. v8_enable_pointer_compression Current value (from the default) = "" - From //v8/BUILD.gn:143 + From //v8/gni/v8.gni:167 Enable pointer compression (sets -dV8_COMPRESS_POINTERS). v8_enable_pointer_compression_8gb Current value (from the default) = "" - From //v8/BUILD.gn:392 + From //v8/BUILD.gn:400 Enables pointer compression for 8GB heaps. Sets -DV8_COMPRESS_POINTERS_8GB. v8_enable_pointer_compression_shared_cage Current value (from the default) = "" - From //v8/BUILD.gn:144 + From //v8/gni/v8.gni:168 v8_enable_precise_zone_stats Current value (from the default) = false - From //v8/BUILD.gn:347 + From //v8/BUILD.gn:342 Experimental feature for collecting per-class zone memory stats. Requires use_rtti = true v8_enable_private_mapping_fork_optimization Current value (from the default) = false - From //v8/BUILD.gn:95 + From //v8/BUILD.gn:99 Sets -dV8_ENABLE_PRIVATE_MAPPING_FORK_OPTIMIZATION. @@ -6202,70 +6761,70 @@ v8_enable_private_mapping_fork_optimization v8_enable_regexp_interpreter_threaded_dispatch Current value (from the default) = true - From //v8/BUILD.gn:294 + From //v8/BUILD.gn:284 Use token threaded dispatch for the regular expression interpreter. Use switch-based dispatch if this is false v8_enable_runtime_call_stats - Current value (from the default) = true - From //v8/gni/v8.gni:94 + Current value (from the default) = false + From //v8/gni/v8.gni:108 v8_enable_sandbox Current value (from the default) = "" - From //v8/BUILD.gn:338 + From //v8/BUILD.gn:328 - Enable the experimental V8 sandbox. + Enable the V8 sandbox. Sets -DV8_ENABLE_SANDBOX. v8_enable_shared_ro_heap Current value (from the default) = "" - From //v8/BUILD.gn:266 + From //v8/BUILD.gn:265 Enable sharing read-only space across isolates. Sets -DV8_SHARED_RO_HEAP. v8_enable_short_builtin_calls Current value (from the default) = "" - From //v8/BUILD.gn:225 + From //v8/BUILD.gn:224 Enable short builtins call instruction sequences by un-embedding builtins. Sets -dV8_SHORT_BUILTIN_CALLS v8_enable_single_generation Current value (from the default) = "" - From //v8/BUILD.gn:290 + From //v8/BUILD.gn:280 Redirect allocation in young generation so that there will be only one single generation. v8_enable_slow_dchecks Current value (from the default) = false - From //v8/BUILD.gn:101 + From //v8/BUILD.gn:105 Enable slow dchecks. v8_enable_slow_tracing Current value (from the default) = true - From //v8/BUILD.gn:419 + From //v8/BUILD.gn:425 Enable slow tracing, e.g., tracing on every instruction or Turbofan node. Sets -DV8_ENABLE_SLOW_TRACING. v8_enable_snapshot_code_comments Current value (from the default) = false - From //v8/BUILD.gn:114 + From //v8/BUILD.gn:118 Enable code comments for builtins in the snapshot (impacts performance). This also enables v8_code_comments. v8_enable_snapshot_compression Current value (from the default) = false - From //v8/BUILD.gn:311 + From //v8/BUILD.gn:301 v8_enable_snapshot_native_code_counters Current value (from the default) = "" - From //v8/BUILD.gn:130 + From //v8/BUILD.gn:134 Enable native counters from the snapshot (impacts performance, sets -dV8_SNAPSHOT_NATIVE_CODE_COUNTERS). @@ -6274,140 +6833,146 @@ v8_enable_snapshot_native_code_counters v8_enable_sparkplug Current value (from the default) = "" - From //v8/BUILD.gn:411 + From //v8/BUILD.gn:417 Enable Sparkplug Sets -DV8_ENABLE_SPARKPLUG. v8_enable_static_roots Current value (from the default) = "" - From //v8/BUILD.gn:133 + From //v8/BUILD.gn:137 Use pre-generated static root pointer values from static-roots.h. v8_enable_static_roots_generation Current value (from the default) = false - From //v8/BUILD.gn:137 + From //v8/BUILD.gn:141 Mode used by gen-static-roots.py to have a heap layout which is identical to when v8_enable_static_roots is enabled. +v8_enable_sticky_mark_bits + Current value (from the default) = false + From //v8/BUILD.gn:440 + + Use sticky mark-bits for separating object generations. + v8_enable_swiss_name_dictionary Current value (from the default) = false - From //v8/BUILD.gn:351 + From //v8/BUILD.gn:346 Experimental feature that uses SwissNameDictionary instead of NameDictionary as the backing store for all dictionary mode objects. v8_enable_system_instrumentation Current value (from the default) = false - From //v8/BUILD.gn:42 + From //v8/BUILD.gn:40 Sets -DENABLE_SYSTEM_INSTRUMENTATION. Enables OS-dependent event tracing v8_enable_test_features Current value (from the default) = "" - From //v8/BUILD.gn:221 + From //v8/BUILD.gn:220 Enables various testing features. -v8_enable_third_party_heap - Current value (from the default) = false - From //v8/BUILD.gn:272 - - Enable third party HEAP library - v8_enable_trace_baseline_exec Current value (from the default) = false - From //v8/BUILD.gn:159 + From //v8/BUILD.gn:158 v8_enable_trace_feedback_updates Current value (from the default) = false - From //v8/BUILD.gn:162 + From //v8/BUILD.gn:161 Sets -dV8_TRACE_FEEDBACK_UPDATES. v8_enable_trace_ignition Current value (from the default) = false - From //v8/BUILD.gn:158 + From //v8/BUILD.gn:157 v8_enable_trace_maps Current value (from the default) = "" - From //v8/BUILD.gn:151 + From //v8/BUILD.gn:150 Sets -dV8_TRACE_MAPS. v8_enable_trace_unoptimized Current value (from the default) = "" - From //v8/BUILD.gn:157 + From //v8/BUILD.gn:156 Sets -dV8_TRACE_UNOPTIMIZED. v8_enable_turbofan Current value (from the default) = "" - From //v8/gni/v8.gni:74 + From //v8/gni/v8.gni:88 Enable the Turbofan compiler. Sets -dV8_ENABLE_TURBOFAN. +v8_enable_turboshaft_csa + Current value (from the default) = false + From //v8/BUILD.gn:437 + + Enable Turboshaft CSA pipeline. + v8_enable_unconditional_write_barriers Current value (from the default) = false - From //v8/BUILD.gn:286 + From //v8/BUILD.gn:276 Ensure that write barriers are always used. Useful for debugging purposes. v8_enable_v8_checks Current value (from the default) = "" - From //v8/BUILD.gn:154 + From //v8/BUILD.gn:153 Sets -dV8_ENABLE_CHECKS. v8_enable_verify_csa Current value (from the default) = false - From //v8/BUILD.gn:140 + From //v8/BUILD.gn:144 Enable code-generation-time checking of types in the CodeStubAssembler. v8_enable_verify_heap Current value (from the default) = "" - From //v8/BUILD.gn:51 + From //v8/BUILD.gn:49 Sets -DVERIFY_HEAP. v8_enable_verify_predictable Current value (from the default) = false - From //v8/BUILD.gn:54 + From //v8/BUILD.gn:52 Sets -DVERIFY_PREDICTABLE v8_enable_vtunejit Current value (from the default) = false - From //v8/BUILD.gn:78 + From //v8/BUILD.gn:82 Sets -dENABLE_VTUNE_JIT_INTERFACE. v8_enable_vtunetracemark Current value (from the default) = false - From //v8/BUILD.gn:81 + From //v8/BUILD.gn:85 Sets -dENABLE_VTUNE_TRACEMARK. v8_enable_wasm_gdb_remote_debugging Current value (from the default) = false - From //v8/gni/v8.gni:65 + From //v8/gni/v8.gni:71 Enable WebAssembly debugging via GDB-remote protocol. v8_enable_wasm_simd256_revec Current value (from the default) = false - From //v8/gni/v8.gni:88 + From //v8/gni/v8.gni:102 Enable 256-bit long vector re-vectorization pass in WASM compilation pipeline. v8_enable_webassembly Current value (from the default) = "" - From //v8/gni/v8.gni:85 + From //v8/gni/v8.gni:99 Include support for WebAssembly. If disabled, the 'WebAssembly' global will not be available, and embedder APIs to generate WebAssembly modules @@ -6417,67 +6982,59 @@ v8_enable_webassembly v8_enable_zone_compression Current value (from the default) = "" - From //v8/BUILD.gn:334 + From //v8/BUILD.gn:324 Enable V8 zone compression experimental feature. Sets -DV8_COMPRESS_ZONES. v8_etw_guid Current value (from the default) = "" - From //v8/BUILD.gn:48 + From //v8/BUILD.gn:46 Sets the GUID for the ETW provider -v8_expose_memory_corruption_api - Current value (from the default) = false - From //v8/BUILD.gn:343 - - Expose the memory corruption API to JavaScript. Useful for testing the sandbox. - WARNING This will expose builtins that (by design) cause memory corruption. - Sets -DV8_EXPOSE_MEMORY_CORRUPTION_API - v8_expose_public_symbols Current value (from the default) = "" - From //v8/gni/v8.gni:53 + From //v8/gni/v8.gni:59 Expose public symbols for native modules of Node.js and Electron. Default is false. v8_expose_symbols Current value (from the default) = false - From //v8/gni/v8.gni:56 + From //v8/gni/v8.gni:62 Deprecated for v8_expose_public_symbols. v8_fuzzilli Current value (from the default) = false - From //v8/gni/v8.gni:97 + From //v8/gni/v8.gni:111 Add fuzzilli fuzzer support. v8_gcmole Current value (from the default) = false - From //v8/gni/v8.gni:26 + From //v8/gni/v8.gni:28 Indicate if gcmole was fetched as a hook to make it available on swarming. v8_generate_external_defines_header Current value (from the default) = false - From //v8/BUILD.gn:355 + From //v8/BUILD.gn:350 If enabled then macro definitions that are used in externally visible header files are placed in a separate header file v8-gn.h. v8_has_valgrind Current value (from the default) = false - From //v8/gni/v8.gni:23 + From //v8/gni/v8.gni:25 Indicate if valgrind was fetched as a custom deps to make it available on swarming. v8_icu_path Current value (from the default) = "//third_party/icu" - From //v8/gni/v8.gni:150 + From //v8/gni/v8.gni:161 Location of icu. @@ -6485,28 +7042,26 @@ v8_imminent_deprecation_warnings Current value = false From //.gn:37 Overridden from the default = true - From //v8/BUILD.gn:60 + From //v8/BUILD.gn:58 Enable compiler warnings when using V8_DEPRECATE_SOON apis. v8_is_on_release_branch - Current value (from the default) = false + Current value (from the default) = true From //v8/gni/release_branch_toggle.gni:9 v8_jitless Current value (from the default) = false - From //v8/BUILD.gn:407 + From //v8/BUILD.gn:413 Enable jitless mode, including compile-time optimizations. Note that even when this is set to 'false', one can run V8 in jitless mode at runtime by passing the `--jitless` flag; but then you miss out on compile-time optimizations. - iOS (non-simulator) does not have executable pages for 3rd party - applications yet so disable jit. v8_log_builtins_block_count_input Current value (from the default) = "" - From //v8/BUILD.gn:195 + From //v8/BUILD.gn:194 This build flag is used to input a builtin pgo file containing raw execution counts (as opposed to branch hints), which are embedded into @@ -6514,37 +7069,37 @@ v8_log_builtins_block_count_input v8_monolithic Current value (from the default) = false - From //v8/gni/v8.gni:49 + From //v8/gni/v8.gni:55 Enable monolithic static library for embedders. v8_multi_arch_build Current value (from the default) = false - From //v8/gni/v8.gni:19 + From //v8/gni/v8.gni:21 Adds additional compile target for building multiple architectures at once. v8_no_inline Current value (from the default) = false - From //v8/BUILD.gn:241 + From //v8/BUILD.gn:240 Switches off inlining in V8. v8_optimized_debug Current value (from the default) = true - From //v8/gni/v8.gni:29 + From //v8/gni/v8.gni:31 Turns on compiler optimizations in V8 in Debug build. v8_os_page_size Current value (from the default) = "0" - From //v8/BUILD.gn:244 + From //v8/BUILD.gn:243 Override OS page size when generating snapshot v8_postmortem_support Current value (from the default) = false - From //v8/BUILD.gn:235 + From //v8/BUILD.gn:234 With post mortem support enabled, metadata is embedded into libv8 that describes various parameters of the VM for use by debuggers. See @@ -6552,13 +7107,13 @@ v8_postmortem_support v8_promise_internal_field_count Current value (from the default) = 0 - From //v8/BUILD.gn:72 + From //v8/BUILD.gn:70 Sets the number of internal fields on promise objects. v8_scriptormodule_legacy_lifetime Current value (from the default) = false - From //v8/BUILD.gn:388 + From //v8/BUILD.gn:383 TODO(cbruni, v8:12302): Remove once API is migrated Enable legacy mode for ScriptOrModule's lifetime. By default it's a @@ -6567,7 +7122,7 @@ v8_scriptormodule_legacy_lifetime v8_shortcut_strings_in_minor_ms Current value (from the default) = false - From //v8/BUILD.gn:424 + From //v8/BUILD.gn:430 v8_snapshot_toolchain Current value (from the default) = "" @@ -6579,13 +7134,13 @@ v8_snapshot_toolchain v8_static_library Current value (from the default) = false - From //v8/gni/v8.gni:46 + From //v8/gni/v8.gni:52 Use static libraries instead of source_sets. v8_symbol_level Current value (from the default) = 2 - From //v8/gni/v8.gni:62 + From //v8/gni/v8.gni:68 Override global symbol level setting for v8. @@ -6619,103 +7174,107 @@ v8_target_cpu complicated involving multiple toolchains along the lines of custom_toolchain, above. -v8_third_party_heap_files - Current value (from the default) = [] - From //v8/BUILD.gn:278 - - Source code used by third party heap - -v8_third_party_heap_libs - Current value (from the default) = [] - From //v8/BUILD.gn:275 - - Libaries used by third party heap - v8_typed_array_max_size_in_heap Current value (from the default) = 64 - From //v8/BUILD.gn:253 + From //v8/BUILD.gn:252 Controls the threshold for on-heap/off-heap Typed Arrays. v8_use_external_startup_data Current value (from the default) = "" - From //v8/gni/v8.gni:36 + From //v8/gni/v8.gni:38 Use external files for startup data blobs: the JS builtins sources and the start snapshot. v8_use_libm_trig_functions Current value (from the default) = true - From //v8/gni/v8.gni:142 + From //v8/gni/v8.gni:158 TODO: macros for determining endian type are clang specific. v8_use_mips_abi_hardfloat Current value (from the default) = true - From //v8/BUILD.gn:250 + From //v8/BUILD.gn:249 Similar to the ARM hard float ABI but on MIPS. v8_use_perfetto Current value (from the default) = false - From //v8/gni/v8.gni:59 + From //v8/gni/v8.gni:65 Implement tracing using Perfetto (https://perfetto.dev). v8_use_siphash Current value (from the default) = false - From //v8/BUILD.gn:238 + From //v8/BUILD.gn:237 Use Siphash as added protection against hash flooding attacks. v8_use_zlib Current value (from the default) = true - From //v8/BUILD.gn:396 + From //v8/BUILD.gn:404 Compile V8 using zlib as dependency. Sets -DV8_USE_ZLIB v8_value_deserializer_hard_fail Current value (from the default) = false - From //v8/BUILD.gn:399 + From //v8/BUILD.gn:407 Make ValueDeserializer crash if the data to deserialize is invalid. v8_verify_builtins_compatibility Current value (from the default) = false - From //v8/BUILD.gn:297 + From //v8/BUILD.gn:287 Enforce equality of builtins hashes from compatible architectures. v8_verify_deterministic_mksnapshot Current value (from the default) = false - From //v8/BUILD.gn:300 + From //v8/BUILD.gn:290 Check mksnapshot determinism by running it multiple times. v8_verify_torque_generation_invariance Current value (from the default) = false - From //v8/BUILD.gn:304 + From //v8/BUILD.gn:294 Enable additional targets necessary for verification of torque file generation v8_win64_unwinding_info Current value (from the default) = true - From //v8/BUILD.gn:110 + From //v8/BUILD.gn:114 Enable the registration of unwinding info for Windows x64 and ARM64. v8_zlib_path Current value (from the default) = "//third_party/zlib" - From //v8/gni/v8.gni:153 + From //v8/gni/v8.gni:164 Location of zlib. +validate_header_name + Current value (from the default) = "" + From //chrome/browser/request_header_integrity/buildflags.gni:13 + vma_vulkan_headers_dir - Current value (from the default) = "//third_party/vulkan-deps/vulkan-headers/src" + Current value = "//third_party/vulkan-headers/src" + From //.gn:65 + Overridden from the default = "//third_party/vulkan-deps/vulkan-headers/src" From //third_party/vulkan_memory_allocator/BUILD.gn:8 +webnn_enable_tflite_profiler + Current value (from the default) = false + From //services/webnn/features.gni:11 + + Enable logging of TFLite profiling information on MLGraph destruction. + +webnn_use_tflite + Current value (from the default) = true + From //services/webnn/features.gni:8 + widevine_root Current value (from the default) = "." From //third_party/widevine/cdm/widevine.gni:63 @@ -6732,6 +7291,13 @@ win_console_app up when the executable is not run from the command line, so should only be used for development. Only has an effect on Windows builds. +winappsdk_dir + Current value (from the default) = "" + From //third_party/angle/gni/angle.gni:135 + + Windows App SDK is a separate dependency from nuget.org that needs to + be pre-processed before being used. + zlib_symbols_visible Current value (from the default) = false From //third_party/zlib/BUILD.gn:11 diff --git a/infra/gn_args.list b/infra/gn_args.list index 475d54fb..62469f98 100644 --- a/infra/gn_args.list +++ b/infra/gn_args.list @@ -1,14 +1,18 @@ ## LIST OF POSSIBLE GN ARGUMENTS WITH THORIUM FLAGS INCLUDED +absl_build_tests + Current value (from the default) = true + From //third_party/abseil-cpp/absl.gni:23 + action_pool_depth Current value (from the default) = -1 - From //build/toolchain/BUILD.gn:11 + From //build/toolchain/BUILD.gn:10 - Pool for non goma tasks. + Pool for non remote tasks. added_rust_stdlib_libs Current value (from the default) = [] - From //build/config/rust.gni:82 + From //build/config/rust.gni:86 Any extra std rlibs in your Rust toolchain, relative to the standard Rust toolchain. Typically used with 'rust_sysroot_absolute' @@ -17,15 +21,9 @@ allow_critical_memory_pressure_handling_in_foreground Current value (from the default) = false From //content/common/features.gni:16 -allow_jni_multiplexing - Current value (from the default) = false - From //third_party/jni_zero/jni_zero.gni:12 - - Enables JNI multiplexing to reduce JNI native methods overhead. - allow_runtime_configurable_key_storage Current value (from the default) = false - From //components/os_crypt/sync/features.gni:13 + From //components/os_crypt/sync/features.gni:10 Whether to make account and service names for the crypto key storage configurable at runtime for embedders. @@ -59,7 +57,7 @@ also_build_lacros_chrome_for_architecture alternate_cdm_storage_id_key Current value (from the default) = "" - From //media/media_options.gni:252 + From //media/media_options.gni:253 If |enable_cdm_storage_id| is set, then an implementation specific key must also be provided. It can be provided by defining CDM_STORAGE_ID_KEY @@ -82,15 +80,19 @@ android_full_debug angle_64bit_current_cpu Current value (from the default) = true - From //third_party/angle/gni/angle.gni:114 + From //third_party/angle/gni/angle.gni:119 + +angle_always_log_info + Current value (from the default) = false + From //third_party/angle/gni/angle.gni:264 angle_assert_always_on Current value (from the default) = false - From //third_party/angle/gni/angle.gni:108 + From //third_party/angle/gni/angle.gni:113 angle_build_all Current value (from the default) = false - From //third_party/angle/BUILD.gn:44 + From //third_party/angle/BUILD.gn:48 Don't build extra (test, samples etc) for Windows UWP. We don't have infrastructure (e.g. windowing helper functions) in place to run them. @@ -105,17 +107,17 @@ angle_build_capture_replay_tests angle_build_mesa Current value (from the default) = false - From //third_party/angle/gni/angle.gni:293 + From //third_party/angle/gni/angle.gni:318 angle_build_tests Current value (from the default) = true - From //third_party/angle/gni/angle.gni:306 + From //third_party/angle/gni/angle.gni:331 True if we want to build the ANGLE test suites. On by default in most configs. angle_build_vulkan_system_info Current value (from the default) = true - From //third_party/angle/gni/angle.gni:287 + From //third_party/angle/gni/angle.gni:312 angle_capture_replay_composite_file_id Current value (from the default) = 1 @@ -129,13 +131,13 @@ angle_capture_replay_test_trace_dir angle_debug_layers_enabled Current value (from the default) = false - From //third_party/angle/gni/angle.gni:129 + From //third_party/angle/gni/angle.gni:140 By default we enable debug layers when asserts are turned on. angle_delegate_workers Current value (from the default) = true - From //third_party/angle/gni/angle.gni:165 + From //third_party/angle/gni/angle.gni:178 By default, ANGLE is using a thread pool for parallel compilation. Activating the delegate worker results in posting the tasks using the @@ -144,34 +146,34 @@ angle_delegate_workers angle_dump_pipeline_cache_graph Current value (from the default) = false - From //third_party/angle/gni/angle.gni:241 + From //third_party/angle/gni/angle.gni:262 angle_egl_extension Current value (from the default) = "" - From //third_party/angle/BUILD.gn:64 + From //third_party/angle/BUILD.gn:68 Allow shared library custom name extensions for setting soname such as libEGL.so.1 angle_enable_abseil Current value (from the default) = true - From //third_party/angle/BUILD.gn:52 + From //third_party/angle/BUILD.gn:56 Abseil has trouble supporting MSVC, particularly regarding component builds. http://crbug.com/1126524 angle_enable_annotator_run_time_checks Current value (from the default) = false - From //third_party/angle/BUILD.gn:55 + From //third_party/angle/BUILD.gn:59 Adds run-time checks to filter out EVENT() messages when the debug annotator is disabled. angle_enable_apple_translator_workarounds Current value (from the default) = false - From //third_party/angle/gni/angle.gni:301 + From //third_party/angle/gni/angle.gni:326 angle_enable_cgl Current value (from the default) = false - From //third_party/angle/gni/angle.gni:298 + From //third_party/angle/gni/angle.gni:323 TODO(jdarpinian): Support enabling CGL and EAGL at the same time using the soft linking code. Also support disabling both for Metal-only builds. @@ -183,23 +185,29 @@ angle_enable_cl angle_enable_cl_passthrough Current value (from the default) = false - From //third_party/angle/gni/angle.gni:197 + From //third_party/angle/gni/angle.gni:210 Enables the OpenCL pass-through back end +angle_enable_cl_testing + Current value (from the default) = false + From //third_party/angle/gni/angle.gni:24 + + Enables OpenCL testing support, off by default. + angle_enable_commit_id Current value (from the default) = true - From //third_party/angle/BUILD.gn:48 + From //third_party/angle/BUILD.gn:52 Enable generating current commit information using git angle_enable_context_mutex Current value (from the default) = true - From //third_party/angle/BUILD.gn:84 + From //third_party/angle/BUILD.gn:88 angle_enable_context_mutex_recursion Current value (from the default) = false - From //third_party/angle/BUILD.gn:94 + From //third_party/angle/BUILD.gn:101 May need to enable to fix recursion when vkAcquireNextImageKHR() returns back to ANGLE from eglClientWaitSyncKHR(). May happen if Android Presentation Engine uses @@ -230,43 +238,43 @@ angle_enable_custom_vulkan_render_pass_cmd_buffers angle_enable_d3d11 Current value (from the default) = false - From //third_party/angle/gni/angle.gni:171 + From //third_party/angle/gni/angle.gni:184 angle_enable_d3d11_compositor_native_window Current value (from the default) = false - From //third_party/angle/gni/angle.gni:265 + From //third_party/angle/gni/angle.gni:291 angle_enable_d3d9 Current value (from the default) = false - From //third_party/angle/gni/angle.gni:170 + From //third_party/angle/gni/angle.gni:183 angle_enable_desktop_glsl Current value (from the default) = false - From //third_party/angle/gni/angle.gni:232 + From //third_party/angle/gni/angle.gni:253 Translator frontend support: angle_enable_eagl Current value (from the default) = false - From //third_party/angle/gni/angle.gni:271 + From //third_party/angle/gni/angle.gni:297 We should use EAGL (ES) on iOS except on Mac Catalyst on Intel CPUs, which uses CGL (desktop GL). angle_enable_essl Current value (from the default) = true - From //third_party/angle/gni/angle.gni:236 + From //third_party/angle/gni/angle.gni:257 angle_enable_gl Current value (from the default) = true - From //third_party/angle/gni/angle.gni:173 + From //third_party/angle/gni/angle.gni:186 angle_enable_gl_desktop_backend Current value (from the default) = true - From //third_party/angle/gni/angle.gni:191 + From //third_party/angle/gni/angle.gni:204 angle_enable_gl_desktop_frontend Current value (from the default) = false - From //third_party/angle/gni/angle.gni:29 + From //third_party/angle/gni/angle.gni:32 Enable Desktop GL frontend support. @@ -276,88 +284,92 @@ angle_enable_gl_null angle_enable_global_mutex_load_time_allocate Current value (from the default) = false - From //third_party/angle/BUILD.gn:82 + From //third_party/angle/BUILD.gn:86 angle_enable_global_mutex_recursion Current value (from the default) = false - From //third_party/angle/BUILD.gn:77 + From //third_party/angle/BUILD.gn:81 angle_enable_glsl Current value (from the default) = true - From //third_party/angle/gni/angle.gni:237 + From //third_party/angle/gni/angle.gni:258 angle_enable_hlsl Current value (from the default) = false - From //third_party/angle/gni/angle.gni:235 + From //third_party/angle/gni/angle.gni:256 Translator backend support: angle_enable_memory_alloc_logging Current value (from the default) = false - From //third_party/angle/gni/angle.gni:249 + From //third_party/angle/gni/angle.gni:272 Memory allocation logging support. This feature is for debugging only. Disabled by default. angle_enable_metal Current value (from the default) = false - From //third_party/angle/gni/angle.gni:194 + From //third_party/angle/gni/angle.gni:207 - http://anglebug.com/2634 + http://anglebug.com/40096506 angle_enable_null Current value (from the default) = false - From //third_party/angle/gni/angle.gni:190 + From //third_party/angle/gni/angle.gni:203 Disable null backend to save space for official build. angle_enable_overlay Current value (from the default) = false - From //third_party/angle/gni/angle.gni:291 + From //third_party/angle/gni/angle.gni:316 Enable overlay by default when debug layers are enabled. This is currently only implemented on Vulkan. angle_enable_perf_counter_output Current value (from the default) = false - From //third_party/angle/gni/angle.gni:268 + From //third_party/angle/gni/angle.gni:294 Disable performance counter output by default angle_enable_renderdoc Current value (from the default) = false - From //third_party/angle/gni/angle.gni:310 + From //third_party/angle/gni/angle.gni:335 angle_enable_share_context_lock Current value (from the default) = false - From //third_party/angle/BUILD.gn:69 + From //third_party/angle/BUILD.gn:73 angle_enable_swiftshader Current value (from the default) = true - From //third_party/angle/gni/angle.gni:229 + From //third_party/angle/gni/angle.gni:250 angle_enable_trace Current value (from the default) = false - From //third_party/angle/gni/angle.gni:238 + From //third_party/angle/gni/angle.gni:259 angle_enable_trace_android_logcat Current value (from the default) = false - From //third_party/angle/gni/angle.gni:239 + From //third_party/angle/gni/angle.gni:260 angle_enable_trace_events Current value (from the default) = false - From //third_party/angle/gni/angle.gni:240 + From //third_party/angle/gni/angle.gni:261 angle_enable_unwind_backtrace_support Current value (from the default) = false - From //third_party/angle/gni/angle.gni:245 + From //third_party/angle/gni/angle.gni:268 Unwind backtrace support. This feature is currently only implemented on Android for debugging purposes. Disabled by default. angle_enable_vulkan Current value (from the default) = true - From //third_party/angle/gni/angle.gni:178 + From //third_party/angle/gni/angle.gni:191 + +angle_enable_vulkan_api_dump_layer + Current value (from the default) = false + From //third_party/angle/gni/angle.gni:285 angle_enable_vulkan_gpu_trace_events Current value (from the default) = false @@ -373,38 +385,36 @@ angle_enable_vulkan_shared_ring_buffer_cmd_alloc angle_enable_vulkan_system_info Current value (from the default) = false - From //third_party/angle/BUILD.gn:35 + From //third_party/angle/BUILD.gn:39 Enable using Vulkan to collect system info as a fallback. angle_enable_vulkan_validation_layers Current value (from the default) = false - From //third_party/angle/gni/angle.gni:258 + From //third_party/angle/gni/angle.gni:281 angle_enable_wgpu Current value (from the default) = false - From //third_party/angle/gni/angle.gni:200 - - Disable WGPU backend. + From //third_party/angle/gni/angle.gni:216 angle_expose_glx_entry_points Current value (from the default) = false - From //third_party/angle/gni/angle.gni:40 + From //third_party/angle/gni/angle.gni:45 Expose GLX entry points by default when using Desktop GL on Linux. angle_expose_non_conformant_extensions_and_versions Current value (from the default) = false - From //third_party/angle/BUILD.gn:58 + From //third_party/angle/BUILD.gn:62 Enables non-conformant extensions and features angle_expose_wgl_entry_points Current value (from the default) = false - From //third_party/angle/gni/angle.gni:37 + From //third_party/angle/gni/angle.gni:42 Expose WGL entry points, which is necessary for running windows desktop GL applications against ANGLE. - TODO(http://anglebug.com/7628): This condition should be `angle_enable_gl_desktop_frontend && is_win` + TODO(http://anglebug.com/42266094): This condition should be `angle_enable_gl_desktop_frontend && is_win` This is disabled by default on Windows because it was causing some test failures. Once the WGL frontend has more functionality implemented, we can re-enable this. @@ -416,75 +426,84 @@ angle_extract_native_libs angle_force_context_check_every_call Current value (from the default) = false - From //third_party/angle/BUILD.gn:61 + From //third_party/angle/BUILD.gn:65 Optional feature that forces dirty state whenever we use a new context regardless of thread. angle_glesv2_extension Current value (from the default) = "" - From //third_party/angle/BUILD.gn:65 + From //third_party/angle/BUILD.gn:69 angle_has_astc_encoder Current value (from the default) = false - From //third_party/angle/gni/angle.gni:205 + From //third_party/angle/gni/angle.gni:223 ASTC emulation is only built on standalone non-android builds angle_has_frame_capture Current value (from the default) = true - From //third_party/angle/gni/angle.gni:157 + From //third_party/angle/gni/angle.gni:170 Frame capture code is enabled by default if rapidjson is available. angle_has_histograms Current value (from the default) = true - From //third_party/angle/gni/angle.gni:303 + From //third_party/angle/gni/angle.gni:328 angle_has_rapidjson Current value (from the default) = true - From //third_party/angle/gni/angle.gni:124 + From //third_party/angle/gni/angle.gni:129 Indicate if the rapidJSON library is available to build with in third_party/. angle_is_msvc Current value (from the default) = false - From //third_party/angle/gni/angle.gni:144 + From //third_party/angle/gni/angle.gni:157 + +angle_is_winappsdk + Current value (from the default) = false + From //third_party/angle/gni/angle.gni:131 angle_is_winuwp Current value (from the default) = false - From //third_party/angle/gni/angle.gni:143 + From //third_party/angle/gni/angle.gni:155 There's no "is_winuwp" helper in BUILDCONFIG.gn, so we define one ourselves + Windows App SDK is almost UWP but for Win32, so we want all the same things angle_libs_suffix Current value (from the default) = "" - From //third_party/angle/gni/angle.gni:150 + From //third_party/angle/gni/angle.gni:163 angle_link_glx Current value (from the default) = false - From //third_party/angle/BUILD.gn:38 + From //third_party/angle/BUILD.gn:42 Link in system libGL, to work with apitrace. See doc/DebuggingTips.md. +angle_lunarg_vulkantools_dir + Current value (from the default) = "//third_party/angle/third_party/lunarg-vulkantools/src" + From //third_party/angle/gni/angle.gni:310 + angle_restricted_traces Current value (from the default) = [] - From //third_party/angle/gni/angle.gni:23 + From //third_party/angle/gni/angle.gni:26 angle_shared_libvulkan Current value (from the default) = true - From //third_party/angle/gni/angle.gni:140 + From //third_party/angle/gni/angle.gni:151 - Vulkan loader is statically linked on Mac. http://anglebug.com/4477 + Vulkan loader is statically linked on Mac. http://anglebug.com/40096682 angle_standalone Current value (from the default) = false - From //third_party/angle/gni/angle.gni:168 + From //third_party/angle/gni/angle.gni:181 True if we are building inside an ANGLE checkout. angle_test_enable_system_egl Current value (from the default) = false - From //third_party/angle/gni/angle.gni:209 + From //third_party/angle/gni/angle.gni:227 angle_use_custom_libvulkan Current value (from the default) = true @@ -492,26 +511,26 @@ angle_use_custom_libvulkan angle_use_gbm Current value (from the default) = false - From //third_party/angle/gni/angle.gni:67 + From //third_party/angle/gni/angle.gni:72 angle_use_vulkan_display Current value (from the default) = true - From //third_party/angle/gni/angle.gni:71 + From //third_party/angle/gni/angle.gni:76 angle_use_vulkan_null_display Current value (from the default) = false - From //third_party/angle/gni/angle.gni:187 + From //third_party/angle/gni/angle.gni:200 When set to true, ANGLE will not use VK_KHR_surface and VK_KHR_swapchain extensions. Content can be rendered only off-screen. angle_use_wayland Current value (from the default) = true - From //third_party/angle/gni/angle.gni:70 + From //third_party/angle/gni/angle.gni:75 angle_use_x11 Current value (from the default) = true - From //third_party/angle/gni/angle.gni:68 + From //third_party/angle/gni/angle.gni:73 angle_vulkan_display_mode Current value (from the default) = "simple" @@ -520,32 +539,32 @@ angle_vulkan_display_mode Display mode for ANGLE vulkan display, could be 'simple' or 'headless', default is 'simple'. angle_vulkan_headers_dir - Current value = "//third_party/vulkan-deps/vulkan-headers/src" + Current value = "//third_party/vulkan-headers/src" From //.gn:58 - Overridden from the default = "//third_party/angle/third_party/vulkan-deps/vulkan-headers/src" - From //third_party/angle/gni/angle.gni:279 + Overridden from the default = "//third_party/angle/third_party/vulkan-headers/src" + From //third_party/angle/gni/angle.gni:304 angle_vulkan_loader_dir - Current value = "//third_party/vulkan-deps/vulkan-loader/src" + Current value = "//third_party/vulkan-loader/src" From //.gn:59 - Overridden from the default = "//third_party/angle/third_party/vulkan-deps/vulkan-loader/src" - From //third_party/angle/gni/angle.gni:281 + Overridden from the default = "//third_party/angle/third_party/vulkan-loader/src" + From //third_party/angle/gni/angle.gni:305 angle_vulkan_tools_dir - Current value = "//third_party/vulkan-deps/vulkan-tools/src" + Current value = "//third_party/vulkan-tools/src" From //.gn:60 - Overridden from the default = "//third_party/angle/third_party/vulkan-deps/vulkan-tools/src" - From //third_party/angle/gni/angle.gni:283 + Overridden from the default = "//third_party/angle/third_party/vulkan-tools/src" + From //third_party/angle/gni/angle.gni:306 angle_vulkan_validation_layers_dir - Current value = "//third_party/vulkan-deps/vulkan-validation-layers/src" + Current value = "//third_party/vulkan-validation-layers/src" From //.gn:62 - Overridden from the default = "//third_party/angle/third_party/vulkan-deps/vulkan-validation-layers/src" - From //third_party/angle/gni/angle.gni:285 + Overridden from the default = "//third_party/angle/third_party/vulkan-validation-layers/src" + From //third_party/angle/gni/angle.gni:308 angle_wayland_dir Current value (from the default) = "//third_party/angle/third_party/wayland" - From //third_party/angle/gni/angle.gni:276 + From //third_party/angle/gni/angle.gni:302 Directory where to find wayland source files @@ -565,24 +584,33 @@ apm_debug_dump archive_seed_corpus Current value (from the default) = true - From //build/config/sanitizers/sanitizers.gni:105 + From //build/config/sanitizers/sanitizers.gni:121 When true, seed corpora archives are built. +assert_cpp20 + Current value (from the default) = true + From //base/allocator/partition_allocator/partition_alloc.gni:435 + + Assert that PartitionAlloc and MiraclePtr run on C++20 when set to true. + Embedders may opt-out of using C++ 20 build. + auto_profile_path Current value (from the default) = "" - From //build/config/compiler/BUILD.gn:88 + From //build/config/compiler/BUILD.gn:84 AFDO (Automatic Feedback Directed Optimizer) is a form of profile-guided optimization that GCC supports. It used by ChromeOS in their official builds. To use it, set auto_profile_path to the path to a file containing the needed gcov profiling data. +backup_ref_ptr_extra_oob_checks + Current value (from the default) = true + From //base/allocator/partition_allocator/partition_alloc.gni:237 + backup_ref_ptr_poison_oob_ptr Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:220 - - Set to `enable_backup_ref_ptr_support && has_64_bit_pointers` when enabling. + From //base/allocator/partition_allocator/partition_alloc.gni:254 blink_animation_use_time_delta Current value (from the default) = false @@ -600,26 +628,18 @@ blink_enable_generated_code_formatting blink_gc_plugin Current value (from the default) = true - From //third_party/blink/renderer/BUILD.gn:18 + From //third_party/blink/renderer/BUILD.gn:19 Set to true to enable the clang plugin that checks the usage of the Blink garbage-collection infrastructure during compilation. blink_gc_plugin_option_do_dump_graph Current value (from the default) = false - From //third_party/blink/renderer/BUILD.gn:22 + From //third_party/blink/renderer/BUILD.gn:23 Set to true to have the clang Blink GC plugin emit class graph (in JSON) with typed pointer edges; for debugging or other (internal) uses. -blink_gc_plugin_option_warn_unneeded_finalizer - Current value (from the default) = false - From //third_party/blink/renderer/BUILD.gn:27 - - Set to true to have the clang Blink GC plugin additionally check if - a class has an empty destructor which would be unnecessarily invoked - when finalized. - blink_heap_inside_shared_library Current value (from the default) = false From //third_party/blink/renderer/platform/heap/BUILD.gn:17 @@ -630,7 +650,7 @@ blink_heap_inside_shared_library blink_symbol_level Current value = 0 - From //out/test/args.gn:44 + From //out/default/args.gn:44 Overridden from the default = -1 From //third_party/blink/renderer/config.gni:40 @@ -649,22 +669,32 @@ blink_symbol_level branding_file_path Current value (from the default) = "//chrome/app/theme/chromium/BRANDING" - From //build/config/chrome_build.gni:76 + From //build/config/chrome_build.gni:86 The path to the BRANDING file in chrome/app/theme. branding_path_component Current value (from the default) = "chromium" - From //build/config/chrome_build.gni:69 + From //build/config/chrome_build.gni:79 branding_path_product Current value (from the default) = "chromium" - From //build/config/chrome_build.gni:70 + From //build/config/chrome_build.gni:80 build_allocation_stack_trace_recorder Current value (from the default) = false From //base/debug/debug.gni:18 + Whether to compile support for Allocation Stack Trace Recorder. + + The recorder is initially intended as a support tool for Arm's + Memory Tagging Extensions. A history of the most recent allocations and + frees is included in the crashpad report and gives developers information + where the memory which was invalidly accessed was allocated or freed. + + Although it should work on other platforms as well, for the above reasons, + we currently enable it only for Android when compiling for Arm64. + build_allocation_trace_recorder_full_reporting Current value (from the default) = false From //base/debug/debug.gni:28 @@ -678,10 +708,14 @@ build_allocation_trace_recorder_full_reporting build_angle_deqp_tests Current value (from the default) = false - From //third_party/angle/gni/angle.gni:26 + From //third_party/angle/gni/angle.gni:29 Don't build dEQP by default. +build_angle_end2end_tests_aosp + Current value (from the default) = false + From //third_party/angle/gni/angle.gni:34 + build_angle_gles1_conform_tests Current value (from the default) = false From //third_party/angle/src/tests/BUILD.gn:10 @@ -704,18 +738,30 @@ build_contextual_search build_dawn_tests Current value (from the default) = true - From //ui/gl/features.gni:27 + From //ui/gl/features.gni:22 Should Dawn test binaries (unittests, end2end_tests, perf_tests) be built? Independent of use_dawn, which controls whether Dawn is used in Chromium. build_libsrtp_tests Current value (from the default) = false - From //third_party/libsrtp/BUILD.gn:10 + From //third_party/libsrtp/BUILD.gn:11 Tests may not be appropriate for some build environments, e.g. Windows. Rather than enumerate valid options, we just let clients ask for them. +build_mojo_proxy + Current value (from the default) = false + From //build/config/chromeos/args.gni:43 + + Build Mojo Proxy binary, to be used as a IPCZ <=> Mojo Core translation layer. + +build_tflite_with_nnapi + Current value (from the default) = false + From //third_party/tflite/features.gni:19 + + This enables building TFLite's NNAPI delegate, currently experimental. + build_tflite_with_ruy Current value (from the default) = true From //third_party/tflite/features.gni:16 @@ -724,25 +770,11 @@ build_tflite_with_ruy build_tflite_with_xnnpack Current value (from the default) = true - From //third_party/tflite/features.gni:11 - -build_webnn_with_tflite_model_loader - Current value (from the default) = false - From //third_party/blink/renderer/modules/ml/webnn/features.gni:15 - - This build flag enables WebNN to access hardware acceleration using TFLite - via the ModelLoader mojo interface. - -build_webnn_with_xnnpack - Current value (from the default) = true - From //third_party/blink/renderer/modules/ml/webnn/features.gni:9 - - This enables building WebNN with XNNPACK. Currently only available for - Windows, macOS and Linux on x64, x86 and arm64. + From //third_party/tflite/features.gni:12 build_with_internal_optimization_guide Current value (from the default) = false - From //components/optimization_guide/features.gni:41 + From //components/optimization_guide/features.gni:49 When TFLite works for windows arm64, this lib should just work seamlessly. Use is_chrome_branded as a proxy for "does src-internal exist". @@ -759,7 +791,7 @@ build_with_mediapipe_lib build_with_mozilla Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:156 + From //third_party/webrtc/webrtc.gni:153 Enable to use the Mozilla internal settings. @@ -773,20 +805,13 @@ build_with_tflite_lib bundle_widevine_cdm Current value = true - From //out/test/args.gn:66 + From //out/default/args.gn:60 Overridden from the default = false - From //third_party/widevine/cdm/widevine.gni:58 + From //third_party/widevine/cdm/widevine.gni:59 Widevine CDM is bundled as part of Google Chrome and Google Chrome for Testing builds. -cast_allow_developer_certificate - Current value (from the default) = false - From //third_party/openscreen/src/build/config/cast.gni:8 - - Whether or not self-signed certificates are enabled for the receiver - and sender implementations. - cast_streaming_enable_remoting Current value (from the default) = false From //components/cast_streaming/features.gni:9 @@ -795,24 +820,13 @@ cast_streaming_enable_remoting cc_wrapper Current value (from the default) = "" - From //build/toolchain/cc_wrapper.gni:37 + From //build/toolchain/cc_wrapper.gni:36 Set to "ccache", "icecc" or "distcc". Probably doesn't work on windows. -chrome_certificate_policies_supported - Current value (from the default) = true - From //chrome/common/features.gni:46 - - Platforms where Chrome x509 server certificate enterprise policies are - supported. This must must match the supported_on/future_on list of the - policy in the following policies stored in - components/policy/resources/templates/policy_definitions/: - - * CertificateManagement/CACertificates.yaml - * CertificateManagement/CADistrustedCertificates.yaml - * CertificateManagement/CAHintCertificates.yaml - * CertificateManagement/CAPlatformIntegrationEnabled.yaml - +channel_name_header_name + Current value (from the default) = "" + From //chrome/browser/request_header_integrity/buildflags.gni:10 chrome_enable_logging_by_default Current value (from the default) = false @@ -823,42 +837,46 @@ chrome_enable_logging_by_default chrome_pgo_phase Current value = 2 - From //out/test/args.gn:95 + From //out/default/args.gn:87 Overridden from the default = 2 - From //build/config/compiler/pgo/pgo.gni:31 + From //build/config/compiler/pgo/pgo.gni:32 + +chrome_root_store_cert_management_ui + Current value (from the default) = true + From //chrome/common/features.gni:41 chrome_root_store_only Current value (from the default) = true - From //net/features.gni:53 + From //net/features.gni:56 Platforms for which certificate verification can only be performed using the builtin cert verifier with the Chrome Root Store. chrome_root_store_optional Current value (from the default) = false - From //net/features.gni:49 + From //net/features.gni:52 - Platforms for which certificate verification can be performed using the - builtin cert verifier with the Chrome Root Store, and this can be - configured using the ChromeRootStoreUsed feature flag. When the feature - flag is false, verification may be done with the platform verifier or the - builtin verifier using platform roots, depending on the platform. - See https://crbug.com/1216547 for status. + Platforms for which certificate verification can be performed either using + the builtin cert verifier with the Chrome Root Store, or with the platform + verifier. + + Currently this is used only for Android because WebView does not use the + builtin cert verifier, but uses the Android cert verifier. chrome_root_store_supported Current value (from the default) = true - From //net/features.gni:68 + From //net/features.gni:79 chrome_wide_echo_cancellation_supported Current value (from the default) = true - From //media/media_options.gni:345 + From //media/media_options.gni:340 Currently it is available on Win, Mac and Linux, since it requires the audio service to run in a separate process. chromedriver_disclaim_responsibility Current value (from the default) = true - From //chrome/test/chromedriver/BUILD.gn:20 + From //chrome/test/chromedriver/BUILD.gn:21 Make macOS request permissions for the chrome binary instead of its parent process (usually the Terminmal.app). @@ -867,7 +885,7 @@ chromedriver_disclaim_responsibility chromeos_afdo_platform Current value (from the default) = "atom" - From //build/config/compiler/BUILD.gn:112 + From //build/config/compiler/BUILD.gn:108 This configuration is used to select a default profile in Chrome OS based on the microarchitectures we are using. This is only used if @@ -884,7 +902,7 @@ chromeos_is_browser_only If this flag is set, we assume Chrome runs on Chrome OS devices, using Wayland (instead of X11). - TODO(crbug.com/1052397): + TODO(crbug.com/40118868): Define chromeos_product instead, which takes either "browser" or "ash". Re-define the following variables as: is_chromeos_lacros = chromeos_product == "browser" @@ -892,52 +910,65 @@ chromeos_is_browser_only clang_base_path Current value (from the default) = "//third_party/llvm-build/Release+Asserts" - From //build/config/clang/clang.gni:29 + From //build/config/clang/clang.gni:33 clang_diagnostic_dir Current value (from the default) = "../../tools/clang/crashreports" - From //build/config/compiler/compiler.gni:128 + From //build/config/compiler/compiler.gni:121 clang_embed_bitcode Current value (from the default) = false - From //build/config/clang/clang.gni:33 + From //build/config/clang/clang.gni:37 Specifies whether or not bitcode should be embedded during compilation. This is used for creating a MLGO corpus from Chromium in the non-ThinLTO case. clang_emit_debug_info_for_profiling Current value (from the default) = false - From //build/config/compiler/BUILD.gn:116 + From //build/config/compiler/BUILD.gn:112 Emit debug information for profiling wile building with clang. Only enable this for ChromeOS official builds for AFDO. clang_sample_profile_path Current value (from the default) = "" - From //build/config/compiler/BUILD.gn:96 + From //build/config/compiler/BUILD.gn:92 Path to an AFDO profile to use while building with clang, if any. Empty implies none. +clang_unsafe_buffers_paths + Current value = "//build/config/unsafe_buffers_paths.txt" + From //.gn:76 + Overridden from the default = "" + From //build/config/BUILDCONFIG.gn:183 + + Unsafe buffers. Location of file used by plugins to track portions of + the codebase which have been made manifestly safe. + clang_use_chrome_plugins Current value = true - From //out/test/args.gn:56 + From //out/default/args.gn:53 Overridden from the default = true From //build/config/clang/clang.gni:15 clang_use_default_sample_profile Current value (from the default) = false - From //build/config/compiler/BUILD.gn:105 + From //build/config/compiler/BUILD.gn:101 + +clang_use_raw_ptr_plugin + Current value (from the default) = false + From //build/config/clang/clang.gni:19 + + Use this instead of clang_use_chrome_plugins to enable just the raw-ptr-plugin. clang_version - Current value (from the default) = "18" - From //build/toolchain/toolchain.gni:53 - - TODO(crbug.com/1517549): Remove in the next Clang roll. + Current value (from the default) = "20" + From //build/toolchain/toolchain.gni:54 com_init_check_hook_disabled Current value (from the default) = false - From //base/BUILD.gn:63 + From //base/BUILD.gn:68 Set to true to disable COM init check hooks. @@ -955,7 +986,7 @@ compile_syscall_broker compiler_timing Current value (from the default) = false - From //build/config/compiler/BUILD.gn:119 + From //build/config/compiler/BUILD.gn:115 Turn this on to have the compiler output extra timing information. @@ -1001,15 +1032,19 @@ content_enable_legacy_ipc content_shell_major_version Current value (from the default) = "999" - From //content/shell/BUILD.gn:45 + From //content/shell/BUILD.gn:48 content_shell_product_name - Current value (from the default) = "Content Shell" - From //content/shell/BUILD.gn:43 + Current value (from the default) = "Thorium Shell" + From //content/shell/BUILD.gn:46 content_shell_version - Current value (from the default) = "999.77.34.5" - From //content/shell/BUILD.gn:44 + Current value (from the default) = "999.7.3434.555" + From //content/shell/BUILD.gn:47 + +copyright_header_name + Current value (from the default) = "" + From //chrome/browser/request_header_integrity/buildflags.gni:11 coverage_instrumentation_input_file Current value (from the default) = "" @@ -1025,42 +1060,42 @@ coverage_instrumentation_input_file cppgc_allow_allocations_in_prefinalizers Current value (from the default) = false - From //v8/BUILD.gn:330 + From //v8/BUILD.gn:320 Enable allocations during prefinalizer invocations. cppgc_enable_2gb_cage Current value (from the default) = false - From //v8/gni/v8.gni:132 + From //v8/gni/v8.gni:148 Enable 2gb cage for fast compression/decompression. Currently disabled due to an increased number of OOMs. cppgc_enable_caged_heap Current value (from the default) = true - From //v8/BUILD.gn:323 + From //v8/BUILD.gn:313 cppgc_enable_larger_cage - Current value (from the default) = false - From //v8/gni/v8.gni:135 + Current value (from the default) = true + From //v8/gni/v8.gni:151 Enable support for larger cages, up to 16GB. cppgc_enable_object_names Current value (from the default) = false - From //v8/gni/v8.gni:116 + From //v8/gni/v8.gni:132 Enable object names in cppgc for profiling purposes. cppgc_enable_pointer_compression Current value (from the default) = false - From //v8/gni/v8.gni:128 + From //v8/gni/v8.gni:144 Enable pointer compression in cppgc. cppgc_enable_slim_write_barrier Current value (from the default) = true - From //v8/gni/v8.gni:125 + From //v8/gni/v8.gni:141 Enables a slim write barrier that only performs a single check in the fast path and delegates all further checks to a slow path call. This is fast @@ -1069,19 +1104,19 @@ cppgc_enable_slim_write_barrier cppgc_enable_verify_heap Current value (from the default) = "" - From //v8/BUILD.gn:327 + From //v8/BUILD.gn:317 Enables additional heap verification phases and checks. cppgc_enable_young_generation Current value (from the default) = false - From //v8/gni/v8.gni:119 + From //v8/gni/v8.gni:135 Enable young generation in cppgc. cppgc_is_standalone Current value (from the default) = false - From //v8/gni/v8.gni:113 + From //v8/gni/v8.gni:129 crashpad_dependencies Current value = "chromium" @@ -1132,17 +1167,17 @@ custom_toolchain custom_vulkan_loader_library_name Current value (from the default) = "" - From //third_party/vulkan-deps/vulkan-loader/src/BUILD.gn:20 + From //third_party/vulkan-loader/src/BUILD.gn:20 dawn_always_assert Current value (from the default) = false - From //third_party/dawn/scripts/dawn_features.gni:66 + From //third_party/dawn/scripts/dawn_features.gni:65 Enable Dawn's ASSERTs even in release builds dawn_complete_static_libs Current value (from the default) = false - From //third_party/dawn/scripts/dawn_features.gni:71 + From //third_party/dawn/scripts/dawn_features.gni:70 Should the Dawn static libraries be fully linked vs. GN's default of treating them as source sets. This is useful for people using Dawn @@ -1150,65 +1185,65 @@ dawn_complete_static_libs dawn_enable_d3d11 Current value (from the default) = false - From //third_party/dawn/scripts/dawn_features.gni:74 + From //third_party/dawn/scripts/dawn_features.gni:73 Enables the compilation of Dawn's D3D11 backend dawn_enable_d3d12 Current value (from the default) = false - From //third_party/dawn/scripts/dawn_features.gni:77 + From //third_party/dawn/scripts/dawn_features.gni:76 Enables the compilation of Dawn's D3D12 backend dawn_enable_desktop_gl Current value (from the default) = true - From //third_party/dawn/scripts/dawn_features.gni:88 + From //third_party/dawn/scripts/dawn_features.gni:87 Enables the compilation of Dawn's OpenGL backend (best effort, non-conformant) dawn_enable_error_injection Current value (from the default) = false - From //third_party/dawn/scripts/dawn_features.gni:103 + From //third_party/dawn/scripts/dawn_features.gni:102 dawn_enable_metal Current value (from the default) = false - From //third_party/dawn/scripts/dawn_features.gni:80 + From //third_party/dawn/scripts/dawn_features.gni:79 Enables the compilation of Dawn's Metal backend dawn_enable_null Current value (from the default) = true - From //third_party/dawn/scripts/dawn_features.gni:84 + From //third_party/dawn/scripts/dawn_features.gni:83 Enables the compilation of Dawn's Null backend (required for unittests, obviously non-conformant) dawn_enable_opengles Current value (from the default) = true - From //third_party/dawn/scripts/dawn_features.gni:94 + From //third_party/dawn/scripts/dawn_features.gni:93 dawn_enable_spirv_validation Current value (from the default) = true - From //third_party/dawn/scripts/dawn_features.gni:121 + From //third_party/dawn/scripts/dawn_features.gni:120 Disable SPIR-V validation on Android because it adds a significant amount to the binary size, and Tint's output should be well-formed. dawn_enable_vulkan Current value (from the default) = true - From //third_party/dawn/scripts/dawn_features.gni:98 + From //third_party/dawn/scripts/dawn_features.gni:97 Enables the compilation of Dawn's Vulkan backend Disables vulkan when compiling for UWP, since UWP only supports d3d dawn_enable_vulkan_loader Current value (from the default) = true - From //third_party/dawn/scripts/dawn_features.gni:117 + From //third_party/dawn/scripts/dawn_features.gni:116 dawn_enable_vulkan_validation_layers Current value (from the default) = true - From //third_party/dawn/scripts/dawn_features.gni:112 + From //third_party/dawn/scripts/dawn_features.gni:111 dawn_tests_use_angle Current value (from the default) = true @@ -1216,11 +1251,10 @@ dawn_tests_use_angle dawn_use_built_dxc Current value (from the default) = false - From //third_party/dawn/scripts/dawn_features.gni:61 + From //third_party/dawn/scripts/dawn_features.gni:60 Whether we allow building DXC. - DXC requires SM6.0+ which is blocklisted on x86, - and arm64 support is not implemented yet. + DXC requires SM6.0+ which is blocklisted on x86. See crbug.com/tint/1753. dawn_use_swiftshader @@ -1233,7 +1267,7 @@ dawn_use_swiftshader dcheck_always_on Current value = false - From //out/test/args.gn:18 + From //out/default/args.gn:19 Overridden from the default = false From //build/config/dcheck_always_on.gni:25 @@ -1307,7 +1341,7 @@ devtools_root_location devtools_skip_typecheck Current value (from the default) = false - From //third_party/devtools-frontend/src/third_party/typescript/typescript.gni:16 + From //third_party/devtools-frontend/src/scripts/build/typescript/typescript.gni:20 devtools_third_party_visibility Current value (from the default) = ["*"] @@ -1319,7 +1353,7 @@ devtools_ui_legacy_visibility devtools_use_remoteexec Current value (from the default) = false - From //third_party/devtools-frontend/src/third_party/typescript/typescript.gni:14 + From //third_party/devtools-frontend/src/scripts/build/typescript/typescript.gni:18 Set to true to enable remote compilation of TypeScript using reclient. This flag is temporarily until DevTools reclient support has stabilized. @@ -1328,19 +1362,19 @@ devtools_use_remoteexec devtools_visibility Current value = ["*"] - From //.gn:71 + From //.gn:74 Overridden from the default = [] From //third_party/devtools-frontend/src/front_end/visibility.gni:6 disable_brotli_filter Current value (from the default) = false - From //net/features.gni:24 + From //net/features.gni:27 Do not disable brotli filter by default. disable_fieldtrial_testing_config Current value = true - From //out/test/args.gn:22 + From //out/default/args.gn:22 Overridden from the default = false From //components/variations/service/BUILD.gn:15 @@ -1357,6 +1391,12 @@ disable_file_support Disables support for file URLs. File URL support requires use of icu. Cronet does not support file URLs. +disable_ftp_support + Current value (from the default) = false + From //net/features.gni:18 + + Disable FTP support. + disable_histogram_support Current value (from the default) = false From //components/cronet/BUILD.gn:16 @@ -1365,17 +1405,25 @@ disable_histogram_support disable_libfuzzer Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:87 + From //build/config/sanitizers/sanitizers.gni:99 Helper variable for testing builds with disabled libfuzzer. Not for client use. disable_zstd_filter Current value (from the default) = false - From //net/features.gni:27 + From //net/features.gni:30 Do not disable zstd filter by default, except for Cronet builds. +dpf_abseil_cpp_dir + Current value (from the default) = "//third_party/abseil-cpp" + From //third_party/distributed_point_functions/features.gni:7 + +dpf_highway_cpp_dir + Current value (from the default) = "//third_party/highway" + From //third_party/distributed_point_functions/features.gni:8 + enable_accessibility_service Current value (from the default) = false From //services/accessibility/buildflags.gni:11 @@ -1389,7 +1437,7 @@ enable_accessibility_service_internal enable_all_rust_features Current value = true - From //out/test/args.gn:93 + From //out/default/args.gn:85 Overridden from the default = false From //build/config/rust.gni:50 @@ -1398,6 +1446,14 @@ enable_all_rust_features almost all Rust features). Yet we still want to have some builders with all Rust features enabled. +enable_allocator_shim_partition_alloc_dispatch_with_advanced_checks_support + Current value (from the default) = false + From //base/allocator/partition_allocator/partition_alloc.gni:86 + +enable_android_site_isolation + Current value (from the default) = false + From //chrome/common/BUILD.gn:29 + enable_arcore Current value (from the default) = false From //device/vr/buildflags/buildflags.gni:21 @@ -1420,64 +1476,56 @@ enable_av1_decoder enable_background_contents Current value (from the default) = true - From //chrome/common/features.gni:49 + From //chrome/common/features.gni:44 Enables support for background apps. enable_background_mode Current value (from the default) = true - From //chrome/common/features.gni:50 + From //chrome/common/features.gni:45 enable_backup_ref_ptr_feature_flag - Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:194 - - Enable the feature flag required to activate backup ref pointers. That is to - say `PartitionAllocBackupRefPtr`. - - This is meant to be used primarily on bots. It is much easier to override - the feature flags using a binary flag instead of updating multiple bots's - scripts to pass command line arguments. + Current value (from the default) = true + From //base/allocator/partition_allocator/partition_alloc.gni:224 enable_backup_ref_ptr_instance_tracer Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:222 + From //base/allocator/partition_allocator/partition_alloc.gni:234 enable_backup_ref_ptr_slow_checks Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:186 + From //base/allocator/partition_allocator/partition_alloc.gni:213 enable_backup_ref_ptr_support Current value (from the default) = true - From //base/allocator/partition_allocator/partition_alloc.gni:144 + From //base/allocator/partition_allocator/partition_alloc.gni:163 enable_base_tracing Current value (from the default) = true - From //build_overrides/build.gni:36 + From //build_overrides/build.gni:39 Tracing support requires //third_party/perfetto, which is not available in libchrome (CrOS's version of //base). This flag can disable tracing support altogether, in which case all tracing instrumentation in //base becomes a no-op. - TODO(crbug/1065905): Add dependency on perfetto to support typed events. + TODO(crbug.com/40124378): Add dependency on perfetto to support typed events. enable_basic_print_dialog Current value (from the default) = true - From //printing/buildflags/buildflags.gni:34 + From //printing/buildflags/buildflags.gni:30 Enables the printing system dialog for platforms that support printing and have a system dialog. -enable_basic_printing - Current value (from the default) = true - From //printing/buildflags/buildflags.gni:25 +enable_blink_bindings_cooperating_scheduling + Current value (from the default) = false + From //third_party/blink/renderer/platform/BUILD.gn:243 - TODO(awscreen) Safety net to avoid revert for a flag rename which affects - many locations. Remove this once `enable_printing` has landed. + Enable cooperating scheduling hooks in auto-generated Blink bindings code. enable_blink_bindings_tracing Current value (from the default) = false - From //third_party/blink/renderer/platform/BUILD.gn:229 + From //third_party/blink/renderer/platform/BUILD.gn:240 Enable TRACE_EVENT instrumentation for Blink bindings. Disabled by default as it increases binary size. @@ -1488,6 +1536,14 @@ enable_bound_session_credentials Compile time flag for Bound Session Credentials. +enable_bracketed_proxy_uris + Current value (from the default) = false + From //net/features.gni:64 + + Bracketed URIs parsing is only available for debug builds. + TODO(crbug.com/365771838): Ensure tests are updated if needed if this + feature is changed at all. + enable_browser_speech_service Current value (from the default) = true From //chrome/services/speech/buildflags/buildflags.gni:24 @@ -1503,7 +1559,7 @@ enable_browser_speech_service enable_call_graph_profile_sort Current value (from the default) = true - From //build/config/compiler/BUILD.gn:246 + From //build/config/compiler/BUILD.gn:237 enable_callgrind Current value (from the default) = false @@ -1540,20 +1596,20 @@ enable_cast_renderer enable_cdm_host_verification Current value = false - From //out/test/args.gn:68 + From //out/default/args.gn:61 Overridden from the default = false - From //media/media_options.gni:240 + From //media/media_options.gni:241 enable_cdm_storage_id Current value (from the default) = false - From //media/media_options.gni:245 + From //media/media_options.gni:246 Enable Storage ID which is used by CDMs. This is only available with chrome branding, but may be overridden by other embedders. enable_cet_shadow_stack Current value (from the default) = true - From //build/config/compiler/compiler.gni:135 + From //build/config/compiler/compiler.gni:128 Mark binaries as compatible with Shadow Stack of Control-flow Enforcement Technology (CET). If Windows version and hardware supports the feature and @@ -1563,15 +1619,15 @@ enable_cet_shadow_stack enable_check_raw_ptr_fields Current value (from the default) = false - From //build/config/clang/clang.gni:19 + From //build/config/clang/clang.gni:22 enable_check_raw_ref_fields Current value (from the default) = false - From //build/config/clang/clang.gni:26 + From //build/config/clang/clang.gni:29 enable_chrome_notifications Current value (from the default) = true - From //chrome/common/features.gni:53 + From //chrome/common/features.gni:48 Enables usage of notifications via Chrome's MessageCenter. @@ -1592,26 +1648,25 @@ enable_chromium_prelude enable_click_to_call Current value (from the default) = true - From //chrome/common/features.gni:56 + From //components/sharing_message/buildflags.gni:11 + TODO(crbug.com/41481724): Remove this flag and corresponding build + conditions. Disable Click to Call on Fuchsia. -enable_component_updater - Current value (from the default) = true - From //chrome/common/features.gni:60 - - Whether to enable the component updater. Code is in - //components/component_updater. - enable_compose Current value (from the default) = true - From //components/compose/features.gni:7 + From //components/compose/features.gni:9 Whether Compose is enabled in the build. +enable_compute_pressure + Current value (from the default) = true + From //services/device/public/cpp/compute_pressure/buildflags.gni:12 + enable_concurrent_basic_print_dialogs Current value (from the default) = true - From //printing/buildflags/buildflags.gni:55 + From //printing/buildflags/buildflags.gni:47 enable_cros_libassistant Current value (from the default) = false @@ -1620,64 +1675,71 @@ enable_cros_libassistant Enable assistant implementation based on libassistant. enable_cros_media_app - Current value = false - From //out/test/args.gn:52 - Overridden from the default = false + Current value (from the default) = false From //ash/webui/media_app_ui/media_app_ui.gni:7 Whether to enable the "real" ChromeOS Media App. When false, a mock app is bundled for testing integration points. -enable_cxx - Current value (from the default) = true - From //build/config/rust.gni:32 - - The CXX tool is in //third_party/rust which is not shared with downstream - projects yet. So they need to copy the required dependencies and GN files - into their project to enable CXX there. - enable_dangling_raw_ptr_checks Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:199 + From //base/allocator/partition_allocator/partition_alloc.gni:231 enable_dangling_raw_ptr_feature_flag Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:207 + From //base/allocator/partition_allocator/partition_alloc.gni:249 Enable the feature flag required to check for dangling pointers. That is to say `PartitionAllocDanglingPtr`. - This is meant to be used primarily on bots. It is much easier to override - the feature flags using a binary flag instead of updating multiple bots's - scripts to pass command line arguments. - -enable_dangling_raw_ptr_perf_experiment - Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:217 - - Enables the dangling raw_ptr checks feature for the performance experiment. - Not every dangling pointers have been fixed or annotated yet. To avoid - accounting for the cost of calling the PA's embedder's callbacks when a - dangling pointer has been detected, this simulates the raw_ptr to be - allowed to dangle. + This is meant to be modified primarily on bots. It is much easier to + override the feature flags using a binary flag instead of updating multiple + bots's scripts to pass command line arguments. - This flag is temporary, and isn't used by PA embedders, so it doesn't need - to go through build_overrides + TODO(328104161): Remove this flag. enable_dav1d_decoder Current value (from the default) = true From //media/media_options.gni:108 +enable_desktop_android_extensions + Current value (from the default) = false + From //extensions/buildflags/buildflags.gni:30 + + `enable_desktop_android_extensions` is an experimental flag used in + prototypes of desktop-focused android-powered builds. This is very much + in-development, non-stable, and likely to crash at any given moment. + + Introducing a separate flag like this has the unfortunate effect of leading + to a lot of `if BUILDFLAG(ENABLE_EXTENSIONS)` checks in extensions code + itself, since those checks are instead the equivalent of + `if BUILDFLAG(ENABLE_FULL_EXTENSIONS_SYSTEM)`. However, we don't want to + change the stable, production-utilized `enable_extensions` flag for this + experimental build. + + As the experimental build progresses, there should be fewer of those + checks littered around the extensions codebase, since more and more of + the extensions code will be included in the desktop android variant. + + TODO(https://crbug.com/356905053): Continue expanding the scope of + enable_desktop_android_extensions. + +enable_device_bound_sessions + Current value (from the default) = false + From //net/features.gni:59 + + DBSC is only supported on windows for now + enable_discovery Current value = true - From //out/test/args.gn:51 + From //out/default/args.gn:49 Overridden from the default = false - From //chrome/browser/sharing/buildflags.gni:6 + From //components/sharing_message/buildflags.gni:6 enable_distro_version_check Current value = false - From //out/test/args.gn:13 - Overridden from the default = true + From //out/default/args.gn:14 + Overridden from the default = false From //chrome/installer/linux/BUILD.gn:28 Enables checks that ensure the packages are installable on all supported @@ -1706,13 +1768,24 @@ enable_dsyms all shared library, loadable module, and executable targets having a dSYM generated. +enable_enterprise_companion + Current value (from the default) = false + From //chrome/enterprise_companion/buildflags.gni:7 + enable_expensive_dchecks Current value (from the default) = false From //build/config/dcheck_always_on.gni:33 enable_extensions Current value (from the default) = true - From //extensions/buildflags/buildflags.gni:8 + From //extensions/buildflags/buildflags.gni:11 + + `enable_extensions` controls whether the full and stable extensions platform + is compiled. + +enable_extensions_core + Current value (from the default) = true + From //extensions/buildflags/buildflags.gni:52 enable_extractors Current value (from the default) = true @@ -1729,22 +1802,11 @@ enable_fake_assistant_microphone Enable a fake microphone, which can replay audio files as microphone input. See chromeos/ash/components/assistant/tools/send-audio.sh -enable_feed_v2 - Current value (from the default) = true - From //components/feed/features.gni:7 - - Whether Feed is enabled in the build. - enable_ffmpeg_video_decoders Current value = true - From //out/test/args.gn:57 + From //out/default/args.gn:54 Overridden from the default = true - From //media/media_options.gni:224 - - On Android, FFMpeg is built without video decoders by default. - This flag gives the option to override that decision in case there are no - hardware decoders. To do so, you will also need to update ffmpeg build files - in order to define which decoders to build in. + From //media/media_options.gni:225 enable_full_stack_frames_for_profiling Current value (from the default) = false @@ -1758,7 +1820,7 @@ enable_full_stack_frames_for_profiling enable_fuzztest_fuzz Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:140 + From //build/config/sanitizers/sanitizers.gni:164 enable_gpu_client_logging Current value (from the default) = false @@ -1768,7 +1830,7 @@ enable_gpu_client_logging enable_gpu_service_logging Current value (from the default) = false - From //ui/gl/BUILD.gn:21 + From //ui/gl/BUILD.gn:20 Whether service side logging (actual calls into the GL driver) is enabled or not. @@ -1779,6 +1841,13 @@ enable_grpc_ares Compiles with ares. +enable_guest_view + Current value (from the default) = true + From //extensions/buildflags/buildflags.gni:38 + + A separate control for whether GuestView (and corresponding elements + such as WebView, ExtensionOptionsView, etc) are enabled. + enable_gwp_asan Current value (from the default) = true From //components/gwp_asan/buildflags/buildflags.gni:27 @@ -1797,43 +1866,41 @@ enable_gwp_asan_partitionalloc From //components/gwp_asan/buildflags/buildflags.gni:22 enable_hangout_services_extension - Current value = true - From //out/test/args.gn:72 + Current value = false + From //out/default/args.gn:64 Overridden from the default = false - From //chrome/common/features.gni:64 + From //chrome/common/features.gni:52 Hangout services is an extension that adds extra features to Hangouts. It is enableable separately to facilitate testing. enable_hevc_parser_and_hw_decoder Current value = true - From //out/test/args.gn:81 + From //out/default/args.gn:72 Overridden from the default = true From //media/media_options.gni:121 enable_hidpi Current value (from the default) = true - From //ui/base/ui_features.gni:32 + From //ui/base/ui_features.gni:33 enable_hls_demuxer Current value = true - From //out/test/args.gn:49 + From //out/default/args.gn:48 Overridden from the default = false From //media/media_options.gni:115 Enable HLS manifest parser and demuxer. enable_ink - Current value = false - From //out/test/args.gn:50 - Overridden from the default = false - From //pdf/features.gni:18 + Current value (from the default) = false + From //pdf/features.gni:22 Enable ink libraries provided by the ChromeOS media app dependency. This argument indicates whether the ink libraries provided by the ChromeOS media app dependency is enabled. It also determines whether the annotation - feature is enabled for the PDF viewer. + feature is enabled for the PDF Viewer on Chrome OS. enable_ipc_fuzzer Current value (from the default) = false @@ -1851,7 +1918,7 @@ enable_ipc_logging enable_iterator_debugging Current value = false - From //out/test/args.gn:21 + From //out/default/args.gn:21 Overridden from the default = false From //build/config/c++/c++.gni:40 @@ -1865,13 +1932,23 @@ enable_iterator_debugging generation of snapshot_blob.bin take ~40-60 s longer. Therefore this defaults to off. +enable_jni_multiplexing + Current value (from the default) = true + From //third_party/jni_zero/jni_zero.gni:21 + enable_js_protobuf Current value (from the default) = true - From //third_party/protobuf/proto_library.gni:146 + From //third_party/protobuf/proto_library.gni:147 Allows subprojects to omit javascript dependencies (e.g.) closure_compiler and google-closure-library. +enable_jxl_decoder + Current value (from the default) = true + From //third_party/blink/public/public_features.gni:9 + + If true, adds support for JPEG XL image decoding. + enable_kythe_annotations Current value (from the default) = false From //build/toolchain/kythe.gni:10 @@ -1895,17 +1972,11 @@ enable_libaom Enable encoding and decoding AV1 video files. -enable_libaom_decoder - Current value (from the default) = false - From //third_party/libaom/options.gni:10 - - To be deprecated soon. - enable_library_cdms Current value = true - From //out/test/args.gn:64 + From //out/default/args.gn:58 Overridden from the default = true - From //media/media_options.gni:232 + From //media/media_options.gni:233 Enables the use of library CDMs that implements the interface defined at media/cdm/api/content_decryption_module.h. If true, the actually library CDM @@ -1914,13 +1985,13 @@ enable_library_cdms enable_linux_installer Current value = true - From //out/test/args.gn:12 + From //out/default/args.gn:13 Overridden from the default = true - From //chrome/installer/installers.gni:12 + From //chrome/installer/installers.gni:10 enable_log_error_not_reached Current value (from the default) = false - From //build/config/logging.gni:11 + From //build/config/logging.gni:12 enable_logging_override Current value (from the default) = false @@ -1930,15 +2001,9 @@ enable_logging_override On Cast devices, these are logged as INFO. When enabled on Fuchsia, these are logged as VLOGs. -enable_maldoca - Current value (from the default) = true - From //chrome/services/file_util/public/features.gni:14 - - Enables analysis of Office documents for malicious macros - enable_mdns Current value (from the default) = true - From //net/features.gni:30 + From //net/features.gni:33 Multicast DNS. @@ -1948,7 +2013,7 @@ enable_media_control_logging_override enable_media_drm_storage Current value = true - From //out/test/args.gn:70 + From //out/default/args.gn:63 Overridden from the default = false From //media/media_options.gni:112 @@ -1957,11 +2022,11 @@ enable_media_drm_storage enable_media_foundation_widevine_cdm Current value (from the default) = false - From //third_party/widevine/cdm/widevine.gni:50 + From //third_party/widevine/cdm/widevine.gni:51 enable_media_remoting Current value (from the default) = true - From //media/media_options.gni:333 + From //media/media_options.gni:328 This switch defines whether the Media Remoting implementation will be built. When enabled, media is allowed to be renderer and played back on remote @@ -1969,18 +2034,24 @@ enable_media_remoting enable_media_remoting_rpc Current value (from the default) = true - From //media/media_options.gni:339 + From //media/media_options.gni:334 Media Remoting RPC is disabled on Android since it's unused but increases the native binary size by ~70Kb. +enable_merge_request + Current value (from the default) = false + From //chromeos/components/libsegmentation/buildflags.gni:7 + + Request to merge features. + enable_message_center Current value (from the default) = true - From //ui/base/ui_features.gni:30 + From //ui/base/ui_features.gni:31 enable_ml_internal Current value (from the default) = false - From //services/on_device_model/on_device_model.gni:10 + From //services/on_device_model/on_device_model.gni:12 enable_modular_updater Current value (from the default) = false @@ -1994,14 +2065,14 @@ enable_mojo_tracing enable_mojom_fuzzer Current value (from the default) = false - From //mojo/public/tools/bindings/mojom.gni:47 + From //mojo/public/tools/bindings/mojom.gni:50 Enables generating javascript fuzzing-related code and the bindings for the MojoLPM fuzzer targets. Off by default. enable_mojom_message_id_scrambling Current value (from the default) = true - From //mojo/public/tools/bindings/mojom.gni:43 + From //mojo/public/tools/bindings/mojom.gni:46 Controls message ID scrambling behavior. If |true|, message IDs are scrambled (i.e. randomized based on the contents of //chrome/VERSION) on @@ -2011,7 +2082,7 @@ enable_mojom_message_id_scrambling enable_mojom_typemapping Current value (from the default) = true - From //mojo/public/tools/bindings/mojom.gni:36 + From //mojo/public/tools/bindings/mojom.gni:39 Indicates whether typemapping should be supported in this build configuration. This may be disabled when building external projects which @@ -2024,13 +2095,13 @@ enable_mojom_typemapping enable_mse_mpeg2ts_stream_parser Current value = true - From //out/test/args.gn:88 + From //out/default/args.gn:80 Overridden from the default = true From //media/media_options.gni:144 enable_mutex_priority_inheritance Current value (from the default) = false - From //base/BUILD.gn:68 + From //base/BUILD.gn:73 Set to true to enable mutex priority inheritance. See the comments in LockImpl::PriorityInheritanceAvailable() in lock_impl_posix.cc for the @@ -2038,9 +2109,9 @@ enable_mutex_priority_inheritance enable_nacl Current value = false - From //out/test/args.gn:28 + From //out/default/args.gn:28 Overridden from the default = false - From //components/nacl/features.gni:27 + From //components/nacl/features.gni:26 Enables Native Client support. @@ -2066,17 +2137,17 @@ enable_offline_pages_harness enable_oop_basic_print_dialog Current value (from the default) = false - From //printing/buildflags/buildflags.gni:62 + From //printing/buildflags/buildflags.gni:54 Enables the printing system dialog being invoked from out-of-process for platforms that support printing, have a system dialog, and which can invoke that system print dialog from a process other than the browser process. - TODO(crbug.com/809738) Determine if Linux Wayland can be made to have a + TODO(crbug.com/40561724) Determine if Linux Wayland can be made to have a system dialog be modal against an application window in the browser process. enable_oop_printing Current value (from the default) = true - From //printing/buildflags/buildflags.gni:47 + From //printing/buildflags/buildflags.gni:43 Enables out-of-process printing. Do not have this definition just be based on `enable_print_preview`; this feature could still be appropriate @@ -2084,7 +2155,7 @@ enable_oop_printing enable_oop_printing_no_oop_basic_print_dialog Current value (from the default) = true - From //printing/buildflags/buildflags.gni:68 + From //printing/buildflags/buildflags.gni:60 enable_opengl_apitrace Current value (from the default) = false @@ -2100,7 +2171,7 @@ enable_opengl_apitrace enable_openscreen_protocol Current value (from the default) = false - From //chrome/browser/media/router/BUILD.gn:12 + From //chrome/browser/media/router/BUILD.gn:15 Set to true to build code that supports the Open Screen Protocol. OSP is experimental and not yet feature-complete. @@ -2125,19 +2196,32 @@ enable_paint_preview enable_pdf Current value (from the default) = true - From //pdf/features.gni:20 + From //pdf/features.gni:13 + +enable_pdf_ink2 + Current value (from the default) = true + From //pdf/features.gni:26 + + Enable the next generation of ink libraries. This can co-exist with + `enable_ink` above. + +enable_pdf_ink2_stubs + Current value (from the default) = true + From //pdf/features.gni:29 + + Enable Ink Stubs. Only applicable when `enable_pdf_ink2` is true. enable_perfetto_benchmarks Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:195 + From //third_party/perfetto/gn/perfetto.gni:199 enable_perfetto_fuzzers Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:198 + From //third_party/perfetto/gn/perfetto.gni:202 enable_perfetto_grpc Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:322 + From //third_party/perfetto/gn/perfetto.gni:336 Enables gRPC in the Perfetto codebase. gRPC significantly increases build times and the general footprint of Perfetto. As it only required for @@ -2146,27 +2230,35 @@ enable_perfetto_grpc enable_perfetto_heapprofd Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:157 + From //third_party/perfetto/gn/perfetto.gni:161 enable_perfetto_integration_tests Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:193 + From //third_party/perfetto/gn/perfetto.gni:197 enable_perfetto_ipc Current value (from the default) = true - From //third_party/perfetto/gn/perfetto.gni:150 + From //third_party/perfetto/gn/perfetto.gni:154 enable_perfetto_llvm_demangle Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:316 + From //third_party/perfetto/gn/perfetto.gni:330 + +enable_perfetto_merged_protos_check + Current value (from the default) = false + From //third_party/perfetto/gn/perfetto.gni:358 + + Check that the merged perfetto_trace.proto can be translated to a C++ lite + proto and compiled. This is disabled by default because it's expensive (it + can take a couple of minutes). enable_perfetto_platform_services Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:141 + From //third_party/perfetto/gn/perfetto.gni:145 enable_perfetto_site Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:339 + From //third_party/perfetto/gn/perfetto.gni:353 Allows to build the perfetto.dev website. WARNING: if this flag is enabled, the build performs globbing at generation @@ -2175,51 +2267,55 @@ enable_perfetto_site enable_perfetto_stderr_crash_dump Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:235 + From //third_party/perfetto/gn/perfetto.gni:239 enable_perfetto_system_consumer Current value (from the default) = true - From //third_party/perfetto/gn/perfetto.gni:251 + From //third_party/perfetto/gn/perfetto.gni:255 enable_perfetto_tools Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:187 + From //third_party/perfetto/gn/perfetto.gni:191 enable_perfetto_trace_processor Current value (from the default) = true - From //third_party/perfetto/gn/perfetto.gni:173 + From //third_party/perfetto/gn/perfetto.gni:177 enable_perfetto_trace_processor_httpd Current value (from the default) = true - From //third_party/perfetto/gn/perfetto.gni:302 + From //third_party/perfetto/gn/perfetto.gni:314 enable_perfetto_trace_processor_json Current value (from the default) = true - From //third_party/perfetto/gn/perfetto.gni:295 + From //third_party/perfetto/gn/perfetto.gni:299 enable_perfetto_trace_processor_linenoise Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:289 + From //third_party/perfetto/gn/perfetto.gni:293 + +enable_perfetto_trace_processor_mac_instruments + Current value (from the default) = false + From //third_party/perfetto/gn/perfetto.gni:305 enable_perfetto_trace_processor_percentile Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:284 + From //third_party/perfetto/gn/perfetto.gni:288 enable_perfetto_trace_processor_sqlite Current value (from the default) = true - From //third_party/perfetto/gn/perfetto.gni:279 + From //third_party/perfetto/gn/perfetto.gni:283 enable_perfetto_traceconv Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:328 + From //third_party/perfetto/gn/perfetto.gni:342 enable_perfetto_traced_perf Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:165 + From //third_party/perfetto/gn/perfetto.gni:169 enable_perfetto_traced_probes Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:267 + From //third_party/perfetto/gn/perfetto.gni:271 The traced_probes daemon is very Linux-specific, as it depends on ftrace and various /proc interfaces. There is no point making its code platform-neutral @@ -2231,42 +2327,42 @@ enable_perfetto_traced_probes enable_perfetto_traced_relay Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:271 + From //third_party/perfetto/gn/perfetto.gni:275 The relay service is enabled when platform services are enabled. TODO(chinglinyu) check if we can enable on Windows. enable_perfetto_ui Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:332 + From //third_party/perfetto/gn/perfetto.gni:346 enable_perfetto_unittests Current value (from the default) = true - From //third_party/perfetto/gn/perfetto.gni:189 + From //third_party/perfetto/gn/perfetto.gni:193 enable_perfetto_version_gen Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:204 + From //third_party/perfetto/gn/perfetto.gni:208 enable_perfetto_watchdog Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:182 + From //third_party/perfetto/gn/perfetto.gni:186 enable_perfetto_x64_cpu_opt Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:243 + From //third_party/perfetto/gn/perfetto.gni:247 enable_perfetto_zlib Current value (from the default) = true - From //third_party/perfetto/gn/perfetto.gni:310 + From //third_party/perfetto/gn/perfetto.gni:322 enable_pkeys Current value (from the default) = true - From //base/allocator/partition_allocator/partition_alloc.gni:344 + From //base/allocator/partition_allocator/partition_alloc.gni:396 enable_platform_ac3_eac3_audio Current value = true - From //out/test/args.gn:82 + From //out/default/args.gn:74 Overridden from the default = false From //media/media_options.gni:71 @@ -2274,23 +2370,33 @@ enable_platform_ac3_eac3_audio on-device decoding and bitstream passthrough as supported by device. enable_platform_ac4_audio - Current value = true - From //out/test/args.gn:83 + Current value = false + From //out/default/args.gn:75 Overridden from the default = false From //media/media_options.gni:75 Enables AC4 audio handling in chromium. This includes demuxing, on-device decoding and bitstream passthrough as supported by device. +enable_platform_apps + Current value (from the default) = true + From //extensions/buildflags/buildflags.gni:45 + + A control for whether support for platform apps should be compiled into the + browser. + TODO(https://crbug.com/41407868): This doesn't belong here; extensions code + shouldn't rely on platform apps at all. But at least this lets it be + toggled / if-def'd. + enable_platform_dolby_vision Current value = true - From //out/test/args.gn:84 + From //out/default/args.gn:76 Overridden from the default = false From //media/media_options.gni:94 enable_platform_dts_audio Current value = true - From //out/test/args.gn:87 + From //out/default/args.gn:79 Overridden from the default = false From //media/media_options.gni:81 @@ -2299,7 +2405,7 @@ enable_platform_dts_audio enable_platform_encrypted_dolby_vision Current value = true - From //out/test/args.gn:85 + From //out/default/args.gn:77 Overridden from the default = false From //media/media_options.gni:101 @@ -2309,9 +2415,15 @@ enable_platform_encrypted_dolby_vision default, unless overwritten by the run time feature kAllowClearDolbyVisionInMseWhenPlatformEncryptedDvEnabled. +enable_platform_experience + Current value (from the default) = false + From //chrome/browser/buildflags.gni:9 + + By default, only branded builds allow for platform experience. + enable_platform_hevc Current value = true - From //out/test/args.gn:80 + From //out/default/args.gn:71 Overridden from the default = true From //media/media_options.gni:140 @@ -2324,7 +2436,7 @@ enable_platform_iamf_audio enable_platform_mpeg_h_audio Current value = true - From //out/test/args.gn:86 + From //out/default/args.gn:78 Overridden from the default = false From //media/media_options.gni:77 @@ -2348,7 +2460,7 @@ enable_plugins enable_pointer_arithmetic_trait_check Current value (from the default) = true - From //base/allocator/partition_allocator/partition_alloc.gni:124 + From //base/allocator/partition_allocator/partition_alloc.gni:143 Enables a compile-time check that all raw_ptrs to which arithmetic operations are to be applied are annotated with the AllowPtrArithmetic @@ -2356,7 +2468,7 @@ enable_pointer_arithmetic_trait_check enable_pointer_compression_support Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:115 + From //base/allocator/partition_allocator/partition_alloc.gni:134 Introduces pointer compression support in PA. These are 4-byte pointers that can point within the core pools (regular and BRP). @@ -2367,7 +2479,7 @@ enable_pointer_compression_support enable_pointer_subtraction_check Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:119 + From //base/allocator/partition_allocator/partition_alloc.gni:138 Enables a bounds check when two pointers (at least one being raw_ptr) are subtracted (if supported by the underlying implementation). @@ -2382,16 +2494,9 @@ enable_ppapi enable_precompiled_headers Current value = false - From //out/test/args.gn:45 + From //out/default/args.gn:45 Overridden from the default = false - From //build/config/pch.gni:15 - -enable_print_content_analysis - Current value (from the default) = true - From //printing/buildflags/buildflags.gni:51 - - Enable snapshotting a page when printing for its content to be analyzed for - sensitive content by enterprise users. + From //build/config/pch.gni:14 enable_print_media_l10n Current value (from the default) = false @@ -2403,7 +2508,7 @@ enable_print_media_l10n enable_print_preview Current value (from the default) = true - From //printing/buildflags/buildflags.gni:30 + From //printing/buildflags/buildflags.gni:26 Enables printing with print preview. Print preview requires PDF per //printing/BUILD.gn. @@ -2419,13 +2524,13 @@ enable_printing_tests Current value (from the default) = false From //printing/buildflags/buildflags.gni:19 - TODO(crbug.com/1432082): iOS blink port only enables printing_tests to run + TODO(crbug.com/40263786): iOS blink port only enables printing_tests to run unit tests and web tests for now because the port does not enable the printing feature yet. enable_profiling Current value = false - From //out/test/args.gn:25 + From //out/default/args.gn:25 Overridden from the default = false From //build/config/compiler/compiler.gni:69 @@ -2467,17 +2572,21 @@ enable_remoting enable_reporting Current value = false - From //out/test/args.gn:23 + From //out/default/args.gn:23 Overridden from the default = true - From //net/features.gni:33 + From //net/features.gni:36 Reporting not used on iOS. +enable_request_header_integrity + Current value (from the default) = false + From //chrome/browser/request_header_integrity/buildflags.gni:8 + enable_resource_allowlist_generation Current value = false - From //out/test/args.gn:24 + From //out/default/args.gn:24 Overridden from the default = false - From //build/toolchain/gcc_toolchain.gni:29 + From //build/toolchain/gcc_toolchain.gni:28 enable_rlz Current value (from the default) = false @@ -2485,7 +2594,7 @@ enable_rlz enable_rust Current value = true - From //out/test/args.gn:92 + From //out/default/args.gn:84 Overridden from the default = true From //build/config/rust.gni:27 @@ -2499,43 +2608,66 @@ enable_rust enable_rust_base_conversions Current value (from the default) = true - From //build/config/rust.gni:109 + From //build/config/rust.gni:108 Conversions between Rust types and C++ types. -enable_rust_boringssl - Current value (from the default) = true - From //build/config/rust.gni:124 - - Enable Boringssl Rust bindings generation - enable_rust_crash Current value (from the default) = true - From //build/config/rust.gni:115 + From //build/config/rust.gni:114 Support for chrome://crash-rust to check crash dump collection works. +enable_rust_cxx + Current value (from the default) = true + From //build/config/rust.gni:32 + + The CXX tool is in //third_party/rust which is not shared with downstream + projects yet. So they need to copy the required dependencies and GN files + into their project to enable CXX there. + enable_rust_gtest_interop Current value (from the default) = true - From //build/config/rust.gni:121 + From //build/config/rust.gni:120 Rust gtest interop. enable_rust_json Current value (from the default) = true - From //build/config/rust.gni:112 + From //build/config/rust.gni:111 The base::JSONReader implementation. Requires base conversions. enable_rust_mojo Current value (from the default) = true - From //build/config/rust.gni:118 + From //build/config/rust.gni:117 Support for Rust mojo bindings. +enable_rust_mojom_bindings + Current value (from the default) = true + From //mojo/public/tools/bindings/mojom.gni:54 + + Output Rust mojom bindings when `generate_rust` is `true` for a target. The + option has no effect if this flag is disabled. + +enable_rust_png + Current value (from the default) = true + From //build/config/rust.gni:127 + + WIP attempt to replace `libpng` with Rust `png` crate. + + TODO(https://crbug.com/360375227): Remove the `enable_all_rust_features` + condition below (only true on Rust bots) once/if ready to start A/B + experiments. + +enable_screen_ai_browsertests + Current value (from the default) = true + From //services/screen_ai/buildflags/features.gni:15 + enable_screen_ai_service Current value (from the default) = true - From //components/services/screen_ai/buildflags/features.gni:10 + From //services/screen_ai/buildflags/features.gni:10 Screen AI service is only supported on desktop platforms. @@ -2552,18 +2684,18 @@ enable_server_based_recognition enable_service_discovery Current value (from the default) = true - From //chrome/common/features.gni:66 + From //chrome/common/features.gni:54 enable_session_service Current value (from the default) = true - From //chrome/common/features.gni:70 + From //chrome/common/features.gni:58 Enables use of the session service, which is enabled by default. Android stores them separately on the Java side. enable_shadow_call_stack Current value (from the default) = false - From //build/config/compiler/BUILD.gn:195 + From //build/config/compiler/BUILD.gn:191 Enable ShadowCallStack for compiled binaries. SCS stores a pointer to a shadow call stack in register x18. Hence, x18 must not be used by the OS @@ -2573,7 +2705,7 @@ enable_shadow_call_stack enable_shadow_metadata Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:228 + From //base/allocator/partition_allocator/partition_alloc.gni:260 Shadow metadata is still under development and only supports Linux for now. @@ -2598,15 +2730,18 @@ enable_speech_service Whether the browser provides a speech recognition service (//media/mojo/mojom/speech_recognition_service.mojom) to the renderer. - TODO(crbug.com/1378804) Enable on Fuchsia. + TODO(crbug.com/40244098) Enable on Fuchsia. enable_stack_trace_line_numbers Current value (from the default) = false - From //build/config/logging.gni:12 + From //build/config/logging.gni:23 + + Enables the DWARF line number reader on Linux. This only has an effect if + print_unsymbolized_stack_traces is false. enable_stripping Current value = true - From //out/test/args.gn:16 + From //out/default/args.gn:17 Overridden from the default = true From //build/config/apple/symbols.gni:24 @@ -2624,7 +2759,7 @@ enable_supervised_users enable_swiftshader Current value (from the default) = true - From //ui/gl/features.gni:37 + From //ui/gl/features.gni:29 enable_swiftshader_vulkan Current value (from the default) = true @@ -2634,37 +2769,43 @@ enable_swiftshader_vulkan --use-vulkan=swiftshader and some tests which use swiftshader vulkan will not work. -enable_system_notifications - Current value (from the default) = true - From //chrome/common/features.gni:74 - enable_trace_logging Current value (from the default) = true - From //third_party/openscreen/src/util/BUILD.gn:12 + From //third_party/openscreen/src/util/BUILD.gn:13 Enables trace logging in build. This is true by default, but may be disabled for a slight performance increase. enable_update_notifications Current value (from the default) = false - From //chrome/browser/buildflags.gni:13 + From //chrome/browser/buildflags.gni:16 Detect updates and notify the user for Google Chrome across all platforms. Chromium does not use an auto-updater. enable_updater Current value (from the default) = false - From //chrome/browser/buildflags.gni:9 + From //chrome/browser/buildflags.gni:12 By default, only branded builds integrate with automatic updates. enable_validating_command_decoder Current value (from the default) = false - From //ui/gl/features.gni:30 + From //ui/gl/features.gni:24 + +enable_vectorized_html_scanning + Current value (from the default) = false + From //third_party/blink/renderer/core/BUILD.gn:105 + + Use vectorization for fast path HTML parser. + +enable_video_effects + Current value (from the default) = true + From //services/video_effects/args.gni:6 enable_vr Current value = true - From //out/test/args.gn:78 + From //out/default/args.gn:70 Overridden from the default = true From //device/vr/buildflags/buildflags.gni:35 @@ -2674,12 +2815,6 @@ enable_vulkan Enable experimental vulkan backend. -enable_wayland_server - Current value (from the default) = false - From //chrome/common/features.gni:77 - - Indicates if Wayland display server support is enabled. - enable_websockets Current value (from the default) = true From //net/features.gni:15 @@ -2689,7 +2824,7 @@ enable_websockets enable_webui_certificate_viewer Current value (from the default) = true - From //chrome/common/features.gni:80 + From //chrome/common/features.gni:61 Enables the webui certificate viewer dialog. @@ -2702,7 +2837,7 @@ enable_webui_inline_sourcemaps enable_webui_tab_strip Current value = true - From //out/test/args.gn:30 + From //out/default/args.gn:30 Overridden from the default = true From //ui/webui/webui_features.gni:15 @@ -2710,8 +2845,8 @@ enable_webui_tab_strip enable_widevine Current value = true - From //out/test/args.gn:65 - Overridden from the default = false + From //out/default/args.gn:59 + Overridden from the default = true From //third_party/widevine/cdm/widevine.gni:15 Enables Widevine key system support. Enabled by default in Google Chrome, @@ -2719,44 +2854,48 @@ enable_widevine Can be optionally enabled in Chromium on non-Android platforms. Please see //src/third_party/widevine/LICENSE file for details. -enterprise_client_certificates +enable_widevine_cdm_host_verification Current value (from the default) = false - From //components/enterprise/buildflags/buildflags.gni:26 + From //third_party/widevine/cdm/widevine.gni:70 + +enterprise_client_certificates + Current value (from the default) = true + From //components/enterprise/buildflags/buildflags.gni:25 Indicates support for client certificates provisioning. enterprise_cloud_content_analysis Current value (from the default) = true - From //components/enterprise/buildflags/buildflags.gni:16 + From //components/enterprise/buildflags/buildflags.gni:14 enterprise_content_analysis Current value (from the default) = true - From //components/enterprise/buildflags/buildflags.gni:38 + From //components/enterprise/buildflags/buildflags.gni:40 enterprise_data_controls Current value (from the default) = true - From //components/enterprise/buildflags/buildflags.gni:23 - - Indicates support for Data Control rules. + From //components/enterprise/buildflags/buildflags.gni:22 enterprise_local_content_analysis Current value (from the default) = true - From //components/enterprise/buildflags/buildflags.gni:20 + From //components/enterprise/buildflags/buildflags.gni:18 Indicates support for content analysis against a cloud agent for Enterprise Connector policies. +enterprise_screenshot_protection + Current value (from the default) = false + From //components/enterprise/buildflags/buildflags.gni:31 + enterprise_watermark Current value (from the default) = true From //components/enterprise/buildflags/buildflags.gni:29 - The watermark is currently implemented using the views framework - exclude_unwind_tables Current value = true - From //out/test/args.gn:19 + From //out/default/args.gn:20 Overridden from the default = true - From //build/config/compiler/compiler.gni:124 + From //build/config/compiler/compiler.gni:117 Exclude unwind tables by default for official builds as unwinding can be done from stack dumps produced by Crashpad at a later time "offline" in the @@ -2779,29 +2918,29 @@ extended_tracing_enabled extra_sysroot_libs Current value (from the default) = [] - From //build/config/rust.gni:90 + From //build/config/rust.gni:94 Non-rlib libs provided in the toolchain sysroot. Usually this is empty, but e.g. the Android Rust Toolchain provides a libunwind.a that rustc expects. fail_on_san_warnings Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:108 + From //build/config/sanitizers/sanitizers.gni:256 When true, sanitizer warnings will cause test case failures. fatal_linker_warnings Current value (from the default) = true - From //build/config/compiler/BUILD.gn:77 + From //build/config/compiler/BUILD.gn:73 Enable fatal linker warnings. Building Chromium with certain versions of binutils can cause linker warning. ffmpeg_branding Current value = "Chrome" - From //out/test/args.gn:54 + From //out/default/args.gn:51 Overridden from the default = "Chromium" - From //third_party/ffmpeg/ffmpeg_options.gni:32 + From //third_party/ffmpeg/ffmpeg_options.gni:34 Controls whether we build the Chromium or Google Chrome version of FFmpeg. The Google Chrome version contains additional codecs. Typical values are @@ -2809,7 +2948,7 @@ ffmpeg_branding ffmpeg_use_unsafe_atomics Current value (from the default) = false - From //third_party/ffmpeg/ffmpeg_options.gni:50 + From //third_party/ffmpeg/ffmpeg_options.gni:52 Set to true to force the use of ffmpeg's stdatomic fallback code. This code is unsafe and does not implement atomics properly. https://crbug.com/161723. @@ -2823,7 +2962,7 @@ ffmpeg_use_unsafe_atomics forbid_non_component_debug_builds Current value (from the default) = true - From //build/config/compiler/compiler.gni:111 + From //build/config/compiler/compiler.gni:104 Whether an error should be raised on attempts to make debug builds with is_component_build=false. Very large debug symbols can have unwanted side @@ -2842,14 +2981,14 @@ force_enable_fieldtrial_testing_config force_enable_raw_ptr_exclusion Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:148 + From //base/allocator/partition_allocator/partition_alloc.gni:167 RAW_PTR_EXCLUSION macro is disabled on official builds because it increased binary size. This flag can be used to enable it for official builds too. force_rustc_color_output Current value (from the default) = false - From //build/config/rust.gni:100 + From //build/config/rust.gni:99 Force-enable `--color=always` for rustc, even when it would be disabled for a platform. Mostly applicable to Windows, where new versions can handle ANSI @@ -2857,22 +2996,12 @@ force_rustc_color_output forward_through_malloc Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:129 + From //base/allocator/partition_allocator/partition_alloc.gni:148 Forwards all the allocation/freeing calls in shim (e.g. operator new) through malloc. Useful for using with tools that intercept malloc, e.g. heaptrack. -fuzztest_supported - Current value (from the default) = true - From //build/config/sanitizers/sanitizers.gni:115 - - The fuzztest library builds only on some platforms, so for now, - all targets depending on fuzztest need to be configured according - to this. - TODO(crbug.com/1494445): remove this when all build permutations - work - gcc_target_rpath Current value (from the default) = "" From //build/config/gcc/BUILD.gn:19 @@ -2885,12 +3014,19 @@ gcc_target_rpath especially when cross-compiling. Note: this gn arg is similar to gyp target_rpath generator flag. +generate_about_credits + Current value (from the default) = true + From //components/resources/BUILD.gn:16 + + Generating the credits page requires a filesystem traversal for licenses + that is slow in some environments. + generate_fuzzer_owners Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:215 + From //build/config/sanitizers/sanitizers.gni:260 Generates an owners file for each fuzzer test. - TODO(crbug.com/1194183): Remove this arg when finding OWNERS is faster. + TODO(crbug.com/40175535): Remove this arg when finding OWNERS is faster. generate_linker_map Current value (from the default) = false @@ -2899,29 +3035,15 @@ generate_linker_map Used for binary size analysis. glue_core_pools - Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:107 + Current value (from the default) = true + From //base/allocator/partition_allocator/partition_alloc.gni:126 Puts the regular and BRP pools right next to each other, so that we can check "belongs to one of the two pools" with a single bitmask operation. - -gold_path - Current value (from the default) = "" - From //build/config/compiler/BUILD.gn:73 - - When we are going to use gold we need to find it. - This is initialized below, after use_gold might have been overridden. - -goma_dir - Current value (from the default) = "" - From //build/toolchain/goma.gni:14 - - Absolute directory containing the gomacc binary. + TODO(crbug.com/350104111): Fix ios-simulator failures to remove `!is_ios`. google_api_key - Current value = "" - From //out/test/args.gn:3 - Overridden from the default = "" + Current value (from the default) = "" From //google_apis/BUILD.gn:43 Set these to bake the specified API keys and OAuth client @@ -2938,17 +3060,13 @@ google_api_key keys will be used instead. google_default_client_id - Current value = "" - From //out/test/args.gn:4 - Overridden from the default = "" + Current value (from the default) = "" From //google_apis/BUILD.gn:46 See google_api_key. google_default_client_secret - Current value = "" - From //out/test/args.gn:5 - Overridden from the default = "" + Current value (from the default) = "" From //google_apis/BUILD.gn:49 See google_api_key. @@ -2959,7 +3077,7 @@ grpc_use_static_linking gtest_enable_absl_printers Current value (from the default) = true - From //build_overrides/build.gni:54 + From //build_overrides/build.gni:50 Allows googletest to pretty-print various absl types. Disabled for nacl due to lack of toolchain support. @@ -2973,15 +3091,11 @@ gtk_version has_native_accessibility Current value (from the default) = true - From //ui/base/ui_features.gni:18 - - Whether the platform provides a native accessibility toolkit, in other words - the platform has a C/C++ interface for accessibility that Chrome - implements/subclasses in some way - win, mac, linux. + From //ui/base/ui_features.gni:19 has_platform_accessibility_support Current value (from the default) = false - From //ui/base/ui_features.gni:26 + From //ui/base/ui_features.gni:27 Whether the platform provide platform-specific accessibility implementation, i.e. there an accessibility API of some kind on this platform that's @@ -3021,6 +3135,17 @@ headless_use_prefs Use Prefs component to access Local State and other preferences. +high_end_fuzzer_targets + Current value (from the default) = false + From //build/config/sanitizers/sanitizers.gni:129 + + When true, only builds fuzzer targets that require high end machines to run. + Otherwise, builds all the targets. + TODO(paulsemel): once we have everything implemented on the recipe side, we + can change the behaviour for the false case, and only build the non high-end + jobs, so that they do not appear in the zip. As for now, this behaviour + ensures nothing breaks. + host_byteorder Current value (from the default) = "undefined" From //build/config/host_byteorder.gni:9 @@ -3069,6 +3194,12 @@ icu_fuchsia_extra_compile_flags Fuchsia. This flag allows us to define the flag ahead of time in //build/icu.gni, and remove the rollout issues. +icu_fuchsia_extra_configs + Current value (from the default) = [] + From //third_party/icu/config.gni:42 + + Similar to above, except it allows adding an entire `config` target. + icu_fuchsia_override_data_dir Current value (from the default) = "" From //third_party/icu/config.gni:29 @@ -3077,6 +3208,13 @@ icu_fuchsia_override_data_dir the ICU data files content. The setting has effect only when building inside the Fuchsia source tree. +icu_fuchsia_remove_configs + Current value (from the default) = [] + From //third_party/icu/config.gni:46 + + Similar to above, except it allows removing an entire `config` target, if + it exists. + icu_use_data_file Current value (from the default) = true From //third_party/icu/config.gni:15 @@ -3094,8 +3232,8 @@ icu_use_stub_data ignore_missing_widevine_signing_cert Current value = true - From //out/test/args.gn:69 - Overridden from the default = false + From //out/default/args.gn:62 + Overridden from the default = true From //third_party/widevine/cdm/widevine.gni:78 If set, and Widevine CDM host verification signing failed due to no signing @@ -3117,9 +3255,19 @@ include_ash_ambient_animation_resources May be overridden locally to false for testing purposes if desired. +include_both_v8_snapshots + Current value (from the default) = false + From //tools/v8_context_snapshot/v8_context_snapshot.gni:21 + + If set, both snapshots are included. At this time, this only applicable to + android. In other words, it will not work correctly on other platforms. + Building the context snapshots on android requires building blink multiple + times. To avoid impacting developer productivity the context snapshot is + only built for official builds. + include_branded_entitlements Current value (from the default) = true - From //chrome/BUILD.gn:64 + From //chrome/BUILD.gn:74 On macOS, `is_chrome_branded` builds that have been signed locally will not launch because certain entitlements are tied to the official Google code @@ -3128,7 +3276,7 @@ include_branded_entitlements include_transport_security_state_preload_list Current value (from the default) = true - From //net/features.gni:41 + From //net/features.gni:44 Includes the transport security state preload list. This list includes mechanisms (e.g. HSTS, HPKP) to enforce trusted connections to a significant @@ -3146,7 +3294,7 @@ incremental_install init_stack_vars Current value (from the default) = true - From //build/config/compiler/BUILD.gn:151 + From //build/config/compiler/BUILD.gn:147 Initialize all local variables with a pattern. This flag will fill uninitialized floating-point types (and 32-bit pointers) with 0xFF and the @@ -3156,37 +3304,40 @@ init_stack_vars Flag discussion: https://crbug.com/977230 - TODO(crbug.com/1131993): This regresses binary size by ~1MB on Android and + TODO(crbug.com/40721698): This regresses binary size by ~1MB on Android and needs to be evaluated before enabling it there as well. init_stack_vars_zero Current value = true - From //out/test/args.gn:94 + From //out/default/args.gn:86 Overridden from the default = false - From //build/config/compiler/BUILD.gn:155 + From //build/config/compiler/BUILD.gn:151 Zero init has favorable performance/size tradeoffs for Chrome OS but was not evaluated for other platforms. -internal_gles2_conform_tests - Current value (from the default) = false - From //gpu/gles2_conform_support/BUILD.gn:7 +install_prefix + Current value (from the default) = "" + From //third_party/angle/BUILD.gn:91 - Set to true to compile with the OpenGL ES 2.0 conformance tests. + Prefix where the artifacts should be installed on the system -internal_khronos_glcts_tests +ios_chrome_generate_order_file Current value (from the default) = false - From //gpu/khronos_glcts_support/BUILD.gn:8 + From //build/config/ios/config.gni:17 + + Generate orderfile at application startup and then exit. + NOTE: This flag adds runtime tooling to capture function call details, + writes out an orderfile to the documents directory, then terminates the + application. It should generally NOT be enabled. ios_deployment_target - Current value (from the default) = "15.0" - From //build/config/ios/ios_sdk_overrides.gni:10 - - Version of iOS that we're targeting. + Current value (from the default) = "17.4" + From //build/config/ios/ios_sdk_overrides.gni:13 ios_stack_profiler_enabled Current value (from the default) = true - From //base/BUILD.gn:73 + From //base/BUILD.gn:78 Control whether the ios stack sampling profiler is enabled. This flag is only supported on iOS 64-bit architecture, but some project build //base @@ -3210,7 +3361,7 @@ is_cast_audio_only From //build/config/cast.gni:12 Set this true for an audio-only Chromecast build. - TODO(https://crbug.com/1516671): Remove this arg as CastOS builds are no + TODO(crbug.com/41489655): Remove this arg as CastOS builds are no longer supported. is_castos @@ -3222,9 +3373,9 @@ is_castos is_cfi Current value = true - From //out/test/args.gn:36 + From //out/default/args.gn:36 Overridden from the default = true - From //build/config/sanitizers/sanitizers.gni:50 + From //build/config/sanitizers/sanitizers.gni:59 Compile with Control Flow Integrity to protect virtual calls and casts. See http://clang.llvm.org/docs/ControlFlowIntegrity.html @@ -3237,6 +3388,10 @@ is_cfm True if compiling for Chromebox for Meeting devices. +is_chancie_wancie_build + Current value (from the default) = false + From //third_party/ffmpeg/ffmpeg_options.gni:18 + is_chrome_branded Current value (from the default) = false From //build/config/chrome_build.gni:9 @@ -3285,7 +3440,7 @@ is_chromeos_with_hw_details is_clang Current value = true - From //out/test/args.gn:31 + From //out/default/args.gn:31 Overridden from the default = true From //build/config/BUILDCONFIG.gn:139 @@ -3293,7 +3448,7 @@ is_clang is_component_build Current value = false - From //out/test/args.gn:26 + From //out/default/args.gn:26 Overridden from the default = false From //build/config/BUILDCONFIG.gn:173 @@ -3306,9 +3461,9 @@ is_component_build is_component_ffmpeg Current value = true - From //out/test/args.gn:58 + From //out/default/args.gn:55 Overridden from the default = false - From //third_party/ffmpeg/ffmpeg_options.gni:39 + From //third_party/ffmpeg/ffmpeg_options.gni:41 Set true to build ffmpeg as a shared library. NOTE: this means we should always consult is_component_ffmpeg instead of is_component_build for @@ -3338,34 +3493,35 @@ is_ct_supported Certificate transparency is not supported on iOS. -is_dawn_lpm_fuzzer - Current value (from the default) = true - From //third_party/dawn/src/dawn/fuzzers/dawn_fuzzers.gni:36 - is_debug Current value = false - From //out/test/args.gn:15 + From //out/default/args.gn:16 Overridden from the default = false From //build/config/BUILDCONFIG.gn:163 Debug build. Enabling official builds automatically sets is_debug to false. +is_desktop_android + Current value (from the default) = false + From //build/config/chrome_build.gni:29 + + Set to true to set defaults that enable features on Android that are more + typically available on desktop. + is_ggp Current value (from the default) = false From //third_party/angle/gni/angle.gni:8 is_high_end_android - Current value (from the default) = false - From //build/config/chrome_build.gni:27 + Current value (from the default) = true + From //build/config/chrome_build.gni:25 Set to true to enable settings for high end Android devices, typically enhancing speed at the expense of resources such as binary sizes and memory. - Non-official builds should ignore this argument so that arm64 builders - remain fast and independent from PGO without having to set the value to false. is_high_end_android_secondary_toolchain Current value (from the default) = false - From //build/config/chrome_build.gni:44 + From //build/config/chrome_build.gni:54 Whether to apply size->speed trade-offs to the secondary toolchain. Relevant only for 64-bit target_cpu. @@ -3411,7 +3567,7 @@ is_nacl_saigo is_official_build Current value = true - From //out/test/args.gn:14 + From //out/default/args.gn:15 Overridden from the default = false From //build/config/BUILDCONFIG.gn:136 @@ -3444,19 +3600,25 @@ is_p2p_enabled is_perfetto_build_generator Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:82 + From //third_party/perfetto/gn/perfetto.gni:86 All the tools/gen_* scripts set this to true. This is mainly used to locate .gni files from //gn rather than //build. is_perfetto_embedder Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:87 + From //third_party/perfetto/gn/perfetto.gni:91 This is for override via `gn args` (e.g. for tools/gen_xxx). Embedders based on GN (e.g. v8) should NOT set this and instead directly sets perfetto_build_with_embedder=true in their GN files. +is_raspi + Current value (from the default) = false + From //build/config/compiler_opt.gni:11 + + Whether to use Raspberry Pi specific optimizations. + is_reven Current value (from the default) = false From //build/config/chromeos/args.gni:40 @@ -3477,6 +3639,12 @@ is_skylab Determines if we run the test in skylab, aka the CrOS labs. +is_thorium_build + Current value (from the default) = true + From //third_party/blink/public/public_features.gni:12 + + Thorium internal flag + is_tsan Current value (from the default) = false From //build/config/sanitizers/sanitizers.gni:28 @@ -3498,20 +3666,20 @@ is_ubsan_no_recover is_ubsan_security Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:83 + From //build/config/sanitizers/sanitizers.gni:95 Enables core ubsan security features. Will later be removed once it matches is_ubsan. is_ubsan_vptr Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:125 + From //build/config/sanitizers/sanitizers.gni:139 Compile for Undefined Behaviour Sanitizer's vptr checks. is_unsafe_developer_build Current value (from the default) = false - From //base/BUILD.gn:60 + From //base/BUILD.gn:65 Unsafe developer build. Has developer-friendly features that may weaken or disable security measures like sandboxing or ASLR. @@ -3519,7 +3687,7 @@ is_unsafe_developer_build is_win_arm64 Current value (from the default) = false - From //third_party/angle/gni/angle.gni:154 + From //third_party/angle/gni/angle.gni:167 Currently Windows on Arm doesn't support OpenGL or Vulkan. @@ -3536,13 +3704,17 @@ lacros_use_chromium_toolchain If set, build lacros with Chromium's toolchain instead of with Chrome OS's. TODO(thakis): Set this to `= chromeos_is_browser_only` once that works. +lastchange_year_header_name + Current value (from the default) = "" + From //chrome/browser/request_header_integrity/buildflags.gni:12 + ldso_path Current value (from the default) = "" From //build/config/gcc/BUILD.gn:20 libcxx_is_shared Current value (from the default) = false - From //build/config/c++/c++.gni:54 + From //build/config/c++/c++.gni:63 WARNING: Setting this to a non-default value is highly discouraged. If true, libc++ will be built as a shared library; otherwise libc++ will be @@ -3560,23 +3732,34 @@ libcxx_natvis_include http://crbug.com/966687. libcxx_revision - Current value (from the default) = "28aa23ffb4c7344914a5b4ac7169f12e5a12333f" + Current value (from the default) = "50ab693ecb611942ce4440d8c9ed707ee65ed5e8" From //buildtools/deps_revisions.gni:8 Used to cause full rebuilds on libc++ rolls. This should be kept in sync with the libcxx_revision vars in //DEPS. -libyuv_disable_jpeg - Current value (from the default) = false - From //third_party/libyuv/libyuv.gni:15 +libsrtp_build_boringssl + Current value (from the default) = true + From //third_party/libsrtp/options.gni:8 -libyuv_disable_rvv + Build with BoringSSL by default, allow WebRTC to override + this and the include path from rtc_build_ssl and rtc_ssl_root + +libsrtp_ssl_root + Current value (from the default) = "" + From //third_party/libsrtp/options.gni:9 + +libyuv_disable_jpeg Current value (from the default) = false From //third_party/libyuv/libyuv.gni:16 +libyuv_disable_rvv + Current value (from the default) = false + From //third_party/libyuv/libyuv.gni:17 + libyuv_include_tests Current value (from the default) = false - From //third_party/libyuv/libyuv.gni:14 + From //third_party/libyuv/libyuv.gni:15 libyuv_symbols_visible Current value (from the default) = false @@ -3592,21 +3775,42 @@ libyuv_use_absl_flags Set to false to disable building with absl flags. +libyuv_use_lasx + Current value (from the default) = false + From //third_party/libyuv/libyuv.gni:33 + +libyuv_use_lsx + Current value (from the default) = false + From //third_party/libyuv/libyuv.gni:32 + libyuv_use_mmi Current value (from the default) = false - From //third_party/libyuv/libyuv.gni:23 + From //third_party/libyuv/libyuv.gni:31 libyuv_use_msa Current value (from the default) = false - From //third_party/libyuv/libyuv.gni:21 + From //third_party/libyuv/libyuv.gni:29 libyuv_use_neon Current value (from the default) = false - From //third_party/libyuv/libyuv.gni:18 + From //third_party/libyuv/libyuv.gni:19 + +libyuv_use_sme + Current value (from the default) = false + From //third_party/libyuv/libyuv.gni:27 + + Restrict to is_linux to work around undefined symbol linker errors on + Android, Fuchsia, macOS, and compilation errors on Windows. + TODO: bug 359006069 - Remove the is_linux restriction after the linker and + compilation errors are fixed. + +libyuv_use_sve + Current value (from the default) = false + From //third_party/libyuv/libyuv.gni:21 limit_android_deps Current value (from the default) = false - From //build_overrides/build.gni:50 + From //build_overrides/build.gni:46 Limits the defined //third_party/android_deps targets to only "buildCompile" and "buildCompileNoDeps" targets. This is useful for third-party @@ -3624,7 +3828,7 @@ link_pulseaudio lld_emit_indexes_and_imports Current value (from the default) = false - From //build/config/clang/clang.gni:37 + From //build/config/clang/clang.gni:41 Set to true to enable output of ThinLTO index and import files used for creating a Chromium MLGO corpus in the ThinLTO case. @@ -3661,7 +3865,7 @@ mbi_mode media_use_ffmpeg Current value = true - From //out/test/args.gn:46 + From //out/default/args.gn:46 Overridden from the default = true From //media/media_options.gni:47 @@ -3671,7 +3875,7 @@ media_use_ffmpeg media_use_libvpx Current value = true - From //out/test/args.gn:47 + From //out/default/args.gn:47 Overridden from the default = true From //media/media_options.gni:51 @@ -3687,7 +3891,9 @@ media_use_openh264 mediapipe_build_with_gpu_support Current value (from the default) = false - From //third_party/mediapipe/BUILD.gn:12 + From //third_party/mediapipe/BUILD.gn:15 + + To be set to true after integration with VideoEffectsService. mips_use_mmi Current value (from the default) = false @@ -3697,7 +3903,7 @@ mips_use_mmi mojo_media_host Current value (from the default) = "gpu" - From //media/media_options.gni:326 + From //media/media_options.gni:321 The process that the mojo MediaService runs in. By default, all services registered in |mojo_media_services| are hosted in the MediaService, with the @@ -3712,7 +3918,7 @@ mojo_media_host mojo_media_services Current value (from the default) = ["video_decoder", "cdm"] - From //media/media_options.gni:314 + From //media/media_options.gni:309 A list of mojo media services that should be used in the media pipeline. Valid entries in the list are: @@ -3723,29 +3929,59 @@ mojo_media_services - "video_decoder": Use mojo-based video decoder in the default media Renderer. Cannot be used with the mojo Renderer above. +mojo_support_legacy_core + Current value (from the default) = false + From //mojo/features.gni:21 + + Builds non-ipcz-based Mojo Core. No longer supported anywhere but Chrome OS. + We check target_os instead of is_chromeos since this also needs to be set + when building NaCl binaries (is_nacl) for Chrome OS. + + When this is true, ipcz-based Mojo Core can be disabled by disabling the + MojoIpcz feature flag; and it's disabled by default on Chrome OS. When this + is false, ipcz-based Mojo Core is used unconditionally. + + We also enable this by default for fuzzer builds, since some active fuzzers + require the legacy implementation. + mojo_use_apple_channel Current value (from the default) = false - From //mojo/features.gni:8 + From //mojo/features.gni:9 mojom_message_id_salt_path Current value (from the default) = "//chrome/VERSION" - From //mojo/public/tools/bindings/mojom.gni:136 + From //mojo/public/tools/bindings/mojom.gni:149 The path to a file whose contents can be used as the basis for a message ID scrambling salt. monolithic_binaries Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:214 + From //third_party/perfetto/gn/perfetto.gni:218 Only for local development. When true the binaries (perfetto, traced, ...) are monolithic and don't use a common shared library. This is mainly to avoid LD_LIBRARY_PATH dances when testing locally. On Windows we default to monolithic executables, because pairing - dllexport/import adds extra complexity for little benefit. The only reason + dllexport/import adds extra complexity for little benefit. Te only reason for monolithic_binaries=false is saving binary size, which matters mainly on Android. See also comments on PERFETTO_EXPORT_ENTRYPOINT in compiler.h. +msan_check_use_after_dtor + Current value (from the default) = true + From //build/config/sanitizers/sanitizers.gni:49 + + TODO(crbug.com/40222690): Enable everywhere. + +msan_eager_checks + Current value (from the default) = true + From //build/config/sanitizers/sanitizers.gni:46 + + Enables "param-retval" mode, which finds more uses of uninitialized data and + reduces code size. Behind a flag as there are a number of previously + undetected violations that still need to be fixed. + TODO(crbug.com/40240570): Default this to true and remove. + msan_track_origins Current value (from the default) = 2 From //build/config/sanitizers/sanitizers.gni:40 @@ -3762,11 +3998,23 @@ msvc_use_sse2 ndk_api_level_at_least_26 Current value (from the default) = false - From //third_party/angle/gni/angle.gni:132 + From //third_party/angle/gni/angle.gni:143 + +openscreen_monolithic + Current value (from the default) = false + From //third_party/openscreen/src/gni/openscreen.gni:17 + + Enable monolithic static library for embedders. + +openscreen_static_library + Current value (from the default) = false + From //third_party/openscreen/src/gni/openscreen.gni:14 + + Use static libraries instead of source_sets. optimize_for_fuzzing Current value (from the default) = false - From //build/config/compiler/BUILD.gn:92 + From //build/config/compiler/BUILD.gn:88 Optimize for coverage guided fuzzing (balance between speed and number of branches) @@ -3775,12 +4023,9 @@ optimize_for_size Current value (from the default) = false From //build/config/compiler/compiler.gni:42 - If true, optimize for size. - Default to favoring speed over size for platforms not listed below. - optimize_webui Current value = true - From //out/test/args.gn:29 + From //out/default/args.gn:29 Overridden from the default = true From //ui/webui/webui_features.gni:12 @@ -3799,6 +4044,12 @@ os_level_geolocation_permission_supported Specifies if we support the OS level global geolocation permission for the current platform. This is exposed with the macro OS_LEVEL_GEOLOCATION_PERMISSION_SUPPORTED. +overlay_include_cbx + Current value (from the default) = false + From //chromeos/components/libsegmentation/buildflags.gni:10 + + Compiled on a board overlay that supports CBX + ozone_auto_platforms Current value (from the default) = true From //build/config/ozone.gni:21 @@ -3853,18 +4104,21 @@ ozone_platform_x11 Current value (from the default) = true From //build/config/ozone.gni:90 +page_info_use_internal_android_resources + Current value (from the default) = false + From //chrome/browser/page_info/buildflags.gni:12 + partition_alloc_optimized_debug Current value (from the default) = true - From //base/allocator/partition_allocator/partition_alloc.gni:81 + From //build_overrides/partition_alloc.gni:53 - Turns on compiler optimizations in PartitionAlloc in Debug build. - If enabling PartitionAlloc-Everywhere in Debug build for tests in Debug - build, since all memory allocations and deallocations are executed by - non-optimized PartitionAlloc, chrome (including tests) will be much - slower. This will cause debug trybots' timeouts. If we want to debug - PartitionAlloc itself, use partition_alloc_optimized_debug=false. - Otherwise, use partition_alloc_optimized_debug=true to enable optimized - PartitionAlloc. + Turns on compiler optimizations in PartitionAlloc in Debug build. If + enabling PartitionAlloc-Everywhere in Debug build for tests in Debug build, + since all memory allocations and deallocations are executed by non-optimized + PartitionAlloc, chrome (including tests) will be much slower. This will + cause debug trybots' timeouts. If we want to debug PartitionAlloc itself, + use partition_alloc_optimized_debug=false. Otherwise, use + partition_alloc_optimized_debug=true to enable optimized PartitionAlloc. pdf_bundle_freetype Current value (from the default) = false @@ -3961,7 +4215,7 @@ pdf_use_skia perfetto_build_with_android Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:78 + From //third_party/perfetto/gn/perfetto.gni:82 The Android blueprint file generator set this to true (as well as is_perfetto_build_generator). This is just about being built in the @@ -3970,11 +4224,11 @@ perfetto_build_with_android perfetto_enable_git_rev_version_header Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:257 + From //third_party/perfetto/gn/perfetto.gni:261 perfetto_force_dcheck Current value (from the default) = "" - From //third_party/perfetto/gn/perfetto.gni:229 + From //third_party/perfetto/gn/perfetto.gni:233 Whether DCHECKs should be enabled or not. Values: "on" | "off" | "". By default ("") DCHECKs are enabled only: @@ -3987,7 +4241,7 @@ perfetto_force_dcheck perfetto_force_dlog Current value (from the default) = "off" - From //third_party/perfetto/gn/perfetto.gni:219 + From //third_party/perfetto/gn/perfetto.gni:223 Whether DLOG should be enabled on debug builds (""), all builds ("on"), or none ("off"). We disable it by default for embedders to avoid spamming their @@ -3995,7 +4249,7 @@ perfetto_force_dlog perfetto_use_pkgconfig Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:349 + From //third_party/perfetto/gn/perfetto.gni:368 Used by CrOS builds. Uses pkg-config to determine the appropriate flags for including and linking system libraries. @@ -4005,31 +4259,31 @@ perfetto_use_pkgconfig perfetto_use_system_protobuf Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:353 + From //third_party/perfetto/gn/perfetto.gni:372 Used by CrOS system builds. Uses the system version of protobuf from /usr/include instead of the hermetic one. perfetto_use_system_sqlite Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:357 + From //third_party/perfetto/gn/perfetto.gni:376 Used by CrOS system builds. Uses the system version of sqlite from /usr/include instead of the hermetic one. perfetto_use_system_zlib Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:359 + From //third_party/perfetto/gn/perfetto.gni:378 perfetto_verbose_logs_enabled Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:275 + From //third_party/perfetto/gn/perfetto.gni:279 pgo_data_path - Current value = "/home/alex/chromium/src/chrome/build/pgo_profiles/chrome-linux-6099-1701798922-d4c2e2b63ef7ac7755f4bcd1deb8e214078c9410.profdata" - From //out/test/args.gn:96 + Current value = "/home/alex/chromium/src/chrome/build/pgo_profiles/chrome-linux-6723-1733159130-a5a2dc303855ef5efd9183eeebc68f04932f3097-d101f8bd9ceed464c1d066b8bffa18d791485d3e.profdata" + From //out/default/args.gn:88 Overridden from the default = "" - From //build/config/compiler/pgo/pgo.gni:35 + From //build/config/compiler/pgo/pgo.gni:36 When using chrome_pgo_phase = 2, read profile data from this path. @@ -4044,7 +4298,9 @@ pkg_config the sysroot mechanism to find the right .pc files. platform_has_optional_hevc_support - Current value (from the default) = true + Current value = true + From //out/default/args.gn:73 + Overridden from the default = true From //media/media_options.gni:150 plus_addresses_use_internal_android_resources @@ -4053,7 +4309,7 @@ plus_addresses_use_internal_android_resources print_unsymbolized_stack_traces Current value (from the default) = false - From //base/third_party/symbolize/BUILD.gn:13 + From //build/config/logging.gni:19 Stack traces will not include function names. Instead they will contain file and offset information that can be used with @@ -4069,7 +4325,7 @@ produce_v8_compile_hints proprietary_codecs Current value = true - From //out/test/args.gn:53 + From //out/default/args.gn:50 Overridden from the default = false From //build/config/features.gni:31 @@ -4086,59 +4342,79 @@ proprietary_codecs raw_ptr_zero_on_construct Current value (from the default) = true - From //base/allocator/partition_allocator/partition_alloc.gni:375 + From //base/allocator/partition_allocator/partition_alloc.gni:427 raw_ptr_zero_on_destruct Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:377 + From //base/allocator/partition_allocator/partition_alloc.gni:429 raw_ptr_zero_on_move Current value (from the default) = true - From //base/allocator/partition_allocator/partition_alloc.gni:376 + From //base/allocator/partition_allocator/partition_alloc.gni:428 rbe_bin_dir - Current value (from the default) = "../../buildtools/reclient" - From //build/toolchain/rbe.gni:5 + Current value (from the default) = "" + From //build/toolchain/rbe.gni:11 - The directory where the re-client tooling binaries are. - -rbe_cc_cfg_file - Current value (from the default) = "../../buildtools/reclient_cfgs/chromium-browser-clang/rewrapper_linux.cfg" - From //build/toolchain/rbe.gni:29 + Deprecated: Please use reclient_bin_dir instead. rbe_cfg_dir - Current value (from the default) = "//buildtools/reclient_cfgs" - From //build/toolchain/rbe.gni:20 + Current value (from the default) = "" + From //build/toolchain/rbe.gni:14 - The directory where the re-client configuration files are. + Deprecated: Please use reclient_cfg_dir instead. rbe_cros_cc_wrapper - Current value (from the default) = "../../buildtools/reclient/rewrapper" - From //build/toolchain/rbe.gni:52 + Current value (from the default) = "" + From //build/toolchain/rbe.gni:17 - Set to the path of the RBE recleint wrapper for ChromeOS. + Deprecated: Please use reclient_cros_cc_wrapper instead. rbe_exec_root Current value (from the default) = "/home/alex/chromium/src/" - From //build/toolchain/rbe.gni:11 + From //build/toolchain/rbe.gni:23 Execution root - this should be the root of the source tree. This is defined here instead of in the config file because this will vary depending on where the user has placed the chromium source on their system. -rbe_link_cfg_file - Current value (from the default) = "../../buildtools/reclient_cfgs/chromium-browser-clang/rewrapper_linux_link.cfg" - From //build/toolchain/rbe.gni:31 +reclient_bin_dir + Current value (from the default) = "../../buildtools/reclient" + From //build/toolchain/rbe.gni:45 -rbe_py_cfg_file - Current value (from the default) = "../../buildtools/reclient_cfgs/python/rewrapper_linux.cfg" - From //build/toolchain/rbe.gni:28 +reclient_cc_cfg_file + Current value (from the default) = "" + From //build/toolchain/rbe.gni:74 + +reclient_cfg_dir + Current value (from the default) = "//buildtools/reclient_cfgs" + From //build/toolchain/rbe.gni:56 + +reclient_cros_cc_wrapper + Current value (from the default) = "" + From //build/toolchain/rbe.gni:124 + +reclient_link_cfg_file + Current value (from the default) = "" + From //build/toolchain/rbe.gni:75 + +reclient_py_cfg_file + Current value (from the default) = "" + From //build/toolchain/rbe.gni:76 + +reclient_py_large_cfg_file + Current value (from the default) = "" + From //build/toolchain/rbe.gni:77 regenerate_x11_protos Current value (from the default) = false From //ui/gfx/x/BUILD.gn:12 +register_fuzztests_in_test_suites + Current value (from the default) = true + From //build/config/sanitizers/sanitizers.gni:178 + remoting_internal Current value (from the default) = false From //remoting/build/config/remoting_build.gni:28 @@ -4162,20 +4438,20 @@ remoting_webrtc_verbose_logging removed_rust_stdlib_libs Current value (from the default) = [] - From //build/config/rust.gni:86 + From //build/config/rust.gni:90 Any removed std rlibs in your Rust toolchain, relative to the standard Rust toolchain. Typically used with 'rust_sysroot_absolute' restricted_traces_outside_of_apk Current value (from the default) = false - From //third_party/angle/gni/angle.gni:43 + From //third_party/angle/gni/angle.gni:48 Only bundle traces in the APK if we're building a subset root_extra_deps Current value (from the default) = [] - From //BUILD.gn:64 + From //BUILD.gn:70 A list of extra dependencies to add to the root target. This allows a checkout to add additional targets without explicitly changing any checked- @@ -4183,7 +4459,7 @@ root_extra_deps rtc_audio_device_plays_sinus_tone Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:206 + From //third_party/webrtc/webrtc.gni:210 When set to true, replace the audio output with a sinus tone at 440Hz. The ADM will ask for audio data from WebRTC but instead of reading real @@ -4192,53 +4468,53 @@ rtc_audio_device_plays_sinus_tone rtc_build_dcsctp Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:340 + From //third_party/webrtc/webrtc.gni:343 Enable the dcsctp backend for DataChannels and related unittests rtc_build_examples Current value = false - From //out/test/args.gn:76 + From //out/default/args.gn:68 Overridden from the default = true - From //third_party/webrtc/webrtc.gni:138 + From //third_party/webrtc/webrtc.gni:135 Set this to false to skip building examples. rtc_build_json Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:280 + From //third_party/webrtc/webrtc.gni:287 Disable these to not build components which can be externally provided. rtc_build_libevent Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:294 + From //third_party/webrtc/webrtc.gni:301 rtc_build_libsrtp Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:281 + From //third_party/webrtc/webrtc.gni:288 rtc_build_libvpx Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:282 + From //third_party/webrtc/webrtc.gni:289 rtc_build_opus Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:284 + From //third_party/webrtc/webrtc.gni:291 rtc_build_ssl Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:285 + From //third_party/webrtc/webrtc.gni:292 rtc_build_tools Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:141 + From //third_party/webrtc/webrtc.gni:138 Set this to false to skip building tools. rtc_build_with_neon Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:177 + From //third_party/webrtc/webrtc.gni:174 rtc_builtin_ssl_root_certificates Current value (from the default) = true @@ -4252,7 +4528,7 @@ rtc_common_public_deps Current value = ["//base"] From //.gn:46 Overridden from the default = [] - From //third_party/webrtc/webrtc.gni:262 + From //third_party/webrtc/webrtc.gni:266 Embedders can define dependencies needed by WebRTC. Dependencies can be configs or targets. This can be defined in their `.gn` file. @@ -4264,26 +4540,26 @@ rtc_common_public_deps rtc_disable_check_msg Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:328 + From //third_party/webrtc/webrtc.gni:335 Set this to true to disable detailed error message and logging for RTC_CHECKs. rtc_disable_logging Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:321 + From //third_party/webrtc/webrtc.gni:328 Set this to true to fully remove logging from WebRTC. rtc_disable_metrics Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:331 + From //third_party/webrtc/webrtc.gni:338 Set this to true to disable webrtc metrics. rtc_disable_trace_events Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:324 + From //third_party/webrtc/webrtc.gni:331 Set this to true to disable trace events. @@ -4297,22 +4573,16 @@ rtc_dlog_always_on rtc_enable_android_aaudio Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:160 + From //third_party/webrtc/webrtc.gni:157 Experimental: enable use of Android AAudio which requires Android SDK 26 or above and NDK r16 or above. rtc_enable_avx2 Current value = true - From //out/test/args.gn:77 + From //out/default/args.gn:69 Overridden from the default = true - From //third_party/webrtc/webrtc.gni:307 - -rtc_enable_bwe_test_logging - Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:135 - - Set this to true to enable BWE test logging. + From //third_party/webrtc/webrtc.gni:314 rtc_enable_external_auth Current value (from the default) = true @@ -4330,13 +4600,13 @@ rtc_enable_google_benchmarks rtc_enable_grpc Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:343 + From //third_party/webrtc/webrtc.gni:346 Enable gRPC used for negotiation in multiprocess tests rtc_enable_libevent Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:293 + From //third_party/webrtc/webrtc.gni:300 rtc_enable_objc_symbol_export Current value (from the default) = false @@ -4350,26 +4620,26 @@ rtc_enable_objc_symbol_export rtc_enable_protobuf Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:274 + From //third_party/webrtc/webrtc.gni:281 Enables the use of protocol buffers for debug recordings. rtc_enable_sctp Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:277 + From //third_party/webrtc/webrtc.gni:284 Set this to disable building with support for SCTP data channels. rtc_enable_symbol_export Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:48 + From //third_party/webrtc/webrtc.gni:52 Setting this to true will make RTC_EXPORT (see rtc_base/system/rtc_export.h) expand to code that will manage symbols visibility. rtc_enable_win_wgc Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:234 + From //third_party/webrtc/webrtc.gni:238 When set to true, a capturer implementation that uses the Windows.Graphics.Capture APIs will be available for use. This introduces a @@ -4407,16 +4677,9 @@ rtc_exclude_system_time SystemTimeNanos() which is defined in rtc_base/system_time.cc. In that case a new implementation needs to be provided. -rtc_exclude_transient_suppressor - Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:335 - - Set this to true to exclude the transient suppressor in the audio processing - module from the build. - rtc_include_builtin_audio_codecs Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:221 + From //third_party/webrtc/webrtc.gni:225 When set to false, builtin audio encoder/decoder factories and all the audio codecs they depend on will not be included in libwebrtc.{a|lib} @@ -4425,13 +4688,13 @@ rtc_include_builtin_audio_codecs rtc_include_dav1d_in_internal_decoder_factory Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:237 + From //third_party/webrtc/webrtc.gni:241 Includes the dav1d decoder in the internal decoder factory when set to true. rtc_include_ilbc Current value = true - From //out/test/args.gn:74 + From //out/default/args.gn:67 Overridden from the default = true From //third_party/webrtc/webrtc.gni:103 @@ -4439,7 +4702,7 @@ rtc_include_ilbc rtc_include_internal_audio_device Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:302 + From //third_party/webrtc/webrtc.gni:309 Chromium uses its own IO handling, so the internal ADM is only built for standalone WebRTC. @@ -4452,30 +4715,23 @@ rtc_include_opus rtc_include_pulse_audio Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:298 + From //third_party/webrtc/webrtc.gni:305 Excluded in Chromium since its prerequisites don't require Pulse Audio. rtc_include_tests Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:314 + From //third_party/webrtc/webrtc.gni:321 Set this to true to build the unit tests. Disabled when building with Chromium or Mozilla. rtc_ios_use_opengl_rendering Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:215 + From //third_party/webrtc/webrtc.gni:219 Determines whether OpenGL is available on iOS. -rtc_jni_generator_legacy_symbols - Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:54 - - If set to true, C++ code will refer to the new JNI Generator symbols. - If set to false the old ones will be used (to provide a nice update path). - rtc_jsoncpp_root Current value (from the default) = "//third_party/jsoncpp/source/include" From //third_party/webrtc/webrtc.gni:117 @@ -4485,17 +4741,17 @@ rtc_jsoncpp_root rtc_libvpx_build_vp9 Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:283 + From //third_party/webrtc/webrtc.gni:290 rtc_link_pipewire Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:153 + From //third_party/webrtc/webrtc.gni:150 Set this to link PipeWire and required libraries directly instead of using the dlopen. rtc_objc_prefix Current value (from the default) = "" - From //third_party/webrtc/webrtc.gni:253 + From //third_party/webrtc/webrtc.gni:257 If different from "", symbols exported with RTC_OBJC_EXPORT will be prefixed with this string. @@ -4516,13 +4772,13 @@ rtc_opus_variable_complexity rtc_prefer_fixed_point Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:170 + From //third_party/webrtc/webrtc.gni:167 Selects fixed-point code where possible. rtc_sanitize_coverage Current value (from the default) = "" - From //third_party/webrtc/webrtc.gni:167 + From //third_party/webrtc/webrtc.gni:164 Set to "func", "block", "edge" for coverage generation. At unit test runtime set UBSAN_OPTIONS="coverage=1". @@ -4539,7 +4795,7 @@ rtc_ssl_root rtc_strict_field_trials Current value (from the default) = "" - From //third_party/webrtc/webrtc.gni:248 + From //third_party/webrtc/webrtc.gni:252 When enabled, a run-time check will make sure that all field trial keys have been registered in accordance with the field trial policy, see @@ -4551,34 +4807,46 @@ rtc_strict_field_trials "warn": RTC_LOGs a message with LS_WARNING severity if the field trial hasn't been registered. +rtc_system_openh264 + Current value (from the default) = false + From //third_party/webrtc/webrtc.gni:190 + + Use system OpenH264 + rtc_use_absl_mutex Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:196 + From //third_party/webrtc/webrtc.gni:200 Enable this flag to make webrtc::Mutex be implemented by absl::Mutex. rtc_use_dummy_audio_file_devices Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:200 + From //third_party/webrtc/webrtc.gni:204 By default, use normal platform audio support or dummy audio, but don't use file-based audio playout and record. rtc_use_h264 Current value = true - From //out/test/args.gn:73 + From //out/default/args.gn:65 Overridden from the default = true - From //third_party/webrtc/webrtc.gni:190 + From //third_party/webrtc/webrtc.gni:187 rtc_use_h265 - Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:193 + Current value = true + From //out/default/args.gn:66 + Overridden from the default = true + From //third_party/webrtc/webrtc.gni:194 - Enable to use H265 +rtc_use_perfetto + Current value (from the default) = false + From //third_party/webrtc/webrtc.gni:269 + + When true, include the Perfetto library. rtc_use_pipewire Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:150 + From //third_party/webrtc/webrtc.gni:147 Set this to use PipeWire on the Wayland display server. By default it's only enabled on desktop Linux (excludes ChromeOS) and @@ -4587,20 +4855,20 @@ rtc_use_pipewire rtc_use_x11 Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:144 + From //third_party/webrtc/webrtc.gni:141 Set this to false to skip building code that requires X11. rtc_use_x11_extensions Current value (from the default) = true - From //third_party/webrtc/webrtc.gni:318 + From //third_party/webrtc/webrtc.gni:325 Set this to false to skip building code that also requires X11 extensions such as Xdamage, Xfixes. rtc_win_undef_unicode Current value (from the default) = false - From //third_party/webrtc/webrtc.gni:229 + From //third_party/webrtc/webrtc.gni:233 When set to true and in a standalone build, it will undefine UNICODE and _UNICODE (which are always defined globally by the Chromium Windows @@ -4611,7 +4879,14 @@ rtc_win_undef_unicode runtime_call_stats_count_everything Current value (from the default) = false - From //third_party/blink/renderer/platform/BUILD.gn:225 + From //third_party/blink/renderer/platform/BUILD.gn:236 + +rust_bindgen_root + Current value (from the default) = "//third_party/rust-toolchain" + From //build/config/rust.gni:61 + + Directory under which to find `bin/bindgen` (a `bin` directory containing + the bindgen exectuable). rust_sysroot_absolute Current value (from the default) = "" @@ -4625,14 +4900,14 @@ rust_sysroot_absolute rust_toolchain_supports_nacl Current value (from the default) = false - From //build/config/rust.gni:67 + From //build/config/rust.gni:71 If you're using a Rust toolchain as specified by rust_sysroot_absolute, you can specify whether it supports nacl here. rustc_version Current value (from the default) = "" - From //build/config/rust.gni:63 + From //build/config/rust.gni:67 If you're using a Rust toolchain as specified by rust_sysroot_absolute, set this to the output of `rustc -V`. Changing this string will cause all @@ -4643,18 +4918,31 @@ safe_browsing_mode Current value (from the default) = 1 From //components/safe_browsing/buildflags.gni:20 +safe_browsing_use_unrar + Current value (from the default) = true + From //components/safe_browsing/buildflags.gni:24 + + Allows building without //third_party/unrar included, for license reasons + sample_profile_is_accurate Current value (from the default) = false - From //build/config/compiler/compiler.gni:150 + From //build/config/compiler/compiler.gni:143 Whether we should consider the profile we're using to be accurate. Accurate profiles have the benefit of (potentially substantial) binary size reductions, by instructing the compiler to optimize cold and uncovered functions heavily for size. This often comes at the cost of performance. +sanitizer_coverage_allowlist + Current value (from the default) = "" + From //build/config/sanitizers/sanitizers.gni:113 + + A sanitizer coverage allowlist, specifying exactly which + files or symbol names should be instrumented, rather than all of them. + sanitizer_coverage_flags Current value (from the default) = "" - From //build/config/sanitizers/sanitizers.gni:97 + From //build/config/sanitizers/sanitizers.gni:109 Value for -fsanitize-coverage flag. Setting this causes use_sanitizer_coverage to be enabled. @@ -4667,32 +4955,32 @@ sanitizer_coverage_flags save_reproducers_on_lld_crash Current value (from the default) = false - From //build/config/compiler/BUILD.gn:188 + From //build/config/compiler/BUILD.gn:184 If true, linker crashes will be rerun with `--reproduce` which causes a reproducer file to be saved. seed_corpus_dir - Current value (from the default) = "//out/test/gen/components/viz/service/compositor_frame_fuzzer/binary_seed_corpus" + Current value (from the default) = "//out/default/gen/components/viz/service/compositor_frame_fuzzer/binary_seed_corpus" From //components/viz/service/compositor_frame_fuzzer/BUILD.gn:9 show_includes Current value (from the default) = false - From //build/config/compiler/BUILD.gn:179 + From //build/config/compiler/BUILD.gn:175 Enable -H, which prints the include tree during compilation. For use by tools/clang/scripts/analyze_includes.py simple_template_names Current value (from the default) = true - From //build/config/compiler/BUILD.gn:207 + From //build/config/compiler/BUILD.gn:203 Use DWARF simple template names, with the following exceptions: * Windows is not supported as it doesn't use DWARF. * Apple platforms (e.g. MacOS, iPhone, iPad) aren't supported because xcode lldb doesn't have the needed changes yet. - TODO(crbug.com/1379070): Remove if the upstream default ever changes. + TODO(crbug.com/40244196): Remove if the upstream default ever changes. This greatly reduces the size of debug builds, at the cost of debugging information which is required by some specialized @@ -4700,11 +4988,11 @@ simple_template_names skia_enable_skshaper Current value (from the default) = true - From //third_party/skia/modules/skshaper/skshaper.gni:38 + From //third_party/skia/modules/skshaper/skshaper.gni:48 skia_enable_skshaper_tests Current value (from the default) = true - From //third_party/skia/modules/skshaper/skshaper.gni:41 + From //third_party/skia/modules/skshaper/skshaper.gni:51 skia_use_dawn Current value (from the default) = true @@ -4723,7 +5011,7 @@ skia_use_metal skip_buildtools_check Current value (from the default) = false - From //third_party/perfetto/gn/perfetto.gni:342 + From //third_party/perfetto/gn/perfetto.gni:361 Skip buildtools dependency checks (needed for ChromeOS). @@ -4735,9 +5023,17 @@ strip_debug_info reduce size. As long as symbol_level > 0, this will still allow stacks to be symbolized. +structured_metrics_debug_enabled + Current value (from the default) = true + From //components/metrics/structured/buildflags/buildflags.gni:10 + +structured_metrics_enabled + Current value (from the default) = true + From //components/metrics/structured/buildflags/buildflags.gni:8 + subpixel_font_rendering_disabled Current value (from the default) = false - From //gpu/ipc/service/BUILD.gn:14 + From //gpu/ipc/service/BUILD.gn:16 support_external_google_api_key Current value (from the default) = false @@ -4759,7 +5055,7 @@ supports_subzero Current value (from the default) = true From //third_party/swiftshader/src/Reactor/reactor.gni:13 - Subzero doesn't support ARM64, MIPS64, PPC64, and RISCV64 (only x86 and ARMv7a). + Subzero doesn't support ARM64, LOONGARCH64, MIPS64, PPC64, and RISCV64 (only x86 and ARMv7a). swiftshader_optimized_debug_build Current value (from the default) = true @@ -4777,7 +5073,7 @@ swiftshader_startup_dialog symbol_level Current value = 0 - From //out/test/args.gn:27 + From //out/default/args.gn:27 Overridden from the default = -1 From //build/config/compiler/compiler.gni:60 @@ -4805,7 +5101,7 @@ sysroot system_headers_in_deps Current value (from the default) = false - From //build/toolchain/gcc_toolchain.gni:38 + From //build/toolchain/gcc_toolchain.gni:37 Use -MD instead of -MMD for compiler commands. This is useful for tracking the comprehensive set of dependencies. It's also required when building @@ -4829,7 +5125,7 @@ system_libdir target_cpu Current value = "x64" - From //out/test/args.gn:11 + From //out/default/args.gn:12 Overridden from the default = "" (Internally set; try `gn help target_cpu`.) @@ -4843,17 +5139,9 @@ target_environment default is only there for compatibility reasons and will be removed (see crbug.com/1138425 for more details). -target_is_ios_device - Current value (from the default) = false - From //v8/gni/v8.gni:147 - - iOS device does not support executable code pages. Not we - use target_os == "ios" here because it isn't equivalent - to is_ios (is_ios is based on host_os). - target_os Current value = "linux" - From //out/test/args.gn:10 + From //out/default/args.gn:11 Overridden from the default = "" (Internally set; try `gn help target_os`.) @@ -4877,6 +5165,12 @@ target_sysroot_dir The path to directory containing linux sysroot images. +temporal_pgo_profile + Current value (from the default) = false + From //build/config/compiler/pgo/pgo.gni:39 + + Whether to enable temporal pgo or not (experimental). + tests_have_location_tags Current value (from the default) = true From //testing/test.gni:21 @@ -4888,9 +5182,9 @@ tests_have_location_tags thin_lto_enable_cache Current value = false - From //out/test/args.gn:17 - Overridden from the default = true - From //build/config/compiler/BUILD.gn:139 + From //out/default/args.gn:18 + Overridden from the default = false + From //build/config/compiler/BUILD.gn:135 Whether to enable thin lto incremental builds. See: https://clang.llvm.org/docs/ThinLTO.html#incremental @@ -4898,53 +5192,86 @@ thin_lto_enable_cache thin_lto_enable_optimizations Current value = true - From //out/test/args.gn:91 + From //out/default/args.gn:83 Overridden from the default = true - From //build/config/compiler/BUILD.gn:133 + From //build/config/compiler/BUILD.gn:129 + +thorium_debug + Current value (from the default) = false + From //base/debug/debug.gni:35 + + A special build flag for the Thorium debug builds. + + This enables stack traces in logs and non-fatalizes DCHECKs. + Ultimately, it should help users collect necessary data for browser issues + without setting up a dedicated debugger. tint_build_benchmarks Current value (from the default) = true - From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:134 + From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:155 tint_build_cmds Current value (from the default) = false - From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:74 + From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:85 tint_build_glsl_validator Current value (from the default) = true - From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:114 + From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:125 tint_build_glsl_writer Current value (from the default) = true - From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:109 + From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:120 tint_build_hlsl_writer Current value (from the default) = true - From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:104 + From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:115 tint_build_ir_binary Current value (from the default) = true - From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:124 + From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:135 + +tint_build_ir_fuzzer + Current value (from the default) = false + From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:140 tint_build_msl_writer Current value (from the default) = true - From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:99 + From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:110 tint_build_syntax_tree_writer Current value (from the default) = false - From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:119 + From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:130 + +tint_build_tintd + Current value (from the default) = false + From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:145 tint_build_unittests Current value (from the default) = true - From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:129 + From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:150 tint_glslang_dir - Current value (from the default) = "//third_party/vulkan-deps/glslang/src" - From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:60 + Current value (from the default) = "//third_party/glslang/src" + From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:66 + +tint_has_protobuf + Current value (from the default) = true + From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:49 + +tint_lpm_dir + Current value (from the default) = "//third_party/libprotobuf-mutator" + From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:81 tint_src_dir Current value (from the default) = "//third_party/dawn/src/tint" - From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:141 + From //third_party/dawn/scripts/tint_overrides_with_defaults.gni:162 + +toolchain_allows_use_partition_alloc_as_malloc + Current value (from the default) = true + From //build/toolchain/toolchain.gni:36 + + If false, the toolchain overrides `use_partition_alloc_as_malloc` in + PartitionAlloc, to allow use of the system allocator. toolchain_for_rust_host_build_tools Current value (from the default) = false @@ -4956,7 +5283,7 @@ toolchain_for_rust_host_build_tools toolchain_supports_rust_thin_lto Current value (from the default) = true - From //build/config/rust.gni:78 + From //build/config/rust.gni:82 Whether artifacts produced by the Rust compiler can participate in ThinLTO. @@ -4965,7 +5292,7 @@ toolchain_supports_rust_thin_lto compilation artifacts produced by `rustc`). In LaCrOS and ash builds this may not be true - see b/299483903. - TODO(https://crbug.com/1482525): Re-enable ThinLTO for Rust on LaCrOS + TODO(crbug.com/40281834): Re-enable ThinLTO for Rust on LaCrOS TODO(b/300937673): Re-enable ThinLTO for Rust on ash-chrome toolkit_views @@ -4976,7 +5303,7 @@ toolkit_views treat_warnings_as_errors Current value = false - From //out/test/args.gn:32 + From //out/default/args.gn:32 Overridden from the default = true From //build/config/compiler/compiler.gni:50 @@ -4987,16 +5314,16 @@ treat_warnings_as_errors use_afl Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:76 + From //build/config/sanitizers/sanitizers.gni:85 Compile for fuzzing with AFL. use_allocator_shim Current value (from the default) = true - From //base/allocator/partition_allocator/partition_alloc.gni:39 + From //base/allocator/partition_allocator/partition_alloc.gni:40 Causes all the allocations to be routed via allocator_shim.cc. Usually, - the allocator shim will, in turn, route them to Partition Alloc, but + the allocator shim will, in turn, route them to PartitionAlloc, but other allocators are also supported by the allocator shim. use_alsa @@ -5009,7 +5336,7 @@ use_amdgpu_minigbm use_android_unwinder_v2 Current value (from the default) = true - From //build/config/compiler/compiler.gni:144 + From //build/config/compiler/compiler.gni:137 Set to true to use the android unwinder V2 implementation. @@ -5022,13 +5349,7 @@ use_arc_protected_media use_asan_backup_ref_ptr Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:163 - -use_asan_unowned_ptr - Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:167 - - Use probe-on-destruct unowned ptr detection with ASAN. + From //base/allocator/partition_allocator/partition_alloc.gni:190 use_aura Current value (from the default) = true @@ -5043,6 +5364,47 @@ use_av1_hw_decoder A platform that is capable of hardware av1 decoding. +use_avx + Current value = true + From //out/default/args.gn:4 + Overridden from the default = false + From //build/config/compiler_opt.gni:71 + + AVX + Normal Thorium baseline + Present since Sandy Bridge (2011 2nd Gen. Core i series) + and AMD Bulldozer (2012 AMD FX). + Requires Windows 7 SP1 / Linux 2.6.30 or later to use. + Uses new 128 bit registers and CPU blocks; a new era of SIMD. + Includes AES and PCLMUL `-maes -mpclmul -mavx` + +use_avx2 + Current value = false + From //out/default/args.gn:5 + Overridden from the default = false + From //build/config/compiler_opt.gni:79 + + AVX2 (x86-64-v3) + Second generation AVX, expanded to 256-bit registers. + Present since Haswell (4th Gen. Core i series), and + AMD Excavator (4th Gen. refinement of Bulldozer cores) and + Zen (1st Gen. Ryzen). + Includes FMA3 `-mfma -mavx2` (`-ffp-contract` see below at FMA section) + +use_avx512 + Current value = false + From //out/default/args.gn:6 + Overridden from the default = false + From //build/config/compiler_opt.gni:88 + + AVX-512 + Third generation AVX, expanded to 512-bit registers. + Present since Skylake (Specifically Skylake-X "Extreme Edition" + processors), and AMD Zen 4 (4th Gen. Ryzen 7000). + Only uses AVX-512 instructions common to all processors. + `-mavx512f -mavx512cd -mavx512vl -mavx512bw -mavx512dq + -mf16c -mlzcnt -mbmi2` + use_base_test_suite Current value (from the default) = true From //sandbox/linux/BUILD.gn:22 @@ -5059,10 +5421,31 @@ use_blink_extensions_chromeos If true, the experimental renderer extensions library will be used. +use_blink_extensions_webview + Current value (from the default) = false + From //third_party/blink/renderer/config.gni:57 + + If true, the WebView renderer extensions library will be used. + + Android WebView and Chrome on Android both use the same build configuration + for Blink, and may use a common installation of the Blink libraries on a + device. There is no precise concept of "is_webview". As such, Chrome on + Android technically has the WebView extensions available in its version of + Blink; however, the extensions are default-disabled. Chrome (and any other + non-WebView products) should never attempt to enable the extensions at + runtime. + use_bluez Current value (from the default) = true From //device/bluetooth/cast_bluetooth.gni:5 +use_bolt + Current value (from the default) = false + From //build/config/compiler_opt.gni:19 + + Whether to enable LLVM's BOLT optimizations. + See https://github.com/llvm/llvm-project/blob/main/bolt/README.md + use_bundled_fontconfig Current value (from the default) = true From //third_party/fontconfig/fontconfig.gni:11 @@ -5075,14 +5458,14 @@ use_bundled_weston use_centipede Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:73 + From //build/config/sanitizers/sanitizers.gni:82 Compile for fuzzing with centipede. See https://github.com/google/centipede use_cfi_cast Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:122 + From //build/config/sanitizers/sanitizers.gni:136 Enable checks for bad casts: derived cast and unrelated cast. TODO(krasin): remove this, when we're ready to add these checks by default. @@ -5090,21 +5473,25 @@ use_cfi_cast use_cfi_diag Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:61 + From //build/config/sanitizers/sanitizers.gni:70 Print detailed diagnostics when Control Flow Integrity detects a violation. use_cfi_icall Current value (from the default) = true - From //build/config/sanitizers/sanitizers.gni:58 + From //build/config/sanitizers/sanitizers.gni:67 use_cfi_recover Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:65 + From //build/config/sanitizers/sanitizers.gni:74 Let Control Flow Integrity continue execution instead of crashing when printing diagnostics (use_cfi_diag = true). +use_chromeos_model_service + Current value (from the default) = false + From //services/on_device_model/on_device_model.gni:15 + use_chromeos_protected_av1 Current value (from the default) = false From //media/gpu/args.gni:39 @@ -5132,7 +5519,7 @@ use_clang_profiling use_clang_profiling_inside_sandbox Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:229 + From //build/config/sanitizers/sanitizers.gni:270 use_command_buffer Current value (from the default) = false @@ -5152,14 +5539,14 @@ use_crash_key_stubs use_cups Current value (from the default) = true - From //printing/buildflags/buildflags.gni:40 + From //printing/buildflags/buildflags.gni:36 use_cups_ipp - Current value (from the default) = false - From //printing/buildflags/buildflags.gni:74 + Current value (from the default) = true + From //printing/buildflags/buildflags.gni:66 Enables the CUPS IPP printing backend. - TODO(crbug.com/226176): Remove this after CUPS PPD API calls are removed. + TODO(crbug.com/41003486): Remove this after CUPS PPD API calls are removed. use_custom_libcxx Current value (from the default) = true @@ -5191,14 +5578,14 @@ use_custom_libunwind use_cxx17 Current value (from the default) = false - From //build_overrides/build.gni:58 + From //build_overrides/build.gni:54 Allow projects that wish to stay on C++17 to override Chromium's default. - TODO(crbug.com/1402249): evaluate removing this end of 2023 + TODO(crbug.com/40251117): evaluate removing this end of 2023 use_dawn Current value (from the default) = true - From //ui/gl/features.gni:21 + From //ui/gl/features.gni:16 Should Dawn support be compiled to back the WebGPU implementation? Also controls linking Dawn dependencies in such as SPIRV-Tools/SPIRV-Cross. @@ -5208,19 +5595,18 @@ use_dbus From //build/config/features.gni:37 use_debug_fission - Current value (from the default) = "default" - From //build/config/compiler/compiler.gni:81 + Current value (from the default) = true + From //build/config/compiler/compiler.gni:76 use_debug_fission: whether to use split DWARF debug info files. This can reduce link time significantly, but is incompatible with some utilities such as icecc and ccache. Requires gold and gcc >= 4.8 or clang. http://gcc.gnu.org/wiki/DebugFission - - This is a placeholder value indicating that the code below should set - the default. This is necessary to delay the evaluation of the default - value expression until after its input values such as use_gold have - been set, e.g. by a toolchain_args() block. + +use_distributed_point_functions + Current value (from the default) = false + From //third_party/distributed_point_functions/features.gni:6 use_dummy_lastchange Current value (from the default) = false @@ -5228,14 +5614,10 @@ use_dummy_lastchange use_dwarf5 Current value (from the default) = false - From //build/config/compiler/BUILD.gn:167 + From //build/config/compiler/BUILD.gn:163 Enable DWARF v5. -use_egl - Current value (from the default) = true - From //ui/gl/features.gni:17 - use_evdev_gestures Current value (from the default) = false From //ui/events/ozone/evdev/BUILD.gn:15 @@ -5244,7 +5626,7 @@ use_evdev_gestures use_external_fuzzing_engine Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:79 + From //build/config/sanitizers/sanitizers.gni:91 Compile for fuzzing with an external engine (e.g., Grammarinator). @@ -5258,13 +5640,42 @@ use_exynos_minigbm Current value (from the default) = false From //third_party/minigbm/BUILD.gn:18 +use_fake_screen_ai + Current value (from the default) = false + From //services/screen_ai/buildflags/features.gni:19 + + Screen AI library is not available for MSAN and UBSAN. + +use_fma + Current value = false + From //out/default/args.gn:7 + Overridden from the default = false + From //build/config/compiler_opt.gni:97 + + FMA + "Fused Multiply Add" operations + Present since Haswell and AMD Piledriver (2nd Gen. refinement + of Bulldozer). + `-mfma -ffp-contract=fast` (use -mfma3 -mfma4 for Piledriver) + use_freeslot_bitmap Current value (from the default) = false - From //base/allocator/partition_allocator/partition_alloc.gni:103 + From //base/allocator/partition_allocator/partition_alloc.gni:121 + +use_full_mte + Current value (from the default) = false + From //base/allocator/partition_allocator/partition_alloc.gni:270 + + Use full MTE protection available by changing the feature flag default + values. So sync mode on all processes. Also disables permissive MTE. + + This is meant to be used primarily on bots. It is much easier to override + the feature flags using a binary flag instead of updating multiple bots's + scripts to pass command line arguments. use_full_pdb_paths Current value (from the default) = false - From //build/config/compiler/BUILD.gn:175 + From //build/config/compiler/BUILD.gn:171 Override this to put full paths to PDBs in Windows PE files. This helps windbg and Windows Performance Analyzer with finding the PDBs in some local- @@ -5273,6 +5684,20 @@ use_full_pdb_paths Bugs have been reported to the windbg/WPA teams and this workaround will be removed when they are fixed. +use_fuzzilli + Current value (from the default) = false + From //build/config/sanitizers/sanitizers.gni:88 + + Compile for fuzzing with Fuzzilli. + +use_fuzztest_wrapper + Current value (from the default) = true + From //testing/libfuzzer/BUILD.gn:19 + + Build individual_fuzztest_wrapper if use_fuzztest_wrapper is set. + Some projects doesn't have //base and cannot build + individual_fuzztest_wrapper. + use_gcm_from_platform Current value (from the default) = false From //components/gcm_driver/config.gni:8 @@ -5282,7 +5707,7 @@ use_gcm_from_platform use_ghash Current value (from the default) = true - From //build/config/compiler/BUILD.gn:123 + From //build/config/compiler/BUILD.gn:119 Turn this on to use ghash feature of lld for faster debug link on Windows. http://blog.llvm.org/2018/01/improving-link-time-on-windows-with.html @@ -5295,32 +5720,6 @@ use_glib Current value (from the default) = true From //build/config/ui.gni:36 -use_gold - Current value (from the default) = false - From //build/config/compiler/compiler.gni:245 - - Whether to use the gold linker from binutils instead of lld or bfd. - -use_goma - Current value (from the default) = false - From //build/toolchain/goma.gni:11 - - Set to true to enable distributed compilation using Goma. - -use_goma_rust - Current value (from the default) = false - From //build/config/rust.gni:95 - - Use goma for Rust builds. Experimental. The only known problem is - b/193072381, but then again, we don't expect a build speedup before much - more work is done. - -use_goma_thin_lto - Current value (from the default) = false - From //build/config/compiler/compiler.gni:99 - - If true, use Goma for ThinLTO code generation where applicable. - use_gtk Current value (from the default) = true From //build/config/linux/gtk/gtk.gni:9 @@ -5328,26 +5727,18 @@ use_gtk Whether or not we should use libgtk. use_hashed_jni_names - Current value (from the default) = true - From //third_party/jni_zero/jni_zero.gni:15 + Current value (from the default) = false + From //third_party/jni_zero/jni_zero.gni:26 - Use hashed symbol names to reduce JNI symbol overhead. + Use hashed symbol names to reduce JNI symbol overhead when not multiplexing. use_icf Current value = true - From //out/test/args.gn:35 + From //out/default/args.gn:35 Overridden from the default = true - From //build/config/compiler/BUILD.gn:220 + From //build/config/compiler/BUILD.gn:208 Set to true to use icf, Identical Code Folding. - - icf=all is broken in older golds, see - https://sourceware.org/bugzilla/show_bug.cgi?id=17704 - chromeos binutils has been patched with the fix, so always use icf there. - The bug only affects x86 and x64, so we can still use ICF when targeting - other architectures. - - lld doesn't have the bug. use_intel_minigbm Current value (from the default) = false @@ -5394,7 +5785,7 @@ use_javascript_coverage use_kerberos Current value (from the default) = true - From //net/features.gni:21 + From //net/features.gni:24 Enable Kerberos authentication. It is disabled by default on iOS, Fuchsia and Chromecast, at least for now. This feature needs configuration @@ -5403,14 +5794,23 @@ use_kerberos use_layout_plugin Current value (from the default) = true - From //third_party/blink/renderer/core/BUILD.gn:100 + From //third_party/blink/renderer/core/BUILD.gn:102 Set to true to enable the clang layout plugin that help you to follow the layout-related restrictions during compilation. +use_libcxx_modules + Current value (from the default) = false + From //build/config/c++/c++.gni:46 + + Use Clang header modules for libc++. + This is experimental only (see crbug.com/543704). + For details on the current state of modules in Chromium see + https://chromium.googlesource.com/chromium/src/+/main/docs/modules.md + use_libfuzzer Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:69 + From //build/config/sanitizers/sanitizers.gni:78 Compile for fuzzing with LLVM LibFuzzer. See http://www.chromium.org/developers/testing/libfuzzer @@ -5434,15 +5834,15 @@ use_libjpeg_turbo use_libpci Current value (from the default) = true - From //third_party/angle/BUILD.gn:31 + From //third_party/angle/BUILD.gn:35 Use the PCI lib to collect GPU information on Linux. use_lld Current value = true - From //out/test/args.gn:34 + From //out/default/args.gn:34 Overridden from the default = true - From //build/config/compiler/compiler.gni:38 + From //build/config/compiler/compiler.gni:37 Set to true to use lld, the LLVM linker. In late bring-up on macOS (see docs/mac_lld.md). @@ -5451,11 +5851,19 @@ use_lld use_locally_built_instrumented_libraries Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:44 + From //build/config/sanitizers/sanitizers.gni:53 Use dynamic libraries instrumented by one of the sanitizers instead of the standard system libraries. Set this flag to build the libraries from source. +use_login_database_as_backend + Current value (from the default) = true + From //components/password_manager/core/browser/buildflags.gni:12 + + The legacy password store backend is supported on android but usually disabled + in favor of a downstream implementation. Important: the support for this flag + is planned to be removed in November 2024. + use_low_quality_image_interpolation Current value (from the default) = false From //third_party/blink/renderer/config.gni:43 @@ -5484,7 +5892,7 @@ use_message_port_core use_ml_inliner Current value (from the default) = false - From //build/config/compiler/compiler.gni:140 + From //build/config/compiler/compiler.gni:133 Set to true to enable using the ML inliner in LLVM. This currently only enables the ML inliner when targeting Android. @@ -5509,7 +5917,7 @@ use_nss_certs use_official_enterprise_connectors_api_keys Current value (from the default) = false - From //chrome/browser/BUILD.gn:71 + From //chrome/browser/BUILD.gn:74 You can set the variable 'use_official_enterprise_connectors_api_keys' to true to use the Google-internal file containing official API keys @@ -5554,7 +5962,7 @@ use_pangocairo use_partition_alloc Current value (from the default) = true - From //base/allocator/partition_allocator/partition_alloc.gni:58 + From //base/allocator/partition_allocator/partition_alloc.gni:59 Whether PartitionAlloc should be available for use or not. true makes PartitionAlloc linked to the executable or shared library and @@ -5576,18 +5984,14 @@ use_partition_alloc use_partition_alloc_as_malloc Current value (from the default) = true - From //base/allocator/partition_allocator/partition_alloc.gni:85 + From //base/allocator/partition_allocator/partition_alloc.gni:76 PartitionAlloc-Everywhere (PA-E). Causes allocator_shim.cc to route calls to PartitionAlloc, rather than some other platform allocator. -use_perfetto_client_library - Current value (from the default) = true - From //build_overrides/build.gni:42 - use_perfetto_trace_processor Current value (from the default) = true - From //build_overrides/build.gni:65 + From //build_overrides/build.gni:61 Use Perfetto's trace processor for converting protobuf-encoded traces to the legacy JSON format in base::TraceLog. @@ -5599,9 +6003,16 @@ use_platform_icu_alternatives Enables the use of ICU alternatives in lieu of ICU for the target toolchain. The flag is used for Cronet to reduce the size of the Cronet binary. +use_polly + Current value (from the default) = false + From //build/config/compiler_opt.gni:15 + + Whether to enable LLVM's Polly optimizations. + See https://polly.llvm.org/ + use_profi Current value (from the default) = false - From //build/config/compiler/BUILD.gn:184 + From //build/config/compiler/BUILD.gn:180 Enable Profi algorithm. Profi can infer block and edge counts. https://clang.llvm.org/docs/UsersManual.html#using-sampling-profilers @@ -5615,7 +6026,7 @@ use_qt Current value (from the default) = true From //ui/qt/qt.gni:12 - TODO(https://crbug.com/1424435): Allow QT in MSAN builds once QT is + TODO(crbug.com/40260415): Allow QT in MSAN builds once QT is added to the instrumented libraries. use_qt6 @@ -5626,15 +6037,45 @@ use_radeon_minigbm Current value (from the default) = false From //third_party/minigbm/BUILD.gn:24 +use_raw_ptr_asan_unowned_impl + Current value (from the default) = false + From //base/allocator/partition_allocator/partition_alloc.gni:194 + + Use probe-on-destruct unowned ptr detection with ASAN. + +use_raw_ptr_backup_ref_impl + Current value (from the default) = true + From //base/allocator/partition_allocator/partition_alloc.gni:180 + + We want to use RawPtrBackupRefImpl as the raw_ptr<> implementation + iff BRP support is enabled. However, for purpose of performance + investigations we want to be able to control each separately. + + TEST ONLY! Don't touch unless you think you know what you're doing. Play + with enable_backup_ref_ptr_support instead. + use_real_dbus_clients Current value (from the default) = false From //chromeos/dbus/config/use_real_dbus_clients.gni:9 Instantiate real D-Bus clients instead of fakes. +use_reclient + Current value (from the default) = false + From //build/toolchain/rbe.gni:35 + + Use Reclient as the RBE client by default. + Set to false to use Siso's builtin RBE client. + +use_reclient_links + Current value (from the default) = false + From //build/toolchain/rbe.gni:29 + + Set to true to enable remote linking using reclient. + use_relative_vtables_abi Current value (from the default) = false - From //build/config/compiler/compiler.gni:155 + From //build/config/compiler/compiler.gni:148 Use offsets rather than pointers in vtables in order to reduce the number of relocations. This is safe to enable only when all C++ code is built with the @@ -5642,15 +6083,9 @@ use_relative_vtables_abi use_remoteexec Current value (from the default) = false - From //build/toolchain/rbe.gni:14 + From //build/toolchain/rbe.gni:26 - Set to true to enable remote compilation using reclient. - -use_remoteexec_links - Current value (from the default) = false - From //build/toolchain/rbe.gni:17 - - Set to true to enable remote linking using reclient. + Set to true to enable remote executions. use_rockchip_minigbm Current value (from the default) = false @@ -5658,15 +6093,23 @@ use_rockchip_minigbm use_rtti Current value (from the default) = false - From //build/config/compiler/BUILD.gn:82 + From //build/config/compiler/BUILD.gn:78 Build with C++ RTTI enabled. Chromium builds without RTTI by default, but some sanitizers are known to require it, like CFI diagnostics and UBsan variants. +use_safe_libstdcxx + Current value (from the default) = false + From //build/config/c++/c++.gni:68 + + In case the C++ standard library implementation used is libstdc++, then + enable its own hardening checks. As we cannot determine in GN if libstdc++ + is used or not, by default enable it for Linux without the custom libc++. + use_sanitizer_configs_without_instrumentation Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:102 + From //build/config/sanitizers/sanitizers.gni:118 When enabled, only relevant sanitizer defines are set, but compilation happens with no extra flags. This is useful when in component build @@ -5674,14 +6117,66 @@ use_sanitizer_configs_without_instrumentation use_sanitizer_coverage Current value (from the default) = false - From //build/config/sanitizers/sanitizers.gni:218 + From //build/config/sanitizers/sanitizers.gni:184 use_siso Current value (from the default) = false From //build/toolchain/siso.gni:6 - Placeholder to allow having use_siso in args.gn files and to disable - precompiled headers in siso builds. + Placeholder to allow having use_siso in args.gn file. + autoninja switches from Ninja to Siso when use_siso=true. + +use_sse2 + Current value (from the default) = false + From //build/config/compiler_opt.gni:36 + + SSE2 + Normal x64 compiler baseline, present since Willamette (Original + 2001 Pentium 4) and AMD SledgeHammer (1st Gen. Opteron) and + the Athlon 64. Big step from MMX, x87, and SSE (i.e. SSE1) + Baseline requirement to run Windows since update KB4103718 + for Windows 7 SP1/Server 2008 R2 SP1/Home Server 2011. + +use_sse3 + Current value = true + From //out/default/args.gn:1 + Overridden from the default = true + From //build/config/compiler_opt.gni:44 + + SSE3 + Normal Chromium baseline, present since Prescott (2004 Pentium 4) + and AMD SanDiego (2nd Gen. Opteron). + Only applicable to 32 Bit Windows and Linux builds, where + setting it to false allows making an SSE2 build. (`-mmmx -msse2`) + `-msse3` + +use_sse41 + Current value = true + From //out/default/args.gn:2 + Overridden from the default = false + From //build/config/compiler_opt.gni:53 + + SSE4.1 + Normal PrimoBrowser baseline + Normal ThoriumOS baseline because Core 2 Duo is the lowest + hardware that other CrOS subsystems like drivers support. + Present since Penryn (2007 45nm Core 2 Duo die shrink), and + AMD Jaguar (2013 Athlon CPUs) and Bulldozer (2012 AMD FX). + Includes SSSE3 since all SSSE3 `-mssse3 -msse4.1` + +use_sse42 + Current value = true + From //out/default/args.gn:3 + Overridden from the default = false + From //build/config/compiler_opt.gni:62 + + SSE4.2 (x86-64-v2) + Present since Nehalem (2009 1st Generation Core i series), and + the same AMD CPUs as above. + Normal LaCrOS baseline since Sept 2023. + See https://bugs.chromium.org/p/chromium/issues/detail?id=1475858 + Baseline for Windows since Windows 10 24H2. + `-msse4.2` use_static_angle Current value (from the default) = false @@ -5783,6 +6278,13 @@ use_system_libtiff Don't build against bundled libtiff. +use_system_libwayland + Current value (from the default) = false + From //third_party/wayland/features.gni:8 + + Controls whether the build should use the version of Wayland + library shipped with the system or Chromium third_party. + use_system_minigbm Current value (from the default) = true From //third_party/minigbm/BUILD.gn:15 @@ -5803,9 +6305,9 @@ use_tegra_minigbm use_text_section_splitting Current value = true - From //out/test/args.gn:89 + From //out/default/args.gn:81 Overridden from the default = false - From //build/config/compiler/BUILD.gn:164 + From //build/config/compiler/BUILD.gn:160 This argument is to control whether enabling text section splitting in the final binary. When enabled, the separated text sections with prefix @@ -5817,15 +6319,9 @@ use_text_section_splitting use_thin_lto Current value = true - From //out/test/args.gn:90 + From //out/default/args.gn:82 Overridden from the default = true - From //build/config/compiler/compiler.gni:92 - -use_typeface_fontations - Current value (from the default) = true - From //build/config/rust.gni:127 - - Enable experimental Fontations Rust font stack. + From //build/config/compiler/compiler.gni:88 use_udev Current value (from the default) = true @@ -5849,13 +6345,13 @@ use_v4lplugin use_v8_context_snapshot Current value = true - From //out/test/args.gn:43 + From //out/default/args.gn:43 Overridden from the default = true - From //tools/v8_context_snapshot/v8_context_snapshot.gni:19 + From //tools/v8_context_snapshot/v8_context_snapshot.gni:28 use_vaapi Current value = true - From //out/test/args.gn:63 + From //out/default/args.gn:57 Overridden from the default = true From //media/gpu/args.gni:21 @@ -5893,7 +6389,7 @@ use_wayland_gbm use_webaudio_pffft Current value = true - From //out/test/args.gn:60 + From //out/default/args.gn:56 Overridden from the default = true From //third_party/blink/renderer/config.gni:20 @@ -5910,7 +6406,7 @@ use_xkbcommon using_mismatched_sample_profile Current value (from the default) = false - From //build/config/compiler/compiler.gni:106 + From //build/config/compiler/compiler.gni:99 Whether we're using a sample profile collected on an architecture different than the one we're compiling for. @@ -5920,32 +6416,44 @@ using_mismatched_sample_profile v8_advanced_bigint_algorithms Current value (from the default) = true - From //v8/gni/v8.gni:139 + From //v8/gni/v8.gni:155 Enable advanced BigInt algorithms, costing about 10-30 KB binary size depending on platform. Disabled on Android to save binary size. v8_allocation_site_tracking Current value (from the default) = true - From //v8/BUILD.gn:382 + From //v8/BUILD.gn:377 Enable global allocation site tracking. v8_android_log_stdout Current value (from the default) = false - From //v8/BUILD.gn:29 + From //v8/BUILD.gn:31 Print to stdout on Android. v8_annotate_torque_ir Current value (from the default) = false - From //v8/BUILD.gn:307 + From //v8/BUILD.gn:297 Generate comments describing the Torque intermediate representation. +v8_array_buffer_internal_field_count + Current value (from the default) = 0 + From //v8/BUILD.gn:73 + + Sets the number of internal fields on array buffer objects. + +v8_array_buffer_view_internal_field_count + Current value (from the default) = 0 + From //v8/BUILD.gn:76 + + Sets the number of internal fields on array buffer view objects. + v8_builtins_profiling_log_file Current value (from the default) = "default" - From //v8/BUILD.gn:218 + From //v8/BUILD.gn:217 Provides the given V8 log file as an input to mksnapshot, where it can be used for profile-guided optimization of builtins. @@ -5967,13 +6475,13 @@ v8_builtins_profiling_log_file v8_can_use_fpu_instructions Current value (from the default) = true - From //v8/BUILD.gn:247 + From //v8/BUILD.gn:246 Similar to vfp but on MIPS. v8_check_header_includes Current value (from the default) = false - From //v8/BUILD.gn:262 + From //v8/BUILD.gn:261 Check that each header can be included in isolation (requires also setting the "check_v8_header_includes" gclient variable to run a @@ -5981,7 +6489,7 @@ v8_check_header_includes v8_code_comments Current value (from the default) = "" - From //v8/BUILD.gn:119 + From //v8/BUILD.gn:123 Allow runtime-enabled code comments (with --code-comments). Enabled by default in debug builds. @@ -5989,15 +6497,15 @@ v8_code_comments v8_context_snapshot_filename Current value (from the default) = "v8_context_snapshot.bin" - From //tools/v8_context_snapshot/v8_context_snapshot.gni:43 + From //tools/v8_context_snapshot/v8_context_snapshot.gni:53 v8_control_flow_integrity Current value (from the default) = false - From //v8/BUILD.gn:318 + From //v8/BUILD.gn:308 v8_correctness_fuzzer Current value (from the default) = false - From //v8/gni/v8.gni:16 + From //v8/gni/v8.gni:18 Includes files needed for correctness fuzzing. @@ -6010,85 +6518,108 @@ v8_current_cpu v8_custom_deps Current value (from the default) = "" - From //v8/BUILD.gn:32 + From //v8/BUILD.gn:34 Dynamically set an additional dependency from v8/custom_deps. +v8_dcheck_always_on + Current value (from the default) = false + From //v8/BUILD.gn:445 + +v8_depend_on_icu_data_file + Current value (from the default) = true + From //v8/BUILD.gn:451 + + Remote builds require an explicit dependency on icudat, but + this breaks locally building V8 with ICU support when the file + isn't present, which some embedders rely on. This option controls + the explicit dependency and allows the build to complete. + v8_deprecation_warnings Current value (from the default) = true - From //v8/BUILD.gn:57 + From //v8/BUILD.gn:55 Enable compiler warnings when using V8_DEPRECATED apis. v8_dict_property_const_tracking Current value (from the default) = false - From //v8/BUILD.gn:361 + From //v8/BUILD.gn:356 Experimental feature for tracking constness of properties in non-global dictionaries. Enabling this also always keeps prototypes in dict mode, meaning that they are not switched to fast mode. Sets -DV8_DICT_PROPERTY_CONST_TRACKING +v8_disable_leaptiering + Current value (from the default) = "" + From //v8/BUILD.gn:331 + + Explicitly disable leaptiering (on builds where it would otherwise be enabled). + v8_disable_write_barriers Current value (from the default) = false - From //v8/BUILD.gn:282 + From //v8/BUILD.gn:272 Disable write barriers when GCs are non-incremental and heap has single generation. +v8_drumbrake_bounds_checks + Current value (from the default) = false + From //v8/BUILD.gn:395 + v8_embed_script Current value (from the default) = "" - From //v8/BUILD.gn:63 + From //v8/BUILD.gn:61 Embeds the given script into the snapshot. v8_embedder_string Current value (from the default) = "" - From //v8/BUILD.gn:66 + From //v8/BUILD.gn:64 Allows the embedder to add a custom suffix to the version string. v8_enable_31bit_smis_on_64bit_arch Current value (from the default) = false - From //v8/BUILD.gn:145 + From //v8/gni/v8.gni:169 v8_enable_allocation_folding Current value (from the default) = true - From //v8/BUILD.gn:376 + From //v8/BUILD.gn:371 Enable allocation folding globally (sets -dV8_ALLOCATION_FOLDING). When it's disabled, the --turbo-allocation-folding runtime flag will be ignored. v8_enable_atomic_object_field_writes Current value (from the default) = "" - From //v8/BUILD.gn:166 + From //v8/BUILD.gn:165 Sets -dV8_ATOMIC_OBJECT_FIELD_WRITES and turns all field write operations into relaxed atomic operations. v8_enable_backtrace Current value (from the default) = "" - From //v8/gni/v8.gni:32 + From //v8/gni/v8.gni:34 Support for backtrace_symbols on linux. v8_enable_builtin_jump_table_switch Current value (from the default) = true - From //v8/BUILD.gn:422 + From //v8/BUILD.gn:428 Enable jump table switch for built-in. v8_enable_builtins_optimization Current value = true - From //out/test/args.gn:39 + From //out/default/args.gn:39 Overridden from the default = "" - From //v8/gni/v8.gni:39 + From //v8/gni/v8.gni:41 Includes profiles to optimize builtins. v8_enable_builtins_profiling Current value (from the default) = false - From //v8/BUILD.gn:184 + From //v8/BUILD.gn:183 Runs mksnapshot with --turbo-profiling. After building in this configuration, any subsequent run of d8 will output information about usage @@ -6096,7 +6627,7 @@ v8_enable_builtins_profiling v8_enable_builtins_profiling_verbose Current value (from the default) = false - From //v8/BUILD.gn:190 + From //v8/BUILD.gn:189 Runs mksnapshot with --turbo-profiling-verbose. After building in this configuration, any subsequent run of d8 will output information about usage @@ -6105,40 +6636,40 @@ v8_enable_builtins_profiling_verbose v8_enable_builtins_reordering Current value (from the default) = true - From //v8/BUILD.gn:199 + From //v8/BUILD.gn:198 This build flag is used to control whether reorder builtins acoording to the call graph with C3 algorithm based builtin PGO profiling. v8_enable_cet_ibt Current value (from the default) = false - From //v8/gni/v8.gni:160 + From //v8/gni/v8.gni:176 Emit CET IBT landing pad instructions in JIT generated code (experimental). v8_enable_cet_shadow_stack Current value (from the default) = false - From //v8/gni/v8.gni:157 + From //v8/gni/v8.gni:173 Change code emission and runtime features to be CET shadow-stack compliant (incomplete and experimental). v8_enable_concurrent_marking Current value (from the default) = true - From //v8/BUILD.gn:170 + From //v8/BUILD.gn:169 Controls the default value of v8_enable_concurrent_marking_state. See the default setting code below. v8_enable_conservative_stack_scanning Current value (from the default) = false - From //v8/gni/v8.gni:100 + From //v8/gni/v8.gni:119 Scan the call stack conservatively during garbage collection. v8_enable_continuation_preserved_embedder_data Current value (from the default) = true - From //v8/BUILD.gn:372 + From //v8/BUILD.gn:367 Allow embedder data to be saved on continuations. Used to support TaskAttribution and `scheduler.yield()`. @@ -6146,7 +6677,7 @@ v8_enable_continuation_preserved_embedder_data v8_enable_debug_code Current value (from the default) = "" - From //v8/BUILD.gn:124 + From //v8/BUILD.gn:128 Allow runtime-enabled debug code (with --debug-code). Enabled by default in debug builds. @@ -6154,45 +6685,57 @@ v8_enable_debug_code v8_enable_debugging_features Current value (from the default) = false - From //v8/BUILD.gn:36 + From //v8/gni/v8.gni:45 Turns on all V8 debug features. Enables running V8 in a pseudo debug mode within a release Chrome. v8_enable_direct_handle Current value (from the default) = "" - From //v8/gni/v8.gni:103 + From //v8/gni/v8.gni:122 - Use direct pointers in internal (direct) handles. - -v8_enable_direct_local - Current value (from the default) = false - From //v8/gni/v8.gni:106 - - Use direct pointers in local handles. + Use direct pointers in handles (v8::internal::Handle and v8::Local). v8_enable_disassembler Current value (from the default) = "" - From //v8/BUILD.gn:69 + From //v8/BUILD.gn:67 Sets -dENABLE_DISASSEMBLER. +v8_enable_drumbrake + Current value (from the default) = false + From //v8/BUILD.gn:386 + + WebAssembly interpreter (DrumBrake) build flag. + +v8_enable_drumbrake_tracing + Current value (from the default) = false + From //v8/BUILD.gn:389 + + Enable Wasm interpreter tracing. + v8_enable_etw_stack_walking Current value (from the default) = false - From //v8/BUILD.gn:45 + From //v8/BUILD.gn:43 Sets -DV8_ENABLE_ETW_STACK_WALKING. Enables ETW Stack Walking +v8_enable_experimental_tsa_builtins + Current value (from the default) = false + From //v8/BUILD.gn:443 + + Use the experimental TSA-based definition for some builtins. + v8_enable_extensible_ro_snapshot Current value (from the default) = true - From //v8/BUILD.gn:428 + From //v8/BUILD.gn:434 Whether custom embedder snapshots may extend (= allocate new objects in) ReadOnlySpace. v8_enable_external_code_space Current value (from the default) = "" - From //v8/BUILD.gn:230 + From //v8/BUILD.gn:229 Enable support for external code range relative to the pointer compression cage. @@ -6200,62 +6743,68 @@ v8_enable_external_code_space v8_enable_fast_mksnapshot Current value (from the default) = false - From //v8/BUILD.gn:104 + From //v8/BUILD.gn:108 Enable fast mksnapshot runs. v8_enable_fast_torque Current value = true - From //out/test/args.gn:38 + From //out/default/args.gn:38 Overridden from the default = "" - From //v8/BUILD.gn:107 + From //v8/BUILD.gn:111 Optimize code for Torque executable, even during a debug build. v8_enable_future Current value (from the default) = false - From //v8/BUILD.gn:39 + From //v8/BUILD.gn:37 Sets -DV8_ENABLE_FUTURE. +v8_enable_fuzztest + Current value (from the default) = false + From //v8/gni/v8.gni:114 + + Enable FuzzTest + v8_enable_gdbjit Current value = false From //.gn:36 Overridden from the default = true - From //v8/BUILD.gn:255 + From //v8/BUILD.gn:254 v8_enable_google_benchmark Current value (from the default) = false - From //v8/gni/v8.gni:111 + From //v8/gni/v8.gni:127 v8_enable_handle_zapping Current value (from the default) = false - From //v8/BUILD.gn:98 + From //v8/BUILD.gn:102 Sets -dENABLE_HANDLE_ZAPPING. v8_enable_heap_snapshot_verify Current value (from the default) = "" - From //v8/BUILD.gn:379 + From //v8/BUILD.gn:374 Enable runtime verification of heap snapshots produced for devtools. v8_enable_hugepage Current value (from the default) = false - From //v8/BUILD.gn:84 + From //v8/BUILD.gn:88 Sets -dENABLE_HUGEPAGE v8_enable_i18n_support Current value (from the default) = true - From //v8/gni/v8.gni:43 + From //v8/gni/v8.gni:49 Enable ECMAScript Internationalization API. Enabling this feature will add a dependency on the ICU library. v8_enable_ignition_dispatch_counting Current value (from the default) = false - From //v8/BUILD.gn:179 + From //v8/BUILD.gn:178 Sets -dV8_IGNITION_DISPATCH_COUNTING. Enables counting frequencies of bytecode dispatches. After building in this @@ -6267,19 +6816,19 @@ v8_enable_ignition_dispatch_counting v8_enable_javascript_promise_hooks Current value (from the default) = false - From //v8/BUILD.gn:367 + From //v8/BUILD.gn:362 Allow for JS promise hooks (instead of just C++). v8_enable_lazy_source_positions Current value (from the default) = true - From //v8/BUILD.gn:269 + From //v8/BUILD.gn:268 Enable lazy source positions by default. v8_enable_lite_mode Current value (from the default) = false - From //v8/gni/v8.gni:70 + From //v8/gni/v8.gni:76 Lite mode disables a number of performance optimizations to reduce memory at the cost of performance. @@ -6287,65 +6836,83 @@ v8_enable_lite_mode v8_enable_local_off_stack_check Current value (from the default) = false - From //v8/gni/v8.gni:109 + From //v8/gni/v8.gni:125 Check for off-stack allocated local handles. v8_enable_maglev Current value = true - From //out/test/args.gn:40 + From //out/default/args.gn:40 Overridden from the default = "" - From //v8/gni/v8.gni:78 + From //v8/gni/v8.gni:92 Enable the Maglev compiler. Sets -dV8_ENABLE_MAGLEV v8_enable_maglev_graph_printer Current value (from the default) = false - From //v8/BUILD.gn:415 + From //v8/BUILD.gn:421 Enable Maglev's graph printer. Sets -DV8_ENABLE_MAGLEV_GRAPH_PRINTER. v8_enable_map_packing Current value (from the default) = false - From //v8/BUILD.gn:364 + From //v8/BUILD.gn:359 Enable map packing & unpacking (sets -dV8_MAP_PACKING). +v8_enable_memory_corruption_api + Current value (from the default) = false + From //v8/BUILD.gn:338 + + Enable the memory corruption API. Useful for testing the sandbox. + The memory corruption API is only exposed to JavaScript if sandbox testing + mode is enabled at runtime, for example via --sandbox-fuzzing. + WARNING This will enable builtins that (by design) cause memory corruption. + Sets -DV8_ENABLE_MEMORY_CORRUPTION_API + +v8_enable_memory_sealing + Current value (from the default) = false + From //v8/gni/v8.gni:181 + + Use memory sealing to protect various global memory mappings for CFI + (experimental). + TODO(sroettger): enable by default once we have bot support for testing. + v8_enable_object_print Current value (from the default) = "" - From //v8/BUILD.gn:148 + From //v8/BUILD.gn:147 Sets -dOBJECT_PRINT. v8_enable_pointer_compression Current value (from the default) = "" - From //v8/BUILD.gn:143 + From //v8/gni/v8.gni:167 Enable pointer compression (sets -dV8_COMPRESS_POINTERS). v8_enable_pointer_compression_8gb Current value (from the default) = "" - From //v8/BUILD.gn:392 + From //v8/BUILD.gn:400 Enables pointer compression for 8GB heaps. Sets -DV8_COMPRESS_POINTERS_8GB. v8_enable_pointer_compression_shared_cage Current value (from the default) = "" - From //v8/BUILD.gn:144 + From //v8/gni/v8.gni:168 v8_enable_precise_zone_stats Current value (from the default) = false - From //v8/BUILD.gn:347 + From //v8/BUILD.gn:342 Experimental feature for collecting per-class zone memory stats. Requires use_rtti = true v8_enable_private_mapping_fork_optimization Current value (from the default) = false - From //v8/BUILD.gn:95 + From //v8/BUILD.gn:99 Sets -dV8_ENABLE_PRIVATE_MAPPING_FORK_OPTIMIZATION. @@ -6359,70 +6926,70 @@ v8_enable_private_mapping_fork_optimization v8_enable_regexp_interpreter_threaded_dispatch Current value (from the default) = true - From //v8/BUILD.gn:294 + From //v8/BUILD.gn:284 Use token threaded dispatch for the regular expression interpreter. Use switch-based dispatch if this is false v8_enable_runtime_call_stats - Current value (from the default) = true - From //v8/gni/v8.gni:94 + Current value (from the default) = false + From //v8/gni/v8.gni:108 v8_enable_sandbox Current value (from the default) = "" - From //v8/BUILD.gn:338 + From //v8/BUILD.gn:328 - Enable the experimental V8 sandbox. + Enable the V8 sandbox. Sets -DV8_ENABLE_SANDBOX. v8_enable_shared_ro_heap Current value (from the default) = "" - From //v8/BUILD.gn:266 + From //v8/BUILD.gn:265 Enable sharing read-only space across isolates. Sets -DV8_SHARED_RO_HEAP. v8_enable_short_builtin_calls Current value (from the default) = "" - From //v8/BUILD.gn:225 + From //v8/BUILD.gn:224 Enable short builtins call instruction sequences by un-embedding builtins. Sets -dV8_SHORT_BUILTIN_CALLS v8_enable_single_generation Current value (from the default) = "" - From //v8/BUILD.gn:290 + From //v8/BUILD.gn:280 Redirect allocation in young generation so that there will be only one single generation. v8_enable_slow_dchecks Current value (from the default) = false - From //v8/BUILD.gn:101 + From //v8/BUILD.gn:105 Enable slow dchecks. v8_enable_slow_tracing Current value (from the default) = false - From //v8/BUILD.gn:419 + From //v8/BUILD.gn:425 Enable slow tracing, e.g., tracing on every instruction or Turbofan node. Sets -DV8_ENABLE_SLOW_TRACING. v8_enable_snapshot_code_comments Current value (from the default) = false - From //v8/BUILD.gn:114 + From //v8/BUILD.gn:118 Enable code comments for builtins in the snapshot (impacts performance). This also enables v8_code_comments. v8_enable_snapshot_compression Current value (from the default) = false - From //v8/BUILD.gn:311 + From //v8/BUILD.gn:301 v8_enable_snapshot_native_code_counters Current value (from the default) = "" - From //v8/BUILD.gn:130 + From //v8/BUILD.gn:134 Enable native counters from the snapshot (impacts performance, sets -dV8_SNAPSHOT_NATIVE_CODE_COUNTERS). @@ -6431,144 +6998,150 @@ v8_enable_snapshot_native_code_counters v8_enable_sparkplug Current value (from the default) = "" - From //v8/BUILD.gn:411 + From //v8/BUILD.gn:417 Enable Sparkplug Sets -DV8_ENABLE_SPARKPLUG. v8_enable_static_roots Current value (from the default) = "" - From //v8/BUILD.gn:133 + From //v8/BUILD.gn:137 Use pre-generated static root pointer values from static-roots.h. v8_enable_static_roots_generation Current value (from the default) = false - From //v8/BUILD.gn:137 + From //v8/BUILD.gn:141 Mode used by gen-static-roots.py to have a heap layout which is identical to when v8_enable_static_roots is enabled. +v8_enable_sticky_mark_bits + Current value (from the default) = false + From //v8/BUILD.gn:440 + + Use sticky mark-bits for separating object generations. + v8_enable_swiss_name_dictionary Current value (from the default) = false - From //v8/BUILD.gn:351 + From //v8/BUILD.gn:346 Experimental feature that uses SwissNameDictionary instead of NameDictionary as the backing store for all dictionary mode objects. v8_enable_system_instrumentation Current value (from the default) = false - From //v8/BUILD.gn:42 + From //v8/BUILD.gn:40 Sets -DENABLE_SYSTEM_INSTRUMENTATION. Enables OS-dependent event tracing v8_enable_test_features Current value (from the default) = "" - From //v8/BUILD.gn:221 + From //v8/BUILD.gn:220 Enables various testing features. -v8_enable_third_party_heap - Current value (from the default) = false - From //v8/BUILD.gn:272 - - Enable third party HEAP library - v8_enable_trace_baseline_exec Current value (from the default) = false - From //v8/BUILD.gn:159 + From //v8/BUILD.gn:158 v8_enable_trace_feedback_updates Current value (from the default) = false - From //v8/BUILD.gn:162 + From //v8/BUILD.gn:161 Sets -dV8_TRACE_FEEDBACK_UPDATES. v8_enable_trace_ignition Current value (from the default) = false - From //v8/BUILD.gn:158 + From //v8/BUILD.gn:157 v8_enable_trace_maps Current value (from the default) = "" - From //v8/BUILD.gn:151 + From //v8/BUILD.gn:150 Sets -dV8_TRACE_MAPS. v8_enable_trace_unoptimized Current value (from the default) = "" - From //v8/BUILD.gn:157 + From //v8/BUILD.gn:156 Sets -dV8_TRACE_UNOPTIMIZED. v8_enable_turbofan Current value = true - From //out/test/args.gn:41 + From //out/default/args.gn:41 Overridden from the default = "" - From //v8/gni/v8.gni:74 + From //v8/gni/v8.gni:88 Enable the Turbofan compiler. Sets -dV8_ENABLE_TURBOFAN. +v8_enable_turboshaft_csa + Current value (from the default) = false + From //v8/BUILD.gn:437 + + Enable Turboshaft CSA pipeline. + v8_enable_unconditional_write_barriers Current value (from the default) = false - From //v8/BUILD.gn:286 + From //v8/BUILD.gn:276 Ensure that write barriers are always used. Useful for debugging purposes. v8_enable_v8_checks Current value (from the default) = "" - From //v8/BUILD.gn:154 + From //v8/BUILD.gn:153 Sets -dV8_ENABLE_CHECKS. v8_enable_verify_csa Current value (from the default) = false - From //v8/BUILD.gn:140 + From //v8/BUILD.gn:144 Enable code-generation-time checking of types in the CodeStubAssembler. v8_enable_verify_heap Current value (from the default) = "" - From //v8/BUILD.gn:51 + From //v8/BUILD.gn:49 Sets -DVERIFY_HEAP. v8_enable_verify_predictable Current value (from the default) = false - From //v8/BUILD.gn:54 + From //v8/BUILD.gn:52 Sets -DVERIFY_PREDICTABLE v8_enable_vtunejit Current value (from the default) = false - From //v8/BUILD.gn:78 + From //v8/BUILD.gn:82 Sets -dENABLE_VTUNE_JIT_INTERFACE. v8_enable_vtunetracemark Current value (from the default) = false - From //v8/BUILD.gn:81 + From //v8/BUILD.gn:85 Sets -dENABLE_VTUNE_TRACEMARK. v8_enable_wasm_gdb_remote_debugging Current value (from the default) = false - From //v8/gni/v8.gni:65 + From //v8/gni/v8.gni:71 Enable WebAssembly debugging via GDB-remote protocol. v8_enable_wasm_simd256_revec Current value = true - From //out/test/args.gn:42 + From //out/default/args.gn:42 Overridden from the default = false - From //v8/gni/v8.gni:88 + From //v8/gni/v8.gni:102 Enable 256-bit long vector re-vectorization pass in WASM compilation pipeline. v8_enable_webassembly Current value (from the default) = "" - From //v8/gni/v8.gni:85 + From //v8/gni/v8.gni:99 Include support for WebAssembly. If disabled, the 'WebAssembly' global will not be available, and embedder APIs to generate WebAssembly modules @@ -6578,67 +7151,59 @@ v8_enable_webassembly v8_enable_zone_compression Current value (from the default) = "" - From //v8/BUILD.gn:334 + From //v8/BUILD.gn:324 Enable V8 zone compression experimental feature. Sets -DV8_COMPRESS_ZONES. v8_etw_guid Current value (from the default) = "" - From //v8/BUILD.gn:48 + From //v8/BUILD.gn:46 Sets the GUID for the ETW provider -v8_expose_memory_corruption_api - Current value (from the default) = false - From //v8/BUILD.gn:343 - - Expose the memory corruption API to JavaScript. Useful for testing the sandbox. - WARNING This will expose builtins that (by design) cause memory corruption. - Sets -DV8_EXPOSE_MEMORY_CORRUPTION_API - v8_expose_public_symbols Current value (from the default) = "" - From //v8/gni/v8.gni:53 + From //v8/gni/v8.gni:59 Expose public symbols for native modules of Node.js and Electron. Default is false. v8_expose_symbols Current value (from the default) = false - From //v8/gni/v8.gni:56 + From //v8/gni/v8.gni:62 Deprecated for v8_expose_public_symbols. v8_fuzzilli Current value (from the default) = false - From //v8/gni/v8.gni:97 + From //v8/gni/v8.gni:111 Add fuzzilli fuzzer support. v8_gcmole Current value (from the default) = false - From //v8/gni/v8.gni:26 + From //v8/gni/v8.gni:28 Indicate if gcmole was fetched as a hook to make it available on swarming. v8_generate_external_defines_header Current value (from the default) = false - From //v8/BUILD.gn:355 + From //v8/BUILD.gn:350 If enabled then macro definitions that are used in externally visible header files are placed in a separate header file v8-gn.h. v8_has_valgrind Current value (from the default) = false - From //v8/gni/v8.gni:23 + From //v8/gni/v8.gni:25 Indicate if valgrind was fetched as a custom deps to make it available on swarming. v8_icu_path Current value (from the default) = "//third_party/icu" - From //v8/gni/v8.gni:150 + From //v8/gni/v8.gni:161 Location of icu. @@ -6646,28 +7211,26 @@ v8_imminent_deprecation_warnings Current value = false From //.gn:37 Overridden from the default = true - From //v8/BUILD.gn:60 + From //v8/BUILD.gn:58 Enable compiler warnings when using V8_DEPRECATE_SOON apis. v8_is_on_release_branch - Current value (from the default) = false + Current value (from the default) = true From //v8/gni/release_branch_toggle.gni:9 v8_jitless Current value (from the default) = false - From //v8/BUILD.gn:407 + From //v8/BUILD.gn:413 Enable jitless mode, including compile-time optimizations. Note that even when this is set to 'false', one can run V8 in jitless mode at runtime by passing the `--jitless` flag; but then you miss out on compile-time optimizations. - iOS (non-simulator) does not have executable pages for 3rd party - applications yet so disable jit. v8_log_builtins_block_count_input Current value (from the default) = "" - From //v8/BUILD.gn:195 + From //v8/BUILD.gn:194 This build flag is used to input a builtin pgo file containing raw execution counts (as opposed to branch hints), which are embedded into @@ -6675,37 +7238,37 @@ v8_log_builtins_block_count_input v8_monolithic Current value (from the default) = false - From //v8/gni/v8.gni:49 + From //v8/gni/v8.gni:55 Enable monolithic static library for embedders. v8_multi_arch_build Current value (from the default) = false - From //v8/gni/v8.gni:19 + From //v8/gni/v8.gni:21 Adds additional compile target for building multiple architectures at once. v8_no_inline Current value (from the default) = false - From //v8/BUILD.gn:241 + From //v8/BUILD.gn:240 Switches off inlining in V8. v8_optimized_debug Current value (from the default) = true - From //v8/gni/v8.gni:29 + From //v8/gni/v8.gni:31 Turns on compiler optimizations in V8 in Debug build. v8_os_page_size Current value (from the default) = "0" - From //v8/BUILD.gn:244 + From //v8/BUILD.gn:243 Override OS page size when generating snapshot v8_postmortem_support Current value (from the default) = false - From //v8/BUILD.gn:235 + From //v8/BUILD.gn:234 With post mortem support enabled, metadata is embedded into libv8 that describes various parameters of the VM for use by debuggers. See @@ -6713,13 +7276,13 @@ v8_postmortem_support v8_promise_internal_field_count Current value (from the default) = 0 - From //v8/BUILD.gn:72 + From //v8/BUILD.gn:70 Sets the number of internal fields on promise objects. v8_scriptormodule_legacy_lifetime Current value (from the default) = false - From //v8/BUILD.gn:388 + From //v8/BUILD.gn:383 TODO(cbruni, v8:12302): Remove once API is migrated Enable legacy mode for ScriptOrModule's lifetime. By default it's a @@ -6728,7 +7291,7 @@ v8_scriptormodule_legacy_lifetime v8_shortcut_strings_in_minor_ms Current value (from the default) = false - From //v8/BUILD.gn:424 + From //v8/BUILD.gn:430 v8_snapshot_toolchain Current value (from the default) = "" @@ -6740,15 +7303,15 @@ v8_snapshot_toolchain v8_static_library Current value (from the default) = false - From //v8/gni/v8.gni:46 + From //v8/gni/v8.gni:52 Use static libraries instead of source_sets. v8_symbol_level Current value = 0 - From //out/test/args.gn:37 + From //out/default/args.gn:37 Overridden from the default = 0 - From //v8/gni/v8.gni:62 + From //v8/gni/v8.gni:68 Override global symbol level setting for v8. @@ -6782,103 +7345,107 @@ v8_target_cpu complicated involving multiple toolchains along the lines of custom_toolchain, above. -v8_third_party_heap_files - Current value (from the default) = [] - From //v8/BUILD.gn:278 - - Source code used by third party heap - -v8_third_party_heap_libs - Current value (from the default) = [] - From //v8/BUILD.gn:275 - - Libaries used by third party heap - v8_typed_array_max_size_in_heap Current value (from the default) = 64 - From //v8/BUILD.gn:253 + From //v8/BUILD.gn:252 Controls the threshold for on-heap/off-heap Typed Arrays. v8_use_external_startup_data Current value (from the default) = "" - From //v8/gni/v8.gni:36 + From //v8/gni/v8.gni:38 Use external files for startup data blobs: the JS builtins sources and the start snapshot. v8_use_libm_trig_functions Current value (from the default) = true - From //v8/gni/v8.gni:142 + From //v8/gni/v8.gni:158 TODO: macros for determining endian type are clang specific. v8_use_mips_abi_hardfloat Current value (from the default) = true - From //v8/BUILD.gn:250 + From //v8/BUILD.gn:249 Similar to the ARM hard float ABI but on MIPS. v8_use_perfetto Current value (from the default) = false - From //v8/gni/v8.gni:59 + From //v8/gni/v8.gni:65 Implement tracing using Perfetto (https://perfetto.dev). v8_use_siphash Current value (from the default) = false - From //v8/BUILD.gn:238 + From //v8/BUILD.gn:237 Use Siphash as added protection against hash flooding attacks. v8_use_zlib Current value (from the default) = true - From //v8/BUILD.gn:396 + From //v8/BUILD.gn:404 Compile V8 using zlib as dependency. Sets -DV8_USE_ZLIB v8_value_deserializer_hard_fail Current value (from the default) = false - From //v8/BUILD.gn:399 + From //v8/BUILD.gn:407 Make ValueDeserializer crash if the data to deserialize is invalid. v8_verify_builtins_compatibility Current value (from the default) = false - From //v8/BUILD.gn:297 + From //v8/BUILD.gn:287 Enforce equality of builtins hashes from compatible architectures. v8_verify_deterministic_mksnapshot Current value (from the default) = false - From //v8/BUILD.gn:300 + From //v8/BUILD.gn:290 Check mksnapshot determinism by running it multiple times. v8_verify_torque_generation_invariance Current value (from the default) = false - From //v8/BUILD.gn:304 + From //v8/BUILD.gn:294 Enable additional targets necessary for verification of torque file generation v8_win64_unwinding_info Current value (from the default) = true - From //v8/BUILD.gn:110 + From //v8/BUILD.gn:114 Enable the registration of unwinding info for Windows x64 and ARM64. v8_zlib_path Current value (from the default) = "//third_party/zlib" - From //v8/gni/v8.gni:153 + From //v8/gni/v8.gni:164 Location of zlib. +validate_header_name + Current value (from the default) = "" + From //chrome/browser/request_header_integrity/buildflags.gni:13 + vma_vulkan_headers_dir - Current value (from the default) = "//third_party/vulkan-deps/vulkan-headers/src" + Current value = "//third_party/vulkan-headers/src" + From //.gn:65 + Overridden from the default = "//third_party/vulkan-deps/vulkan-headers/src" From //third_party/vulkan_memory_allocator/BUILD.gn:8 +webnn_enable_tflite_profiler + Current value (from the default) = false + From //services/webnn/features.gni:11 + + Enable logging of TFLite profiling information on MLGraph destruction. + +webnn_use_tflite + Current value (from the default) = true + From //services/webnn/features.gni:8 + widevine_root Current value (from the default) = "." From //third_party/widevine/cdm/widevine.gni:63 @@ -6895,6 +7462,13 @@ win_console_app up when the executable is not run from the command line, so should only be used for development. Only has an effect on Windows builds. +winappsdk_dir + Current value (from the default) = "" + From //third_party/angle/gni/angle.gni:135 + + Windows App SDK is a separate dependency from nuget.org that needs to + be pre-processed before being used. + zlib_symbols_visible Current value (from the default) = false From //third_party/zlib/BUILD.gn:11 diff --git a/other/AVX2/AVX2_args.gn b/other/AVX2/AVX2_args.gn index 244e0278..6db81422 100644 --- a/other/AVX2/AVX2_args.gn +++ b/other/AVX2/AVX2_args.gn @@ -46,9 +46,7 @@ enable_precompiled_headers = false media_use_ffmpeg = true media_use_libvpx = true enable_hls_demuxer = true -enable_ink = false enable_discovery = true -enable_cros_media_app = false proprietary_codecs = true ffmpeg_branding = "Chrome" # Set to false for Polly build diff --git a/other/AVX2/win_AVX2_args.gn b/other/AVX2/win_AVX2_args.gn index f7401d22..f303c548 100644 --- a/other/AVX2/win_AVX2_args.gn +++ b/other/AVX2/win_AVX2_args.gn @@ -43,15 +43,13 @@ enable_precompiled_headers = false media_use_ffmpeg = true media_use_libvpx = true enable_hls_demuxer = true -enable_ink = false enable_discovery = false -enable_cros_media_app = false proprietary_codecs = true ffmpeg_branding = "Chrome" # Set to false for Polly build clang_use_chrome_plugins = true enable_ffmpeg_video_decoders = true -is_component_ffmpeg = true +is_component_ffmpeg = false use_webaudio_pffft = true enable_library_cdms = true enable_widevine = true diff --git a/other/AVX512/AVX512_args.gn b/other/AVX512/AVX512_args.gn index 3f53a1e1..5812dc51 100644 --- a/other/AVX512/AVX512_args.gn +++ b/other/AVX512/AVX512_args.gn @@ -46,9 +46,7 @@ enable_precompiled_headers = false media_use_ffmpeg = true media_use_libvpx = true enable_hls_demuxer = true -enable_ink = false enable_discovery = true -enable_cros_media_app = false proprietary_codecs = true ffmpeg_branding = "Chrome" # Set to false for Polly build diff --git a/other/AVX512/win_AVX512_args.gn b/other/AVX512/win_AVX512_args.gn index ae7c0334..6f81ea98 100644 --- a/other/AVX512/win_AVX512_args.gn +++ b/other/AVX512/win_AVX512_args.gn @@ -43,15 +43,13 @@ enable_precompiled_headers = false media_use_ffmpeg = true media_use_libvpx = true enable_hls_demuxer = true -enable_ink = false enable_discovery = false -enable_cros_media_app = false proprietary_codecs = true ffmpeg_branding = "Chrome" # Set to false for Polly build clang_use_chrome_plugins = true enable_ffmpeg_video_decoders = true -is_component_ffmpeg = true +is_component_ffmpeg = false use_webaudio_pffft = true enable_library_cdms = true enable_widevine = true diff --git a/other/CrOS/cros_args.gn b/other/CrOS/cros_args.gn index 47e4817f..156f6195 100644 --- a/other/CrOS/cros_args.gn +++ b/other/CrOS/cros_args.gn @@ -24,6 +24,7 @@ enable_resource_allowlist_generation = false enable_profiling = false is_component_build = false symbol_level = 0 +# use_debug_fission = true enable_nacl = false optimize_webui = true enable_webui_tab_strip = true @@ -46,8 +47,8 @@ media_use_ffmpeg = true media_use_libvpx = true enable_hls_demuxer = true enable_ink = false -enable_discovery = true enable_cros_media_app = false +enable_discovery = true proprietary_codecs = true ffmpeg_branding = "Chrome" # Set to false for Polly build diff --git a/other/Mac/mac_ARM_args.gn b/other/Mac/mac_ARM_args.gn index 8875d693..cd0f3ebc 100644 --- a/other/Mac/mac_ARM_args.gn +++ b/other/Mac/mac_ARM_args.gn @@ -38,9 +38,7 @@ blink_symbol_level = 0 media_use_ffmpeg = true media_use_libvpx = true enable_hls_demuxer = true -enable_ink = false enable_discovery = true -enable_cros_media_app = false proprietary_codecs = true ffmpeg_branding = "Chrome" # Set to false for Polly build diff --git a/other/Mac/mac_args.gn b/other/Mac/mac_args.gn index f418eab3..c55bb6a2 100644 --- a/other/Mac/mac_args.gn +++ b/other/Mac/mac_args.gn @@ -46,9 +46,7 @@ blink_symbol_level = 0 media_use_ffmpeg = true media_use_libvpx = true enable_hls_demuxer = true -enable_ink = false enable_discovery = true -enable_cros_media_app = false proprietary_codecs = true ffmpeg_branding = "Chrome" # Set to false for Polly build diff --git a/other/SSE2/args_SSE2.gn b/other/SSE2/args_SSE2.gn index 64edae80..4fadcbb4 100644 --- a/other/SSE2/args_SSE2.gn +++ b/other/SSE2/args_SSE2.gn @@ -46,9 +46,7 @@ enable_precompiled_headers = false media_use_ffmpeg = true media_use_libvpx = true enable_hls_demuxer = true -enable_ink = false enable_discovery = true -enable_cros_media_app = false proprietary_codecs = true ffmpeg_branding = "Chrome" # Set to false for Polly build diff --git a/other/SSE2/win32_SSE2_args.gn b/other/SSE2/win32_SSE2_args.gn index f0c2cbd0..601afc39 100644 --- a/other/SSE2/win32_SSE2_args.gn +++ b/other/SSE2/win32_SSE2_args.gn @@ -44,9 +44,7 @@ enable_precompiled_headers = false media_use_ffmpeg = true media_use_libvpx = true enable_hls_demuxer = true -enable_ink = false enable_discovery = false -enable_cros_media_app = false proprietary_codecs = true ffmpeg_branding = "Chrome" # Set to false for Polly build diff --git a/other/SSE3/args_SSE3.gn b/other/SSE3/args_SSE3.gn index 9e85ce8c..3f60297f 100644 --- a/other/SSE3/args_SSE3.gn +++ b/other/SSE3/args_SSE3.gn @@ -46,9 +46,7 @@ enable_precompiled_headers = false media_use_ffmpeg = true media_use_libvpx = true enable_hls_demuxer = true -enable_ink = false enable_discovery = true -enable_cros_media_app = false proprietary_codecs = true ffmpeg_branding = "Chrome" # Set to false for Polly build diff --git a/other/SSE3/win32_SSE3_args.gn b/other/SSE3/win32_SSE3_args.gn index ee5d917c..46a6639d 100644 --- a/other/SSE3/win32_SSE3_args.gn +++ b/other/SSE3/win32_SSE3_args.gn @@ -43,9 +43,7 @@ enable_precompiled_headers = false media_use_ffmpeg = true media_use_libvpx = true enable_hls_demuxer = true -enable_ink = false enable_discovery = false -enable_cros_media_app = false proprietary_codecs = true ffmpeg_branding = "Chrome" # Set to false for Polly build diff --git a/other/SSE3/win64_SSE3_args.gn b/other/SSE3/win64_SSE3_args.gn index 7991fbbb..59b5b669 100644 --- a/other/SSE3/win64_SSE3_args.gn +++ b/other/SSE3/win64_SSE3_args.gn @@ -43,15 +43,13 @@ enable_precompiled_headers = false media_use_ffmpeg = true media_use_libvpx = true enable_hls_demuxer = true -enable_ink = false enable_discovery = false -enable_cros_media_app = false proprietary_codecs = true ffmpeg_branding = "Chrome" # Set to false for Polly build clang_use_chrome_plugins = true enable_ffmpeg_video_decoders = true -is_component_ffmpeg = true +is_component_ffmpeg = false use_webaudio_pffft = true enable_library_cdms = true enable_widevine = true diff --git a/other/SSE4.1/args_SSE4.1.gn b/other/SSE4.1/args_SSE4.1.gn index d01504cb..6f45663f 100644 --- a/other/SSE4.1/args_SSE4.1.gn +++ b/other/SSE4.1/args_SSE4.1.gn @@ -46,9 +46,7 @@ enable_precompiled_headers = false media_use_ffmpeg = true media_use_libvpx = true enable_hls_demuxer = true -enable_ink = false enable_discovery = true -enable_cros_media_app = false proprietary_codecs = true ffmpeg_branding = "Chrome" # Set to false for Polly build diff --git a/other/SSE4.1/win32_SSE4.1_args.gn b/other/SSE4.1/win32_SSE4.1_args.gn new file mode 100644 index 00000000..97750d9b --- /dev/null +++ b/other/SSE4.1/win32_SSE4.1_args.gn @@ -0,0 +1,86 @@ +use_sse3 = true +use_sse41 = true +use_sse42 = false +use_avx = false +use_avx2 = false +use_avx512 = false +use_fma = false + +# use_polly = true +# use_bolt = true +target_os = "win" +target_cpu = "x86" +is_official_build = true +is_debug = false +enable_stripping = true +thin_lto_enable_cache = false +dcheck_always_on = false +exclude_unwind_tables = true +enable_iterator_debugging = false +disable_fieldtrial_testing_config = true +enable_reporting = false +enable_resource_allowlist_generation = false +enable_profiling = false +is_component_build = false +symbol_level = 0 +enable_nacl = false +optimize_webui = true +enable_webui_tab_strip = true +is_clang = true +treat_warnings_as_errors = false +# llvm_force_head_revision = true +win_enable_cfg_guards = true +use_lld = true +v8_symbol_level = 0 +v8_enable_fast_torque = true +v8_enable_builtins_optimization = true +v8_enable_maglev = false +# v8_enable_turbofan = true +# v8_enable_wasm_simd256_revec = true +# use_v8_context_snapshot = true +blink_symbol_level = 0 +enable_precompiled_headers = false +media_use_ffmpeg = true +media_use_libvpx = true +enable_hls_demuxer = true +enable_discovery = false +proprietary_codecs = true +ffmpeg_branding = "Chrome" +# Set to false for Polly build +clang_use_chrome_plugins = true +enable_ffmpeg_video_decoders = true +is_component_ffmpeg = true +use_webaudio_pffft = true +enable_library_cdms = true +enable_widevine = true +bundle_widevine_cdm = true +# enable_media_foundation_widevine_cdm = true +# enable_cdm_host_verification = true +enable_cdm_storage_id = true +enable_widevine_cdm_host_verification = true +enable_rlz = true +ignore_missing_widevine_signing_cert = true +enable_media_drm_storage = true +enable_hangout_services_extension = false +rtc_use_h264 = true +rtc_use_h265 = true +rtc_include_ilbc = true +rtc_build_examples = false +rtc_enable_avx2 = false +enable_vr = true +enable_platform_hevc = true +enable_hevc_parser_and_hw_decoder = true +platform_has_optional_hevc_support = true +enable_platform_ac3_eac3_audio = true +enable_platform_ac4_audio = false +enable_platform_dolby_vision = true +enable_platform_encrypted_dolby_vision = true +enable_platform_mpeg_h_audio = true +enable_platform_dts_audio = true +enable_mse_mpeg2ts_stream_parser = true +use_text_section_splitting = true +use_thin_lto = true +thin_lto_enable_optimizations = true +enable_rust = true +chrome_pgo_phase = 2 +pgo_data_path = "/home/alex/chromium/src/chrome/build/pgo_profiles/chrome-win32-6723-1733159130-0850ea7bc8fc57ba02169b0b49e40707e334a1bd-d101f8bd9ceed464c1d066b8bffa18d791485d3e.profdata" diff --git a/other/SSE4.1/win_SSE4.1_args.gn b/other/SSE4.1/win64_SSE4.1_args.gn similarity index 97% rename from other/SSE4.1/win_SSE4.1_args.gn rename to other/SSE4.1/win64_SSE4.1_args.gn index bc66c8d7..bfe29dc6 100644 --- a/other/SSE4.1/win_SSE4.1_args.gn +++ b/other/SSE4.1/win64_SSE4.1_args.gn @@ -43,15 +43,13 @@ enable_precompiled_headers = false media_use_ffmpeg = true media_use_libvpx = true enable_hls_demuxer = true -enable_ink = false enable_discovery = false -enable_cros_media_app = false proprietary_codecs = true ffmpeg_branding = "Chrome" # Set to false for Polly build clang_use_chrome_plugins = true enable_ffmpeg_video_decoders = true -is_component_ffmpeg = true +is_component_ffmpeg = false use_webaudio_pffft = true enable_library_cdms = true enable_widevine = true diff --git a/other/SSE4.2/args_SSE4.2.gn b/other/SSE4.2/args_SSE4.2.gn index 0e8b2c7d..708b2523 100644 --- a/other/SSE4.2/args_SSE4.2.gn +++ b/other/SSE4.2/args_SSE4.2.gn @@ -46,9 +46,7 @@ enable_precompiled_headers = false media_use_ffmpeg = true media_use_libvpx = true enable_hls_demuxer = true -enable_ink = false enable_discovery = true -enable_cros_media_app = false proprietary_codecs = true ffmpeg_branding = "Chrome" # Set to false for Polly build diff --git a/other/SSE4.2/win32_SSE4.2_args.gn b/other/SSE4.2/win32_SSE4.2_args.gn new file mode 100644 index 00000000..9c8f780c --- /dev/null +++ b/other/SSE4.2/win32_SSE4.2_args.gn @@ -0,0 +1,86 @@ +use_sse3 = true +use_sse41 = true +use_sse42 = true +use_avx = false +use_avx2 = false +use_avx512 = false +use_fma = false + +# use_polly = true +# use_bolt = true +target_os = "win" +target_cpu = "x86" +is_official_build = true +is_debug = false +enable_stripping = true +thin_lto_enable_cache = false +dcheck_always_on = false +exclude_unwind_tables = true +enable_iterator_debugging = false +disable_fieldtrial_testing_config = true +enable_reporting = false +enable_resource_allowlist_generation = false +enable_profiling = false +is_component_build = false +symbol_level = 0 +enable_nacl = false +optimize_webui = true +enable_webui_tab_strip = true +is_clang = true +treat_warnings_as_errors = false +# llvm_force_head_revision = true +win_enable_cfg_guards = true +use_lld = true +v8_symbol_level = 0 +v8_enable_fast_torque = true +v8_enable_builtins_optimization = true +v8_enable_maglev = false +# v8_enable_turbofan = true +# v8_enable_wasm_simd256_revec = true +# use_v8_context_snapshot = true +blink_symbol_level = 0 +enable_precompiled_headers = false +media_use_ffmpeg = true +media_use_libvpx = true +enable_hls_demuxer = true +enable_discovery = false +proprietary_codecs = true +ffmpeg_branding = "Chrome" +# Set to false for Polly build +clang_use_chrome_plugins = true +enable_ffmpeg_video_decoders = true +is_component_ffmpeg = true +use_webaudio_pffft = true +enable_library_cdms = true +enable_widevine = true +bundle_widevine_cdm = true +# enable_media_foundation_widevine_cdm = true +# enable_cdm_host_verification = true +enable_cdm_storage_id = true +enable_widevine_cdm_host_verification = true +enable_rlz = true +ignore_missing_widevine_signing_cert = true +enable_media_drm_storage = true +enable_hangout_services_extension = false +rtc_use_h264 = true +rtc_use_h265 = true +rtc_include_ilbc = true +rtc_build_examples = false +rtc_enable_avx2 = false +enable_vr = true +enable_platform_hevc = true +enable_hevc_parser_and_hw_decoder = true +platform_has_optional_hevc_support = true +enable_platform_ac3_eac3_audio = true +enable_platform_ac4_audio = false +enable_platform_dolby_vision = true +enable_platform_encrypted_dolby_vision = true +enable_platform_mpeg_h_audio = true +enable_platform_dts_audio = true +enable_mse_mpeg2ts_stream_parser = true +use_text_section_splitting = true +use_thin_lto = true +thin_lto_enable_optimizations = true +enable_rust = true +chrome_pgo_phase = 2 +pgo_data_path = "/home/alex/chromium/src/chrome/build/pgo_profiles/chrome-win32-6723-1733159130-0850ea7bc8fc57ba02169b0b49e40707e334a1bd-d101f8bd9ceed464c1d066b8bffa18d791485d3e.profdata" diff --git a/other/SSE4.2/win_SSE4.2_args.gn b/other/SSE4.2/win64_SSE4.2_args.gn similarity index 97% rename from other/SSE4.2/win_SSE4.2_args.gn rename to other/SSE4.2/win64_SSE4.2_args.gn index fcf37b17..47de8545 100644 --- a/other/SSE4.2/win_SSE4.2_args.gn +++ b/other/SSE4.2/win64_SSE4.2_args.gn @@ -43,15 +43,13 @@ enable_precompiled_headers = false media_use_ffmpeg = true media_use_libvpx = true enable_hls_demuxer = true -enable_ink = false enable_discovery = false -enable_cros_media_app = false proprietary_codecs = true ffmpeg_branding = "Chrome" # Set to false for Polly build clang_use_chrome_plugins = true enable_ffmpeg_video_decoders = true -is_component_ffmpeg = true +is_component_ffmpeg = false use_webaudio_pffft = true enable_library_cdms = true enable_widevine = true diff --git a/other/thorium-2024-ui.patch b/other/thorium-2024-ui.patch index 764c7447..adcf2990 100644 --- a/other/thorium-2024-ui.patch +++ b/other/thorium-2024-ui.patch @@ -190,18 +190,6 @@ index fe2ce670da340..82bbda21a16e5 100644 // Used by LOG_IS_ON to lazy-evaluate stream arguments. BASE_EXPORT bool ShouldCreateLogMessage(int severity); -diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn -index c9a3ce41465b3..9203ec5c7c75c 100644 ---- a/build/config/BUILDCONFIG.gn -+++ b/build/config/BUILDCONFIG.gn -@@ -348,6 +348,7 @@ default_compiler_configs = [ - "//build/config/compiler:default_optimization", - "//build/config/compiler:default_stack_frames", - "//build/config/compiler:default_symbols", -+ "//build/config/compiler:emit-relocs", - "//build/config/compiler:libcxx_hardening", - "//build/config/compiler:libcxx_module", - "//build/config/compiler:no_exceptions", diff --git a/chrome/browser/extensions/api/messaging/launch_context_win.cc b/chrome/browser/extensions/api/messaging/launch_context_win.cc index b103bbe61303d..469611cb36e7a 100644 --- a/chrome/browser/extensions/api/messaging/launch_context_win.cc @@ -909,30 +897,39 @@ index a35795ee8cc11..60577ba01a5fd 100644 TAB_PRE_TITLE_PADDING, diff --git a/chrome/browser/ui/omnibox/omnibox_pedal_implementations.cc b/chrome/browser/ui/omnibox/omnibox_pedal_implementations.cc -index 3ae6b02a62d64..85c9e9ee1b724 100644 +index 3ae6b02a62d64..63ef3fc6483fb 100644 --- a/chrome/browser/ui/omnibox/omnibox_pedal_implementations.cc +++ b/chrome/browser/ui/omnibox/omnibox_pedal_implementations.cc -@@ -25,6 +25,7 @@ - #include "components/search/search.h" - #include "components/strings/grit/components_strings.h" - #include "components/vector_icons/vector_icons.h" -+#include "ui/base/ui_base_features.h" +@@ -12,6 +12,7 @@ + #include "build/chromeos_buildflags.h" + #include "chrome/browser/shell_integration.h" + #include "chrome/common/chrome_features.h" ++#include "chrome/common/thorium_2024.h" + #include "chrome/common/webui_url_constants.h" + #include "components/omnibox/browser/actions/omnibox_pedal.h" + #include "components/omnibox/browser/autocomplete_input.h" +@@ -1972,14 +1973,18 @@ class OmniboxPedalSetChromeAsDefaultBrowser : public OmniboxPedal { + // ============================================================================= - #if BUILDFLAG(GOOGLE_CHROME_BRANDING) - #include "chrome/app/vector_icons/vector_icons.h" -@@ -1977,7 +1978,11 @@ const gfx::VectorIcon& GetSharingHubVectorIcon() { + const gfx::VectorIcon& GetSharingHubVectorIcon() { ++ const bool thorium_2024 = features::IsThorium2024(); + #if BUILDFLAG(IS_MAC) + return omnibox::kShareMacChromeRefreshIcon; #elif BUILDFLAG(IS_WIN) - return omnibox::kShareWinChromeRefreshIcon; +- return omnibox::kShareWinChromeRefreshIcon; ++ return thorium_2024 ? omnibox::kShareChromeRefreshIcon ++ : omnibox::kShareWinChromeRefreshIcon; #elif BUILDFLAG(IS_LINUX) - return omnibox::kShareLinuxChromeRefreshIcon; -+ if (features::IsThorium2024()) { -+ return omnibox::kShareChromeRefreshIcon; -+ } else { -+ return omnibox::kShareLinuxChromeRefreshIcon; -+ } ++ return thorium_2024 ? omnibox::kShareChromeRefreshIcon ++ : omnibox::kShareLinuxChromeRefreshIcon; #else - return omnibox::kShareChromeRefreshIcon; +- return omnibox::kShareChromeRefreshIcon; ++ return thorium_2024 ? omnibox::kShareIcon ++ : omnibox::kShareChromeRefreshIcon; #endif + } + diff --git a/chrome/browser/ui/status_bubble.h b/chrome/browser/ui/status_bubble.h index 74a00df155806..c8e4a81911d80 100644 --- a/chrome/browser/ui/status_bubble.h @@ -1296,8 +1293,8 @@ index 9cecb25b41d3b..a0662f288a022 100644 + int kBookmarksBarLeadingMarginWithoutSavedTabGroups; + int kBookmarksBarLeadingMarginWithSavedTabGroups; + if (features::IsThorium2024()) { -+ kBookmarksBarLeadingMarginWithoutSavedTabGroups = 10; -+ kBookmarksBarLeadingMarginWithSavedTabGroups = 16; ++ kBookmarksBarLeadingMarginWithoutSavedTabGroups = 9; ++ kBookmarksBarLeadingMarginWithSavedTabGroups = 15; + } else { + kBookmarksBarLeadingMarginWithoutSavedTabGroups = 6; + kBookmarksBarLeadingMarginWithSavedTabGroups = 12; @@ -2810,7 +2807,7 @@ index 0a86475f8db19..9d599fa3f880a 100644 // GetIconSize() does not work for subpage icons because the default size of // kSubmenuArrowIcon is 8 rather than 16. - constexpr int kIconSize = 20; -+ const int kIconSize = features::IsThorium2024() ? 10 : 20; ++ const int kIconSize = features::IsThorium2024() ? 9 : 20; return ui::ImageModel::FromVectorIcon( - vector_icons::kSubmenuArrowChromeRefreshIcon, ui::kColorIcon, kIconSize); + features::IsThorium2024() diff --git a/src/build/config/compiler/BUILD.gn b/src/build/config/compiler/BUILD.gn index 002efc54..5647b162 100644 --- a/src/build/config/compiler/BUILD.gn +++ b/src/build/config/compiler/BUILD.gn @@ -497,18 +497,18 @@ config("compiler") { cflags += [ "-fPIC" ] ldflags += [ "-fPIC" ] rustflags += [ "-Crelocation-model=pic" ] - if (current_cpu == "x86" || current_cpu == "x64") { - asmflags += [ "-fno-emulated-tls", "-w", ] - cflags += [ "-fno-emulated-tls", "-w", ] - ldflags += [ "-Wl,-plugin-opt=-emulated-tls=0", "-w", ] - rustflags += [ "-Awarnings", ] - } + #if (current_cpu == "x86" || current_cpu == "x64") { + #asmflags += [ "-fno-emulated-tls", "-w", ] + #cflags += [ "-fno-emulated-tls", "-w", ] + #ldflags += [ "-Wl,-plugin-opt=-emulated-tls=0", "-w", ] + #rustflags += [ "-Awarnings", ] + #} - if (is_clang && chrome_pgo_phase == 2 && !is_android) { - asmflags += [ "-fbasic-block-sections=labels" ] - cflags += [ "-fbasic-block-sections=labels" ] - rustflags += [ "-Cllvm-args=-basic-block-sections=labels" ] - } + #if (is_clang && chrome_pgo_phase == 2 && !is_android) { + #asmflags += [ "-fbasic-block-sections=labels" ] + #cflags += [ "-fbasic-block-sections=labels" ] + #rustflags += [ "-Cllvm-args=-basic-block-sections=labels" ] + #} if (!is_clang) { # Use pipes for communicating between sub-processes. Faster. @@ -560,7 +560,11 @@ config("compiler") { cflags += [ "/Zc:sizedDealloc" ] } } else { - cflags += [ "-fsized-deallocation" ] + if (is_debug) { + cflags += [ "-fno-sized-deallocation" ] + } else { + cflags += [ "-fsized-deallocation" ] + } } } @@ -851,7 +855,7 @@ config("compiler") { # arm32. if (!is_android || current_cpu == "arm64") { # Add "-fstrict-vtable-pointers", - cflags += [ "-fwhole-program-vtables", ] + cflags += [ "-fwhole-program-vtables" ] if (toolchain_supports_rust_thin_lto) { # whole-program-vtables implies -fsplit-lto-unit, and Rust needs to match @@ -867,7 +871,7 @@ config("compiler") { } if (!is_win) { - ldflags += [ "-fwhole-program-vtables", ] + ldflags += [ "-fwhole-program-vtables" ] } } @@ -1076,9 +1080,6 @@ config("compiler") { # For deterministic builds, keep the local machine's current working # directory from appearing in build outputs. "-Zremap-cwd-prefix=.", - - # Full RUSTC optimizations. - "-Copt-level=3", ] if (current_cpu == "arm64") { @@ -3036,45 +3037,6 @@ config("no_optimize") { } } -# Emit relocations for BOLT -config("emit-relocs") { - if (!using_sanitizer && use_bolt) { - if (is_win) { - ldflags = [ - "-mllvm:--emit-relocs", - ] - } else { - ldflags = [ - "-Wl,--emit-relocs", - ] - } - } -} - -# Use LLVM's Polly optimizer -config("polly") { - if (use_polly == true) { - ldflags = common_optimize_on_ldflags - if (is_win) { - ldflags += [ - "-mllvm:-polly", - "-mllvm:-polly-detect-profitability-min-per-loop-insts=40", - #"-mllvm:-polly-invariant-load-hoisting", - "-mllvm:-polly-run-dce", - "-mllvm:-polly-vectorizer=stripmine", - ] - } else { - ldflags += [ - "-Wl,-mllvm,-polly", - "-Wl,-mllvm,-polly-detect-profitability-min-per-loop-insts=40", - #"-Wl,-mllvm,-polly-invariant-load-hoisting", - "-Wl,-mllvm,-polly-run-dce", - "-Wl,-mllvm,-polly-vectorizer=stripmine", - ] - } - } -} - # Turns up the optimization level. Used to explicitly enable -O2 instead of # -Os for select targets on platforms that use optimize_for_size. No-op # elsewhere. @@ -3105,7 +3067,6 @@ config("optimize_max") { } rustflags = [ "-Copt-level=3", ] } - configs = [ ":polly" ] } # This config can be used to override the default settings for per-component @@ -3142,7 +3103,6 @@ config("optimize_speed") { } rustflags = [ "-Copt-level=3", ] } - configs = [ ":polly" ] } config("optimize_fuzzing") { @@ -3175,6 +3135,41 @@ config("default_optimization") { } } +# Emit relocations for BOLT +config("emit-relocs") { + if (!using_sanitizer && use_bolt) { + if (is_win) { + ldflags = [ "-mllvm:--emit-relocs", ] + } else { + ldflags = [ "-Wl,--emit-relocs", ] + } + } +} + +# Use LLVM's Polly optimizer +config("polly") { + if (use_polly == true) { + ldflags = common_optimize_on_ldflags + if (is_win) { + ldflags += [ + "-mllvm:-polly", + "-mllvm:-polly-detect-profitability-min-per-loop-insts=40", + #"-mllvm:-polly-invariant-load-hoisting", + "-mllvm:-polly-run-dce", + "-mllvm:-polly-vectorizer=stripmine", + ] + } else { + ldflags += [ + "-Wl,-mllvm,-polly", + "-Wl,-mllvm,-polly-detect-profitability-min-per-loop-insts=40", + #"-Wl,-mllvm,-polly-invariant-load-hoisting", + "-Wl,-mllvm,-polly-run-dce", + "-Wl,-mllvm,-polly-vectorizer=stripmine", + ] + } + } +} + _clang_sample_profile = "" if (is_clang && is_a_target_toolchain) { if (clang_sample_profile_path != "") { diff --git a/src/build/config/compiler_opt.gni b/src/build/config/compiler_opt.gni index 41891392..dc50ca02 100644 --- a/src/build/config/compiler_opt.gni +++ b/src/build/config/compiler_opt.gni @@ -5,7 +5,15 @@ ## For information about compiler flags and optimizations ## that this uses, see https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html +import("//build/config/compiler/compiler.gni") + declare_args() { + ## General Optimization settings + ## For LLVM or OS specific stuff + + # Turn this on to have compiler optimization turned up to the max. + # Such as using -O3 instead of -O2 for CFLAGS. + is_full_optimization_build = is_official_build # Whether to use Raspberry Pi specific optimizations. is_raspi = false @@ -17,15 +25,16 @@ declare_args() { # Whether to enable LLVM's BOLT optimizations. # See https://github.com/llvm/llvm-project/blob/main/bolt/README.md use_bolt = false +} - # SIMD compiler optimization flags - # Propagated to //build/config/* to allow controlling - # x86_64 SIMD optimization levels. This was done to refactor - # multiple BUILD.gn file into one copy of each. - - # Flags are not cumulative, so for example, for an AVX build you - # would want to turn on use_sse3, use_sse41, use_sse42 too. For AVX2 - # you would add use_avx, etc. +declare_args() { + ## SIMD compiler optimization flags + ## Propagated to //build/config/* to allow controlling + ## x86_64 SIMD optimization levels. This was done to refactor + ## multiple BUILD.gn file into one copy of each. + ## Flags are not cumulative, so for example, for an AVX build you + ## would want to turn on use_sse3, use_sse41, use_sse42 too. For AVX2 + ## you would add use_avx, etc. # SSE2 # Normal x64 compiler baseline, present since Willamette (Original @@ -98,6 +107,7 @@ declare_args() { } if (is_debug) { + assert(!is_full_optimization_build, "is_full_optimization_build only works with non-debug builds") assert(!use_polly, "use_polly only works with non-debug builds") assert(!use_bolt, "use_bolt only works with non-debug builds") } @@ -112,11 +122,15 @@ if (use_fma) { assert(current_cpu != "x86" && current_cpu != "arm", "use_fma is true. FMA only works for 64 bit CPU architectures.") } +if ((use_avx || use_avx2 || use_avx512 || use_fma) && is_debug || symbol_level == "2") { + print("WARNING: Using AVX with debug builds is known to cause undefined symbol: FallbackCrcMemcpyEngine linker errors.") +} + # 32 Bit OSes cant use anything above SSE4.2, and 32 Bit Apps can't benefit # from anything higher usually. -if (use_avx || use_avx2 || use_fma) { - assert(current_cpu == "x64", "AVX, AVX2, and FMA require x64. current_cpu is x86") - assert(target_cpu != "x86", "AVX, AVX2, and FMA require x64. Set target_cpu to x64") +if (use_avx || use_avx2 || use_avx512 || use_fma) { + assert(current_cpu == "x64", "AVX, AVX2, AVX-512, or FMA require x64. current_cpu is x86") + assert(target_cpu != "x86", "AVX, AVX2, AVX-512, or FMA require x64. Set target_cpu to x64") } # AVX2 should always have FMA, however, there are times one might want @@ -135,7 +149,7 @@ if (use_avx512 && !use_fma) { print("") } -# Not a normal configuration, that normally means a mistake was made configuring +# Not a normal configuration, that usually means a mistake was made configuring # your args. However, there are a few CPUs out there for which this makes sense. # Alex313031 TODO: Maybe add -mfma3 -mfma4 for this config? if (!use_avx2 && use_fma) { diff --git a/src/chrome/browser/download/bubble/download_bubble_prefs.cc b/src/chrome/browser/download/bubble/download_bubble_prefs.cc index 2e8efe61..4af93be2 100644 --- a/src/chrome/browser/download/bubble/download_bubble_prefs.cc +++ b/src/chrome/browser/download/bubble/download_bubble_prefs.cc @@ -4,7 +4,6 @@ #include "chrome/browser/download/bubble/download_bubble_prefs.h" -#include "base/command_line.h" #include "base/feature_list.h" #include "build/chromeos_buildflags.h" #include "chrome/browser/download/download_core_service.h" @@ -24,7 +23,7 @@ bool IsDownloadBubbleEnabled() { #if BUILDFLAG(IS_CHROMEOS_ASH) return false; #else - if (features::DownloadShelf) { + if (features::DownloadShelf()) { return false; } else { return true; diff --git a/win_args.gn b/win_args.gn index 36d9927b..4af03ab0 100644 --- a/win_args.gn +++ b/win_args.gn @@ -43,15 +43,13 @@ enable_precompiled_headers = false media_use_ffmpeg = true media_use_libvpx = true enable_hls_demuxer = true -enable_ink = false enable_discovery = false -enable_cros_media_app = false proprietary_codecs = true ffmpeg_branding = "Chrome" # Set to false for Polly build clang_use_chrome_plugins = true enable_ffmpeg_video_decoders = true -is_component_ffmpeg = true +is_component_ffmpeg = false use_webaudio_pffft = true enable_library_cdms = true enable_widevine = true