thorium-mirror/arm/android/args.list
Alexander Frick f372880d13 add arm64 pak
2023-06-27 16:19:49 -05:00

6618 lines
223 KiB
Text

action_pool_depth
Current value (from the default) = -1
From //build/toolchain/BUILD.gn:11
Pool for non goma tasks.
added_rust_stdlib_libs
Current value (from the default) = []
From //build/config/rust.gni:65
Any extra std rlibs in your Rust toolchain, relative to the standard
Rust toolchain. Typically used with 'rust_sysroot_absolute'
allow_critical_memory_pressure_handling_in_foreground
Current value (from the default) = false
From //content/common/features.gni:15
allow_jni_multiplexing
Current value (from the default) = false
From //build/config/android/config.gni:284
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:17
Whether to make account and service names for the crypto key storage
configurable at runtime for embedders.
Currently only has an effect on macOS via KeychainPassword
also_build_ash_chrome
Current value (from the default) = false
From //build/config/chromeos/ui_mode.gni:26
Setting this to true when building linux Lacros-chrome will cause it to
*also* build linux ash-chrome in a subdirectory using an alternate
toolchain.
Don't set this unless you're sure you want it, because it'll double
your build time.
also_build_lacros_chrome
Current value (from the default) = false
From //build/config/chromeos/ui_mode.gni:30
Setting this to true when building linux ash-chrome will cause it to
*also* build linux Lacros-chrome in a subdirectory using an alternate toolchain.
also_build_lacros_chrome_for_architecture
Current value (from the default) = ""
From //build/config/chromeos/ui_mode.gni:35
Setting this when building ash-chrome will cause it to
*also* build Lacros-chrome in a subdirectory using an alternate toolchain.
You can set this to either "amd64" or "arm".
alternate_cdm_storage_id_key
Current value (from the default) = ""
From //media/media_options.gni:234
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
(which takes precedence), or by setting |alternate_cdm_storage_id_key|.
The key must be a string of at least 32 characters.
android32_ndk_api_level
Current value (from the default) = 24
From //build/config/android/config.gni:167
Android API level for 32 bits platforms
android64_ndk_api_level
Current value (from the default) = 24
From //build/config/android/config.gni:170
Android API level for 64 bits platforms
android_channel
Current value (from the default) = "default"
From //build/config/android/channel.gni:8
The channel to build on Android: stable, beta, dev, canary, work, or
default. "default" should be used on non-official builds.
android_default_version_code
Current value (from the default) = "1"
From //build/config/android/config.gni:188
Android versionCode for android_apk()s that don't explicitly set one.
android_default_version_name
Current value (from the default) = "Developer Build"
From //build/config/android/config.gni:191
Android versionName for android_apk()s that don't explicitly set one.
android_full_debug
Current value (from the default) = false
From //build/config/compiler/BUILD.gn:60
Normally, Android builds are lightly optimized, even for debug builds, to
keep binary size down. Setting this flag to true disables such optimization
android_keystore_name
Current value (from the default) = "chromiumdebugkey"
From //build/config/android/config.gni:203
The name of the keystore to use for signing builds.
android_keystore_password
Current value (from the default) = "chromium"
From //build/config/android/config.gni:206
The password for the keystore to use for signing builds.
android_keystore_path
Current value (from the default) = "//build/android/chromium-debug.keystore"
From //build/config/android/config.gni:200
The path to the keystore to use for signing builds.
android_libcpp_lib_dir
Current value (from the default) = ""
From //build/config/android/config.gni:185
Libc++ library directory. Override to use a custom libc++ binary.
android_ndk_major_version
Current value (from the default) = 23
From //build/config/android/config.gni:164
android_ndk_root
Current value (from the default) = "//third_party/android_ndk"
From //build/config/android/config.gni:162
android_ndk_version
Current value (from the default) = "r23"
From //build/config/android/config.gni:163
android_override_version_code
Current value (from the default) = ""
From //build/config/android/config.gni:194
Forced Android versionCode
android_override_version_name
Current value (from the default) = ""
From //build/config/android/config.gni:197
Forced Android versionName
android_sdk_build_tools_version
Current value (from the default) = "33.0.0"
From //build/config/android/config.gni:179
android_sdk_platform_version
Current value (from the default) = "33"
From //build/config/android/config.gni:271
android_sdk_release
Current value (from the default) = "t"
From //build/config/android/config.gni:84
Which Android SDK to use.
android_sdk_root
Current value (from the default) = "//third_party/android_sdk/public"
From //build/config/android/config.gni:177
android_sdk_tools_bundle_aapt2_dir
Current value (from the default) = "//third_party/android_build_tools/aapt2"
From //build/config/android/config.gni:228
android_sdk_version
Current value (from the default) = "33"
From //build/config/android/config.gni:178
android_static_analysis
Current value (from the default) = "on"
From //build/config/android/config.gni:62
android_unstripped_runtime_outputs
Current value (from the default) = true
From //build/toolchain/android/BUILD.gn:15
Whether unstripped binaries, i.e. compiled with debug symbols, should be
considered runtime_deps rather than stripped ones.
angle_64bit_current_cpu
Current value (from the default) = true
From //third_party/angle/gni/angle.gni:108
angle_assert_always_on
Current value (from the default) = true
From //third_party/angle/gni/angle.gni:103
angle_build_all
Current value (from the default) = false
From //third_party/angle/BUILD.gn:44
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.
Also don't build them with MSVC, because tests and unused dependencies
often have problems building with it, e.g. for C++20.
angle_build_capture_replay_tests
Current value (from the default) = false
From //third_party/angle/src/tests/capture_replay_tests/BUILD.gn:9
Determines if we build the capture_replay_tests. Off by default.
angle_build_mesa
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:282
angle_build_tests
Current value (from the default) = true
From //third_party/angle/gni/angle.gni:295
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:276
angle_capture_replay_composite_file_id
Current value (from the default) = 1
From //third_party/angle/src/tests/capture_replay_tests/BUILD.gn:14
angle_capture_replay_test_trace_dir
Current value (from the default) = "traces"
From //third_party/angle/src/tests/capture_replay_tests/BUILD.gn:12
Set the trace directory. Default is traces
angle_debug_layers_enabled
Current value (from the default) = true
From //third_party/angle/gni/angle.gni:123
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:162
By default, ANGLE is using a thread pool for parallel compilation.
Activating the delegate worker results in posting the tasks using the
embedder API. In Chromium code base, it results in sending tasks to the
worker thread pool.
angle_egl_extension
Current value (from the default) = ""
From //third_party/angle/BUILD.gn:64
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
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
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:290
angle_enable_cgl
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:287
TODO(jdarpinian): Support enabling CGL and EAGL at the same time using the soft linking code. Also support disabling both for Metal-only builds.
angle_enable_cl
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:21
Enables OpenCL support, off by default.
angle_enable_cl_passthrough
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:194
Enables the OpenCL pass-through back end
angle_enable_commit_id
Current value (from the default) = true
From //third_party/angle/BUILD.gn:48
Enable generating current commit information using git
angle_enable_crc_for_pipeline_cache
Current value (from the default) = true
From //third_party/angle/src/libANGLE/renderer/vulkan/BUILD.gn:36
Enable using CRC for pipeline cache data
angle_enable_custom_vulkan_cmd_buffers
Current value (from the default) = true
From //third_party/angle/src/libANGLE/renderer/vulkan/BUILD.gn:17
Enable custom (cpu-side) secondary command buffers
angle_enable_custom_vulkan_outside_render_pass_cmd_buffers
Current value (from the default) = true
From //third_party/angle/src/libANGLE/renderer/vulkan/BUILD.gn:26
angle_enable_custom_vulkan_render_pass_cmd_buffers
Current value (from the default) = true
From //third_party/angle/src/libANGLE/renderer/vulkan/BUILD.gn:30
angle_enable_d3d11
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:168
angle_enable_d3d11_compositor_native_window
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:254
angle_enable_d3d9
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:167
angle_enable_desktop_glsl
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:226
Translator frontend support:
angle_enable_eagl
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:260
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:230
angle_enable_gl
Current value (from the default) = true
From //third_party/angle/gni/angle.gni:170
angle_enable_gl_desktop_backend
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:188
angle_enable_gl_desktop_frontend
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:29
Enable Desktop GL frontend support.
angle_enable_gl_null
Current value (from the default) = true
From //third_party/angle/src/libANGLE/renderer/gl/gl_backend.gni:8
angle_enable_global_mutex_recursion
Current value (from the default) = true
From //third_party/angle/BUILD.gn:78
angle_enable_glsl
Current value (from the default) = true
From //third_party/angle/gni/angle.gni:231
angle_enable_hlsl
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:229
Translator backend support:
angle_enable_memory_alloc_logging
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:242
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:191
http://anglebug.com/2634
angle_enable_msl_through_spirv
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:154
By default, include the SPIR-V based MSL translator (in addition to the direct translator)
angle_enable_null
Current value (from the default) = true
From //third_party/angle/gni/angle.gni:187
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:280
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:257
Disable performance counter output by default
angle_enable_renderdoc
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:299
angle_enable_share_context_lock
Current value (from the default) = false
From //third_party/angle/BUILD.gn:71
angle_enable_swiftshader
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:223
angle_enable_trace
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:232
angle_enable_trace_android_logcat
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:233
angle_enable_trace_events
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:234
angle_enable_unwind_backtrace_support
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:238
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:175
angle_enable_vulkan_gpu_trace_events
Current value (from the default) = false
From //third_party/angle/src/libANGLE/renderer/vulkan/BUILD.gn:20
Enable Vulkan GPU trace event capability
angle_enable_vulkan_shared_ring_buffer_cmd_alloc
Current value (from the default) = false
From //third_party/angle/src/libANGLE/renderer/vulkan/BUILD.gn:33
Enable shared ring buffer command buffer allocator
angle_enable_vulkan_system_info
Current value (from the default) = false
From //third_party/angle/BUILD.gn:35
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:248
angle_expose_glx_entry_points
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:40
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
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
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`
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.
angle_extract_native_libs
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:11
Extract native libs in ANGLE apk. Useful for flamegraph generation.
angle_force_context_check_every_call
Current value (from the default) = false
From //third_party/angle/BUILD.gn:61
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
angle_has_astc_encoder
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:199
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:151
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:292
angle_has_rapidjson
Current value (from the default) = true
From //third_party/angle/gni/angle.gni:118
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:138
angle_is_winuwp
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:137
There's no "is_winuwp" helper in BUILDCONFIG.gn, so we define one ourselves
angle_libs_suffix
Current value (from the default) = "_angle"
From //third_party/angle/gni/angle.gni:142
angle_link_glx
Current value (from the default) = false
From //third_party/angle/BUILD.gn:38
Link in system libGL, to work with apitrace. See doc/DebuggingTips.md.
angle_restricted_traces
Current value (from the default) = []
From //third_party/angle/gni/angle.gni:23
angle_shared_libvulkan
Current value (from the default) = true
From //third_party/angle/gni/angle.gni:134
Vulkan loader is statically linked on Mac. http://anglebug.com/4477
angle_standalone
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:165
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:203
angle_use_android_tls_slot
Current value (from the default) = false
From //third_party/angle/BUILD.gn:75
Use Android TLS slot to store current context.
angle_use_custom_libvulkan
Current value (from the default) = false
From //third_party/angle/src/common/vulkan/BUILD.gn:13
angle_use_gbm
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:62
angle_use_vulkan_display
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:66
angle_use_vulkan_null_display
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:184
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) = false
From //third_party/angle/gni/angle.gni:65
angle_use_x11
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:63
angle_vulkan_display_mode
Current value (from the default) = "simple"
From //third_party/angle/gni/angle.gni:14
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"
From //.gn:52
Overridden from the default = "//third_party/angle/third_party/vulkan-deps/vulkan-headers/src"
From //third_party/angle/gni/angle.gni:268
angle_vulkan_loader_dir
Current value = "//third_party/vulkan-deps/vulkan-loader/src"
From //.gn:53
Overridden from the default = "//third_party/angle/third_party/vulkan-deps/vulkan-loader/src"
From //third_party/angle/gni/angle.gni:270
angle_vulkan_tools_dir
Current value = "//third_party/vulkan-deps/vulkan-tools/src"
From //.gn:54
Overridden from the default = "//third_party/angle/third_party/vulkan-deps/vulkan-tools/src"
From //third_party/angle/gni/angle.gni:272
angle_vulkan_validation_layers_dir
Current value = "//third_party/vulkan-deps/vulkan-validation-layers/src"
From //.gn:56
Overridden from the default = "//third_party/angle/third_party/vulkan-deps/vulkan-validation-layers/src"
From //third_party/angle/gni/angle.gni:274
angle_wayland_dir
Current value (from the default) = "//third_party/angle/third_party/wayland"
From //third_party/angle/gni/angle.gni:265
Directory where to find wayland source files
angle_with_capture_by_default
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:18
Defaults to capture building to $root_out_dir/angle_libs/with_capture.
Switch on to build capture to $root_out_dir.
apm_debug_dump
Current value (from the default) = false
From //third_party/webrtc/webrtc.gni:125
Selects whether debug dumps for the audio processing module
should be generated.
archive_seed_corpus
Current value (from the default) = true
From //build/config/sanitizers/sanitizers.gni:109
When true, seed corpora archives are built.
arm_arch
Current value (from the default) = "armv8-a"
From //build/config/arm.gni:144
The ARM64 architecture. This will be a string like "armv8-a" or "armv8.5-a.
An empty string means to use the default for the arm_version.
arm_control_flow_integrity
Current value (from the default) = "standard"
From //build/config/arm.gni:170
Enable PAC and BTI on AArch64 Linux/Android systems.
target_cpu == "arm64" filters out some cases (e.g. the ChromeOS x64
MSAN build) where the target platform is x64, but V8 is configured to
use the arm64 simulator.
arm_float_abi
Current value (from the default) = "hard"
From //build/config/arm.gni:140
arm64 supports only "hard".
arm_fpu
Current value (from the default) = "neon"
From //build/config/arm.gni:153
The ARM64 floating point hardware. This will be a string like "neon" or
"vfpv3-d16". An empty string means to use the default for the arm_version.
arm_optionally_use_neon
Current value (from the default) = false
From //build/config/arm.gni:159
Whether to enable optional NEON code paths.
arm_tune
Current value (from the default) = "generic-armv8-a"
From //build/config/arm.gni:149
The ARM variant-specific tuning mode. This will be a string like "armv6"
or "cortex-a15". An empty string means to use the default for the
arm_version.
arm_use_neon
Current value (from the default) = "true"
From //build/config/arm.gni:156
Whether to use the neon FPU instruction set or not.
arm_use_thumb
Current value (from the default) = true
From //build/config/arm.gni:163
Thumb is a reduced instruction set available on some ARM processors that
has increased code density.
arm_version
Current value (from the default) = 8
From //build/config/arm.gni:137
Version of the ARM processor when compiling on ARM. Ignored on non-ARM
platforms.
auto_profile_path
Current value (from the default) = ""
From //build/config/compiler/BUILD.gn:89
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_poison_oob_ptr
Current value (from the default) = false
From //base/allocator/partition_allocator/partition_alloc.gni:179
Set to `enable_backup_ref_ptr_support && has_64_bit_pointers` when enabling.
blink_animation_use_time_delta
Current value (from the default) = false
From //third_party/blink/renderer/core/animation/BUILD.gn:11
Use base::TimeDelta to represent time in renderer/core/animations. See
http://crbug.com/737867
blink_enable_generated_code_formatting
Current value (from the default) = false
From //third_party/blink/renderer/config.gni:26
Format the generated files to improve the code readability. Apply clang-
format, gn format, etc. to the generated files if possible.
blink_gc_plugin
Current value (from the default) = true
From //third_party/blink/renderer/BUILD.gn:18
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
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_symbol_level
Current value (from the default) = -1
From //third_party/blink/renderer/config.gni:40
How many symbols to include in the build of blink. This affects
the performance of the build since the symbols are large and dealing with
them is slow.
2 means regular build with symbols.
1 means medium symbols, usually enough for backtraces only. Symbols with
internal linkage (static functions or those in anonymous namespaces) may not
appear when using this level. On some platforms (including Windows)
filenames and line numbers will be included. Information about types and
locals is not included.
0 means minimal symbols, which on some platforms (including Windows) may
include function names suitable for backtraces.
-1 means auto-set according to debug/release and platform.
branding_file_path
Current value (from the default) = "//chrome/app/theme/chromium/BRANDING"
From //build/config/chrome_build.gni:67
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:60
branding_path_product
Current value (from the default) = "chromium"
From //build/config/chrome_build.gni:61
build_allocation_stack_trace_recorder
Current value (from the default) = false
From //base/debug/debug.gni:17
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_angle_deqp_tests
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:26
Don't build dEQP by default.
build_angle_gles1_conform_tests
Current value (from the default) = false
From //third_party/angle/src/tests/BUILD.gn:11
build_angle_perftests
Current value (from the default) = true
From //third_party/angle/src/tests/BUILD.gn:14
build_angle_trace_perf_tests
Current value (from the default) = false
From //third_party/angle/src/tests/BUILD.gn:12
build_angle_trace_tests
Current value (from the default) = false
From //third_party/angle/src/tests/BUILD.gn:18
build_contextual_search
Current value (from the default) = true
From //components/contextual_search/features.gni:6
build_dawn_tests
Current value (from the default) = true
From //ui/gl/features.gni:27
Should Dawn test binaries (unittests, end2end_tests, perf_tests) be built?
Independent of use_dawn, which controls whether Dawn is used in Chromium.
build_hwasan_splits
Current value (from the default) = false
From //build/config/android/abi.gni:31
Build additional browser splits with HWASAN instrumentation enabled.
build_libsrtp_tests
Current value (from the default) = false
From //third_party/libsrtp/BUILD.gn:10
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_tflite_with_ruy
Current value (from the default) = true
From //third_party/tflite/features.gni:13
Turns on TFLITE_WITH_RUY, using ruy as the gemm backend instead of gemmlowp.
build_tflite_with_xnnpack
Current value (from the default) = false
From //third_party/tflite/features.gni:10
This enables building TFLite with XNNPACK. Currently only available for
Linux or Windows on x64.
build_webnn_on_cros
Current value (from the default) = false
From //third_party/blink/renderer/modules/ml/webnn/features.gni:14
This build flag enables WebNN on ChromeOS platform to access hardware
acceleration by using ModelLoader mojo interface.
build_webnn_with_xnnpack
Current value (from the default) = false
From //third_party/blink/renderer/modules/ml/webnn/features.gni:10
build_with_internal_optimization_guide
Current value (from the default) = false
From //components/optimization_guide/features.gni:37
build_with_mozilla
Current value (from the default) = false
From //third_party/webrtc/webrtc.gni:152
Enable to use the Mozilla internal settings.
build_with_tflite_lib
Current value (from the default) = true
From //components/optimization_guide/features.gni:14
This enables build with TFLite library.
TODO(b/269198471): Make sure the internal archive files for opt guide get
updated when win arm64 gets added as a supported platform for TFLite.
bundle_widevine_cdm
Current value (from the default) = false
From //third_party/widevine/cdm/widevine.gni:57
Widevine CDM is bundled as part of Google Chrome 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
Whether the cast remoting feature should be enabled in this build.
cc_wrapper
Current value (from the default) = ""
From //build/toolchain/cc_wrapper.gni:37
Set to "ccache", "icecc" or "distcc". Probably doesn't work on windows.
chrome_enable_logging_by_default
Current value (from the default) = true
From //chrome/common/features.gni:33
Enables the build to have logging enabled by default.
This is intended for use only in developer builds.
chrome_orderfile_path
Current value (from the default) = ""
From //build/config/compiler/BUILD.gn:211
chrome_pgo_phase
Current value (from the default) = 0
From //build/config/compiler/pgo/pgo.gni:20
Specify the current PGO phase.
Here's the different values that can be used:
0 : Means that PGO is turned off.
1 : Used during the PGI (instrumentation) phase.
2 : Used during the PGO (optimization) phase.
PGO profiles are generated from `dcheck_always_on = false` builds. Mixing
those profiles with `dcheck_always_on = true` builds can cause the compiler
to think some code is hotter than it actually is, potentially causing very
bad compile times.
chrome_public_manifest_package
Current value (from the default) = "org.chromium.thorium"
From //chrome/android/chrome_public_apk_tmpl.gni:30
Android package name to use when compiling the public chrome targets
(chrome_public_apk, monochrome_public_apk, etc. as well as the
*_bundle variants). This is particularly useful when using
monochrome_public_apk for WebView development, as the OS only accepts
WebView providers which declare one of a handful of package names. See
https://chromium.googlesource.com/chromium/src/+/HEAD/android_webview/docs/build-instructions.md#Changing-package-name
for details.
chrome_root_store_only
Current value (from the default) = false
From //net/features.gni:55
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) = true
From //net/features.gni:51
chrome_root_store_policy_supported
Current value (from the default) = true
From //chrome/common/features.gni:41
Platforms where the ChromeRootStoreEnabled enterprise policy is
supported. This must must match the supported_on/future_on list of the
policy in policy_templates.json and be a subset of the
chrome_root_store_optional platforms.
See https://crbug.com/1228958. This can be removed when the Chrome Root
Store is unconditionally enabled on all platforms.
chrome_root_store_supported
Current value (from the default) = true
From //net/features.gni:70
chrome_wide_echo_cancellation_supported
Current value (from the default) = false
From //media/media_options.gni:326
chromeos_afdo_platform
Current value (from the default) = "atom"
From //build/config/compiler/BUILD.gn:109
This configuration is used to select a default profile in Chrome OS based on
the microarchitectures we are using. This is only used if
clang_use_default_sample_profile is true and clang_sample_profile_path is
empty.
chromeos_is_browser_only
Current value (from the default) = false
From //build/config/chromeos/ui_mode.gni:19
Deprecated, use is_chromeos_lacros.
This controls UI configuration for Chrome.
If this flag is set, we assume Chrome runs on Chrome OS devices, using
Wayland (instead of X11).
TODO(crbug.com/1052397):
Define chromeos_product instead, which takes either "browser" or "ash".
Re-define the following variables as:
is_chromeos_lacros = chromeos_product == "browser"
is_chromeos_ash = chromeos_product == "ash"
clang_base_path
Current value (from the default) = "//third_party/llvm-build/Release+Asserts"
From //build/config/clang/clang.gni:21
clang_diagnostic_dir
Current value (from the default) = "../../tools/clang/crashreports"
From //build/config/compiler/compiler.gni:129
clang_emit_debug_info_for_profiling
Current value (from the default) = false
From //build/config/compiler/BUILD.gn:113
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:93
Path to an AFDO profile to use while building with clang, if any. Empty
implies none.
clang_use_chrome_plugins
Current value (from the default) = true
From //build/config/clang/clang.gni:14
clang_use_default_sample_profile
Current value (from the default) = false
From //build/config/compiler/BUILD.gn:102
clang_version
Current value (from the default) = "17"
From //build/toolchain/toolchain.gni:41
com_init_check_hook_disabled
Current value (from the default) = false
From //base/BUILD.gn:67
Set to true to disable COM init check hooks.
compile_credentials
Current value (from the default) = false
From //sandbox/linux/BUILD.gn:17
compile_suid_client
Current value (from the default) = false
From //sandbox/linux/BUILD.gn:15
compile_syscall_broker
Current value (from the default) = false
From //sandbox/linux/BUILD.gn:19
compiler_timing
Current value (from the default) = false
From //build/config/compiler/BUILD.gn:116
Turn this on to have the compiler output extra timing information.
compute_build_timestamp
Current value (from the default) = "compute_build_timestamp.py"
From //build/timestamp.gni:17
This should be the filename of a script that prints a single line
containing an integer that's a unix timestamp in UTC.
This timestamp is used as build time and will be compiled into
other code.
This argument may look unused. Before removing please check with the
chromecast team to see if they still use it internally.
compute_inputs_for_analyze
Current value (from the default) = false
From //build/config/compute_inputs_for_analyze.gni:13
Enable this flag when running "gn analyze".
This causes some gn actions to compute inputs immediately (via exec_script)
where they would normally compute them only when executed (and write them to
a depfile).
This flag will slow down GN, but is required for analyze to work properly.
concurrent_links
Current value (from the default) = -1
From //build/toolchain/concurrent_links.gni:23
Limit the number of concurrent links; we often want to run fewer
links at once than we do compiles, because linking is memory-intensive.
The default to use varies by platform and by the amount of memory
available, so we call out to a script to get the right value.
content_shell_major_version
Current value (from the default) = "999"
From //content/shell/BUILD.gn:44
content_shell_product_name
Current value (from the default) = "Thorium Shell"
From //content/shell/BUILD.gn:42
content_shell_version
Current value (from the default) = "999.77.34.5"
From //content/shell/BUILD.gn:43
coverage_instrumentation_input_file
Current value (from the default) = ""
From //build/config/coverage/coverage.gni:36
The path to the coverage instrumentation input file should be a source root
absolute path (e.g. //out/Release/coverage_instrumentation_input.txt), and
the file consists of multiple lines where each line represents a path to a
source file, and the paths must be relative to the root build directory.
e.g. ../../base/task/post_task.cc for build directory 'out/Release'.
NOTE that this arg will be non-op if use_clang_coverage is false.
cppgc_allow_allocations_in_prefinalizers
Current value (from the default) = false
From //v8/BUILD.gn:316
Enable allocations during prefinalizer invocations.
cppgc_enable_2gb_cage
Current value (from the default) = false
From //v8/gni/v8.gni:118
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:309
cppgc_enable_object_names
Current value (from the default) = false
From //v8/gni/v8.gni:102
Enable object names in cppgc for debug purposes.
cppgc_enable_pointer_compression
Current value (from the default) = false
From //v8/gni/v8.gni:114
Enable pointer compression in cppgc.
cppgc_enable_slim_write_barrier
Current value (from the default) = true
From //v8/gni/v8.gni:111
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
in a setting with few slow-path checks, i.e., with disabled young generation
GC.
cppgc_enable_verify_heap
Current value (from the default) = ""
From //v8/BUILD.gn:313
Enables additional heap verification phases and checks.
cppgc_enable_young_generation
Current value (from the default) = false
From //v8/gni/v8.gni:105
Enable young generation in cppgc.
cppgc_is_standalone
Current value (from the default) = false
From //v8/gni/v8.gni:99
crashpad_dependencies
Current value = "chromium"
From //.gn:49
Overridden from the default = "standalone"
From //third_party/crashpad/crashpad/build/crashpad_buildconfig.gni:19
Determines various flavors of build configuration, and which concrete
targets to use for dependencies. Valid values are "standalone", "chromium",
"fuchsia", "dart" or "external".
crashpad_http_transport_impl
Current value (from the default) = "socket"
From //third_party/crashpad/crashpad/util/net/tls.gni:19
crashpad_use_boringssl_for_http_transport_socket
Current value (from the default) = false
From //third_party/crashpad/crashpad/util/net/tls.gni:30
cros_board
Current value (from the default) = ""
From //build/config/chromeos/args.gni:8
This is used only by Simple Chrome to bind its value to test-runner scripts
generated at build-time.
cros_sdk_version
Current value (from the default) = ""
From //build/config/chromeos/args.gni:12
Similar to cros_board above, this used only by test-runner scripts in
Simple Chrome.
current_cpu
Current value (from the default) = ""
(Internally set; try `gn help current_cpu`.)
current_os
Current value (from the default) = ""
(Internally set; try `gn help current_os`.)
custom_toolchain
Current value (from the default) = ""
From //build/config/BUILDCONFIG.gn:147
Allows the path to a custom target toolchain to be injected as a single
argument, and set as the default toolchain.
dawn_always_assert
Current value (from the default) = false
From //third_party/dawn/scripts/dawn_features.gni:50
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:55
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
standalone to produce static libraries to use in their projects.
dawn_enable_d3d11
Current value (from the default) = false
From //third_party/dawn/scripts/dawn_features.gni:58
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:61
Enables the compilation of Dawn's D3D12 backend
dawn_enable_desktop_gl
Current value (from the default) = false
From //third_party/dawn/scripts/dawn_features.gni:72
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:87
dawn_enable_metal
Current value (from the default) = false
From //third_party/dawn/scripts/dawn_features.gni:64
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:68
Enables the compilation of Dawn's Null backend
(required for unittests, obviously non-conformant)
dawn_enable_opengles
Current value (from the default) = false
From //third_party/dawn/scripts/dawn_features.gni:78
dawn_enable_spirv_validation
Current value (from the default) = false
From //third_party/dawn/scripts/dawn_features.gni:105
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:82
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) = false
From //third_party/dawn/scripts/dawn_features.gni:101
dawn_enable_vulkan_validation_layers
Current value (from the default) = false
From //third_party/dawn/scripts/dawn_features.gni:96
dawn_use_angle
Current value (from the default) = false
From //third_party/dawn/scripts/dawn_features.gni:40
TODO(dawn:1545): Re-enable dawn_use_angle on Android. In non-component
builds, this is adding a dependency on ANGLE's libEGL.so and
libGLESv2.so, apparently without regard for the use_static_angle=true
GN variable. Chromium's linker on Android disallows production of more
than one shared object per target (?).
dawn_use_swiftshader
Current value (from the default) = false
From //third_party/dawn/scripts/dawn_features.gni:45
Enables SwiftShader as the fallback adapter. Requires dawn_swiftshader_dir
to be set to take effect.
TODO(dawn:1536): Enable SwiftShader for Android.
dcheck_always_on
Current value (from the default) = true
From //build/config/dcheck_always_on.gni:25
dcheck_is_configurable
Current value (from the default) = false
From //build/config/dcheck_always_on.gni:14
Enables DCHECKs to be built-in, but to default to being non-fatal/log-only.
DCHECKS can then be set as fatal/non-fatal via the "DcheckIsFatal" feature.
See https://bit.ly/dcheck-albatross for details on how this is used.
debuggable_apks
Current value (from the default) = true
From //build/config/android/config.gni:213
Mark APKs as android:debuggable="true".
default_min_sdk_version
Current value (from the default) = 24
From //build/config/android/config.gni:46
The default to use for android:minSdkVersion for targets that do
not explicitly set it.
devtools_components_visibility
Current value (from the default) = ["*"]
From //third_party/devtools-frontend/src/front_end/ui/components/visibility.gni:8
devtools_dcheck_always_on
Current value (from the default) = true
From //third_party/devtools-frontend/src/scripts/build/ninja/vars.gni:8
devtools_entrypoints_visibility
Current value (from the default) = ["*"]
From //third_party/devtools-frontend/src/front_end/entrypoints/visibility.gni:8
devtools_fast_bundle
Current value (from the default) = true
From //third_party/devtools-frontend/src/scripts/build/ninja/bundle.gni:12
If this is enabled, devtools build uses esbuild instead of rollup.js to
bundle JavaScript files.
devtools_grd_location
Current value (from the default) = "third_party/devtools-frontend/src/front_end/devtools_resources.grd"
From //build/config/devtools.gni:29
devtools_instrumentation_dumping
Current value (from the default) = false
From //build/config/android/abi.gni:24
Only effective if use_order_profiling = true. When this is true,
instrumentation switches from startup profiling after a delay, and
then waits for a devtools memory dump request to dump all
profiling information. When false, the same delay is used to switch from
startup, and then after a second delay all profiling information is dumped.
See base::android::orderfile::StartDelayedDump for more information.
devtools_lit_visibility
Current value (from the default) = ["*"]
From //third_party/devtools-frontend/src/front_end/ui/lit-html/visibility.gni:8
devtools_location
Current value (from the default) = "third_party/devtools-frontend/src/"
From //build/config/devtools.gni:27
devtools_models_visibility
Current value (from the default) = ["*"]
From //third_party/devtools-frontend/src/front_end/models/visibility.gni:8
devtools_panels_visibility
Current value (from the default) = ["*"]
From //third_party/devtools-frontend/src/front_end/panels/visibility.gni:8
devtools_release_sourcemaps
Current value (from the default) = false
From //third_party/devtools-frontend/src/scripts/build/ninja/bundle.gni:17
If this is enabled, rollup will also emit source maps for the bundles.
As rollup is only used for release builds, this flag can only be set
for release builds.
devtools_root_location
Current value (from the default) = "third_party/devtools-frontend/src"
From //build/config/devtools.gni:26
devtools_skip_typecheck
Current value (from the default) = true
From //third_party/devtools-frontend/src/third_party/typescript/typescript.gni:15
devtools_third_party_visibility
Current value (from the default) = ["*"]
From //third_party/devtools-frontend/src/front_end/third_party/visibility.gni:8
devtools_ui_legacy_visibility
Current value (from the default) = ["*"]
From //third_party/devtools-frontend/src/front_end/ui/legacy/visibility.gni:8
devtools_use_remoteexec
Current value (from the default) = false
From //third_party/devtools-frontend/src/third_party/typescript/typescript.gni:13
Set to true to enable remote compilation of TypeScript using reclient.
This flag is temporarily until DevTools reclient support has stabilized.
At that point, this flag will be folded together with "use_remoteexec".
TODO(crbug.com/1139220): Remove the flag once we are confident.
devtools_visibility
Current value = ["*"]
From //.gn:63
Overridden from the default = []
From //third_party/devtools-frontend/src/front_end/visibility.gni:6
dfmify_dev_ui
Current value (from the default) = true
From //chrome/android/features/dev_ui/dev_ui_module.gni:8
Whether Developer UI (chrome:// pages) should be split into a separate
Dynamic Feature Module (DFM: //docs/android_dynamic_feature_modules.md).
dfmify_feed_v2_modern
Current value (from the default) = false
From //components/feed/features.gni:13
Whether to include Feed as a DFM in ChromeModern builds.
disable_android_lint
Current value (from the default) = false
From //build/config/android/config.gni:223
Turns off android lint.
disable_brotli_filter
Current value (from the default) = false
From //net/features.gni:23
Do not disable brotli filter by default.
disable_fieldtrial_testing_config
Current value (from the default) = false
From //components/variations/service/BUILD.gn:15
Set to true make a build that disables activation of field trial tests
specified in testing/variations/fieldtrial_testing_config.json.
Note: For Chrome-branded Android builds, this is always considered as set to
true (see below). This is done to avoid the binary size impact (~40 KiB) on
Android.
disable_file_support
Current value (from the default) = false
From //net/features.gni:10
Disables support for file URLs. File URL support requires use of icu.
disable_libfuzzer
Current value (from the default) = false
From //build/config/sanitizers/sanitizers.gni:87
Helper variable for testing builds with disabled libfuzzer.
Not for client use.
enable_accessibility_service
Current value (from the default) = false
From //services/accessibility/buildflags.gni:11
Used to enable the Accessibility Service. Override this in
gn args on supported platforms (see below).
enable_accessibility_service_internal
Current value (from the default) = false
From //services/accessibility/buildflags.gni:20
enable_all_rust_features
Current value (from the default) = false
From //build/config/rust.gni:36
As we incrementally enable Rust on mainstream builders, we want to enable
the toolchain (by switching 'enable_rust' to true) while still disabling
almost all Rust features). Yet we still want to have some builders with
all Rust features enabled.
enable_android_nocompile_tests
Current value (from the default) = false
From //build/config/android/android_nocompile.gni:10
Used by tests to enable generating build files for GN targets which should
not compile.
enable_arcore
Current value (from the default) = true
From //device/vr/buildflags/buildflags.gni:40
Controls inclusion of code for ARCore that must be identical across configs.
Once crbug.com/920424 is resolved, this will exactly control whether ARCore
is supported.
TODO(crbug.com/843374): AR should not depend on |enable_vr|.
enable_arsc_obfuscation
Current value (from the default) = true
From //build/config/android/config.gni:241
Controls whether |short_resource_paths| and |strip_resource_names| are
respected. Useful when trying to analyze APKs using tools that do not
support mapping these names.
enable_assistant_integration_tests
Current value (from the default) = false
From //chromeos/ash/components/assistant/assistant.gni:18
Enable Assistant integration tests using LibAssistant and a fake S3 server.
This requires libassistant.so to support grpc communication with the S3
server, which increases the library size, which is why we introduced this
flag to disable them in the release builds.
enable_av1_decoder
Current value (from the default) = true
From //media/media_options.gni:122
If overriding this to false, possibly via its component values,
`enable_libaom` should likely also be overriddent to false.
enable_background_contents
Current value (from the default) = false
From //chrome/common/features.gni:44
Enables support for background apps.
enable_background_mode
Current value (from the default) = false
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:155
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.
enable_backup_ref_ptr_slow_checks
Current value (from the default) = false
From //base/allocator/partition_allocator/partition_alloc.gni:147
enable_backup_ref_ptr_support
Current value (from the default) = false
From //base/allocator/partition_allocator/partition_alloc.gni:90
enable_base_tracing
Current value (from the default) = true
From //build_overrides/build.gni:35
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.
enable_baseline_profiles
Current value (from the default) = false
From //build/config/android/config.gni:252
Controls whether |baseline_profile_path| is respected. Useful to disable
baseline profiles.
Currently disabled while bundletool does not support baseline profiles in
non-base splits.
enable_basic_print_dialog
Current value (from the default) = true
From //printing/buildflags/buildflags.gni:29
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:20
TODO(awscreen) Safety net to avoid revert for a flag rename which affects
many locations. Remove this once `enable_printing` has landed.
enable_blink_bindings_tracing
Current value (from the default) = false
From //third_party/blink/renderer/platform/BUILD.gn:223
Enable TRACE_EVENT instrumentation for Blink bindings.
Disabled by default as it increases binary size.
enable_bound_session_credentials
Current value (from the default) = false
From //components/signin/features.gni:11
Compile time flag for Bound Session Credentials.
Warning: The feature is still under development. This must not be enabled in
official builds.
enable_browser_speech_service
Current value (from the default) = false
From //chrome/services/speech/buildflags/buildflags.gni:24
Whether the speech service is implemented in the browser as a hosted service
possibly running in a utility process.
On other platforms, that service is either
* implemented some other way (e.g. ChromeOS, where ML Service provides the
implementation); or
* not implemented, and corresponding features don't exist as part of Chrome
(e.g. Android, where Live Caption is instead a system feature).
enable_call_graph_profile_sort
Current value (from the default) = false
From //build/config/compiler/BUILD.gn:158
Turn off the --call-graph-profile-sort flag for lld by default. Enable
selectively for targets where it's beneficial.
enable_callgrind
Current value (from the default) = false
From //third_party/pdfium/pdfium.gni:59
Enable callgrind for performance profiling
enable_captive_portal_detection
Current value (from the default) = false
From //components/captive_portal/core/features.gni:9
enable_cardboard
Current value (from the default) = false
From //device/vr/buildflags/buildflags.gni:14
enable_cast_audio_renderer
Current value (from the default) = false
From //build/config/chromecast_build.gni:26
True to enable the cast audio renderer.
TODO(crbug.com/1293520): Remove this buildflag.
enable_cast_receiver
Current value (from the default) = false
From //build/config/chromecast_build.gni:44
Set this true for a Chromecast build. Chromecast builds are supported on
Linux, Android, ChromeOS, and Fuchsia.
enable_cast_renderer
Current value (from the default) = false
From //build/config/chromecast_build.gni:53
enable_cdm_host_verification
Current value (from the default) = false
From //media/media_options.gni:223
enable_cdm_storage_id
Current value (from the default) = false
From //media/media_options.gni:227
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) = false
From //build/config/compiler/compiler.gni:136
Mark binaries as compatible with Shadow Stack of Control-flow Enforcement
Technology (CET). If Windows version and hardware supports the feature and
it's enabled by OS then additional validation of return address will be
performed as mitigation against Return-oriented programming (ROP).
https://chromium.googlesource.com/chromium/src/+/main/docs/design/sandbox.md#cet-shadow-stack
enable_check_raw_ptr_fields
Current value (from the default) = true
From //build/config/clang/clang.gni:18
enable_chrome_android_internal
Current value (from the default) = false
From //build/config/android/config.gni:42
enable_chrome_notifications
Current value (from the default) = false
From //chrome/common/features.gni:48
Enables usage of notifications via Chrome's MessageCenter.
enable_click_to_call
Current value (from the default) = true
From //chrome/common/features.gni:51
Disable Click to Call on Fuchsia.
enable_component_updater
Current value (from the default) = true
From //chrome/common/features.gni:55
Whether to enable the component updater. Code is in
//components/component_updater.
enable_cros_libassistant
Current value (from the default) = false
From //chromeos/ash/components/assistant/assistant.gni:6
Enable assistant implementation based on libassistant.
enable_cros_media_app
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_dangling_raw_ptr_checks
Current value (from the default) = false
From //base/allocator/partition_allocator/partition_alloc.gni:158
enable_dangling_raw_ptr_feature_flag
Current value (from the default) = false
From //base/allocator/partition_allocator/partition_alloc.gni:166
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:176
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 flag is temporary, and isn't used by PA embedders, so it doesn't need
to go through build_overrides
enable_dav1d_decoder
Current value (from the default) = true
From //media/media_options.gni:101
enable_discovery
Current value (from the default) = false
From //chrome/browser/sharing/buildflags.gni:6
enable_downgrade_processing
Current value (from the default) = false
From //chrome/browser/downgrade/buildflags.gni:9
enable_dsyms
Current value (from the default) = false
From //build/config/apple/symbols.gni:17
Produce dSYM files for targets that are configured to do so. dSYM
generation is controlled globally as it is a linker output (produced via
the //build/toolchain/apple/linker_driver.py. Enabling this will result in
all shared library, loadable module, and executable targets having a dSYM
generated.
enable_expensive_dchecks
Current value (from the default) = true
From //build/config/dcheck_always_on.gni:33
enable_extensions
Current value (from the default) = false
From //extensions/buildflags/buildflags.gni:8
enable_extractors
Current value (from the default) = false
From //chrome/services/file_util/public/features.gni:11
Whether the file_util service supports .TAR.XZ and .TAR file extraction.
Currently only used by imageWriterPrivate extension API, so only enabled
when Extensions are enabled.
enable_fake_assistant_microphone
Current value (from the default) = false
From //chromeos/ash/components/assistant/assistant.gni:10
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_feed_v2_modern
Current value (from the default) = true
From //components/feed/features.gni:10
Whether to include Feed in ChromeModern builds.
enable_ffmpeg_video_decoders
Current value (from the default) = false
From //media/media_options.gni:207
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.
enable_full_stack_frames_for_profiling
Current value (from the default) = false
From //build/config/compiler/BUILD.gn:67
Compile in such a way as to make it possible for the profiler to unwind full
stack frames. Setting this flag has a large effect on the performance of the
generated code than just setting profiling, but gives the profiler more
information to analyze.
Requires profiling to be set to true.
enable_gpu_client_logging
Current value (from the default) = false
From //gpu/command_buffer/client/BUILD.gn:14
Enable GPU client logging without DCHECK being on.
enable_gpu_service_logging
Current value (from the default) = false
From //ui/gl/BUILD.gn:22
Whether service side logging (actual calls into the GL driver) is enabled
or not.
enable_gvr_services
Current value (from the default) = true
From //device/vr/buildflags/buildflags.gni:11
enable_gwp_asan
Current value (from the default) = false
From //components/gwp_asan/buildflags/buildflags.gni:26
Convenience definition
enable_gwp_asan_malloc
Current value (from the default) = false
From //components/gwp_asan/buildflags/buildflags.gni:20
Is GWP-ASan malloc/PartitionAlloc hooking enabled for chrome/ on a given
platform.
enable_gwp_asan_partitionalloc
Current value (from the default) = false
From //components/gwp_asan/buildflags/buildflags.gni:21
enable_hangout_services_extension
Current value (from the default) = false
From //chrome/common/features.gni:59
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 (from the default) = false
From //media/media_options.gni:114
enable_hidpi
Current value (from the default) = false
From //ui/base/ui_features.gni:32
enable_hls_demuxer
Current value (from the default) = false
From //media/media_options.gni:108
Enable HLS manifest parser and demuxer.
enable_incremental_d8
Current value (from the default) = true
From //build/config/android/config.gni:278
Reduce build time by using d8 incremental build.
enable_ink
Current value (from the default) = false
From //pdf/features.gni:18
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.
enable_ipc_fuzzer
Current value (from the default) = false
From //tools/ipc_fuzzer/ipc_fuzzer.gni:14
Build IPC fuzzer by default if it's a supported configuration. For
sanitizer builds, this needs to be enabled explicitly as they can be slow
(especially MSan).
enable_ipc_logging
Current value (from the default) = true
From //ipc/features.gni:7
Enabling debug builds automatically sets enable_ipc_logging to true.
enable_iterator_debugging
Current value (from the default) = false
From //build/config/c++/c++.gni:39
When set, enables libc++ debug mode with iterator debugging.
Iterator debugging is generally useful for catching bugs. But it can
introduce extra locking to check the state of an iterator against the state
of the current object. For iterator- and thread-heavy code, this can
significantly slow execution - two orders of magnitude slowdown has been
seen (crbug.com/903553) and iterator debugging also slows builds by making
generation of snapshot_blob.bin take ~40-60 s longer. Therefore this
defaults to off.
enable_java_asserts
Current value (from the default) = true
From //build/config/android/config.gni:275
Whether java assertions and Preconditions checks are enabled.
enable_js_protobuf
Current value (from the default) = true
From //third_party/protobuf/proto_library.gni:141
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_keystone_registration_framework
Current value (from the default) = true
From //chrome/BUILD.gn:60
Indicates whether keystone registration framework should be enabled (see
action("keystone_registration_framework") below). There are some tests
where we'd like for it to be disabled. (https://crbug.com/909080)
enable_kythe_annotations
Current value (from the default) = false
From //build/toolchain/kythe.gni:10
Enables Kythe annotations necessary to build cross references.
enable_lens_desktop
Current value (from the default) = false
From //components/lens/features.gni:15
Includes Lens features in the build. toolkit_views is used to ensure Lens
features are only included on Desktop devices running Chromium
enable_lens_desktop_google_branded_features
Current value (from the default) = false
From //components/lens/features.gni:25
enable_libaom
Current value (from the default) = false
From //third_party/libaom/options.gni:7
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) = false
From //media/media_options.gni:215
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
will be hosted in the mojo CDM service running in the CDM (utility) process.
Used for all desktop platforms.
enable_linux_installer
Current value (from the default) = false
From //chrome/installer/installers.gni:12
enable_local_libstd
Current value (from the default) = true
From //build/config/rust.gni:45
Build libstd locally with GN and use that instead of the prebuilts, where
applicable. If this is false the prebuilt libstd will always be used. If
true, the local build is only used with the Chromium Rust toolchain and only
on supported platforms and GN targets.
enable_log_error_not_reached
Current value (from the default) = false
From //build/config/logging.gni:12
enable_logging_override
Current value (from the default) = false
From //media/media_options.gni:99
Enable logging override, e.g. enable DVLOGs through level 2 at build time.
On Cast devices, these are logged as INFO.
When enabled on Fuchsia, these are logged as VLOGs.
enable_maldoca
Current value (from the default) = false
From //chrome/services/file_util/public/features.gni:14
Enables analysis of Office documents for malicious macros
enable_mdns
Current value (from the default) = false
From //net/features.gni:26
Multicast DNS.
enable_media_control_logging_override
Current value (from the default) = false
From //components/media_control/renderer/BUILD.gn:9
enable_media_drm_storage
Current value (from the default) = true
From //media/media_options.gni:105
Enable browser managed persistent metadata storage for EME persistent
session and persistent usage record session.
enable_media_foundation_widevine_cdm
Current value (from the default) = false
From //third_party/widevine/cdm/widevine.gni:50
enable_media_remoting
Current value (from the default) = true
From //media/media_options.gni:310
This switch defines whether the Media Remoting implementation will be built.
When enabled, media is allowed to be renderer and played back on remote
devices when the tab is being casted and other conditions are met.
enable_media_remoting_rpc
Current value (from the default) = false
From //media/media_options.gni:316
Media Remoting RPC is disabled on Android since it's unused but increases
the native binary size by ~70Kb.
enable_message_center
Current value (from the default) = false
From //ui/base/ui_features.gni:30
enable_modular_updater
Current value (from the default) = false
From //build/config/chromecast_build.gni:21
Set true to enable modular_updater.
enable_mojo_tracing
Current value (from the default) = false
From //mojo/public/cpp/bindings/BUILD.gn:13
enable_mojom_fuzzer
Current value (from the default) = false
From //mojo/public/tools/bindings/mojom.gni:45
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:41
Controls message ID scrambling behavior. If |true|, message IDs are
scrambled (i.e. randomized based on the contents of //chrome/VERSION) on
non-Chrome OS desktop platforms. Set to |false| to disable message ID
scrambling on all platforms.
enable_mojom_typemapping
Current value (from the default) = true
From //mojo/public/tools/bindings/mojom.gni:35
Indicates whether typemapping should be supported in this build
configuration. This may be disabled when building external projects which
depend on //mojo but which do not need/want all of the Chromium tree
dependencies that come with typemapping.
Note that (perhaps obviously) a huge amount of Chromium code will not build
with typemapping disabled, so it is never valid to set this to |false| in
any Chromium build configuration.
enable_mse_mpeg2ts_stream_parser
Current value (from the default) = false
From //media/media_options.gni:133
enable_mutex_priority_inheritance
Current value (from the default) = false
From //base/BUILD.gn:72
Set to true to enable mutex priority inheritance. See the comments in
LockImpl::PriorityInheritanceAvailable() in lock_impl_posix.cc for the
platform requirements to safely enable priority inheritance.
enable_nacl
Current value (from the default) = false
From //components/nacl/features.gni:28
enable_nocompile_tests
Current value (from the default) = false
From //build/nocompile.gni:72
TODO(crbug.com/105388): make sure no-compile test is not flaky.
enable_offline_pages
Current value (from the default) = true
From //components/offline_pages/buildflags/features.gni:8
Whether to enable OfflinePages support. Currently user-visible features
are Android-only.
enable_offline_pages_harness
Current value (from the default) = false
From //components/offline_pages/buildflags/features.gni:12
This enables test API for locally-built harness which is used for quality
evaluations. Requires setting this variable manually at local environment.
enable_oop_basic_print_dialog
Current value (from the default) = false
From //printing/buildflags/buildflags.gni:59
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
system dialog be modal against an application window in the browser process.
enable_oop_printing
Current value (from the default) = false
From //printing/buildflags/buildflags.gni:43
Enables out-of-process printing. While this definition matches
`enable_print_preview`, do not base this definition upon that. This
feature could still be appropriate for some build configurations which
explicitly disable print preview.
enable_opengl_apitrace
Current value (from the default) = false
From //build/config/ozone.gni:34
Enable explicit apitrace (https://apitrace.github.io) loading.
This requires apitrace library with additional bindings.
See ChromeOS package for details:
https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/2659419
Chrome will not start without an apitrace.so library.
Trace will be saved to /tmp/gltrace.dat file by default. You can
override it at run time with TRACE_FILE=<path> environment variable.
enable_openscreen_protocol
Current value (from the default) = false
From //chrome/browser/media/router/BUILD.gn:12
Set to true to build code that supports the Open Screen Protocol.
OSP is experimental and not yet feature-complete.
enable_openxr
Current value (from the default) = false
From //device/vr/buildflags/buildflags.gni:20
To build with OpenXR support, the OpenXR Loader needs to be pulled to
third_party/openxr.
enable_paint_preview
Current value (from the default) = true
From //build/config/buildflags_paint_preview.gni:15
Enable basic paint preview support. Does not work on iOS. Should
not be included with Chromecast hardware devices.
Used by //components/paint_preview and //third_party/harfbuzz-ng.
TODO(crbug.com/webrtc/11223) Move back this file in
//components/paint_preview/ once WebRTC doesn't roll harfbuzz-ng anymore,
for consistency sake.
enable_pdf
Current value (from the default) = false
From //pdf/features.gni:20
enable_perfetto_benchmarks
Current value (from the default) = false
From //third_party/perfetto/gn/perfetto.gni:195
enable_perfetto_fuzzers
Current value (from the default) = false
From //third_party/perfetto/gn/perfetto.gni:198
enable_perfetto_grpc
Current value (from the default) = false
From //third_party/perfetto/gn/perfetto.gni:315
Enables gRPC in the Perfetto codebase. gRPC significantly increases build
times and the general footprint of Perfetto. As it only required for
cloud trace processor and even then only to build the final ready-to-ship
binary, don't enable this by default.
enable_perfetto_heapprofd
Current value (from the default) = false
From //third_party/perfetto/gn/perfetto.gni:157
enable_perfetto_integration_tests
Current value (from the default) = false
From //third_party/perfetto/gn/perfetto.gni:193
enable_perfetto_ipc
Current value (from the default) = true
From //third_party/perfetto/gn/perfetto.gni:150
enable_perfetto_llvm_demangle
Current value (from the default) = false
From //third_party/perfetto/gn/perfetto.gni:309
enable_perfetto_platform_services
Current value (from the default) = false
From //third_party/perfetto/gn/perfetto.gni:141
enable_perfetto_site
Current value (from the default) = false
From //third_party/perfetto/gn/perfetto.gni:332
Allows to build the perfetto.dev website.
WARNING: if this flag is enabled, the build performs globbing at generation
time. Incremental builds that add/remove files will not be supported without
rerunning gn.
enable_perfetto_stderr_crash_dump
Current value (from the default) = false
From //third_party/perfetto/gn/perfetto.gni:235
enable_perfetto_system_consumer
Current value (from the default) = true
From //third_party/perfetto/gn/perfetto.gni:251
enable_perfetto_tools
Current value (from the default) = false
From //third_party/perfetto/gn/perfetto.gni:187
enable_perfetto_trace_processor
Current value (from the default) = true
From //third_party/perfetto/gn/perfetto.gni:173
enable_perfetto_trace_processor_httpd
Current value (from the default) = false
From //third_party/perfetto/gn/perfetto.gni:296
enable_perfetto_trace_processor_json
Current value (from the default) = true
From //third_party/perfetto/gn/perfetto.gni:291
enable_perfetto_trace_processor_linenoise
Current value (from the default) = false
From //third_party/perfetto/gn/perfetto.gni:285
enable_perfetto_trace_processor_percentile
Current value (from the default) = false
From //third_party/perfetto/gn/perfetto.gni:280
enable_perfetto_trace_processor_sqlite
Current value (from the default) = true
From //third_party/perfetto/gn/perfetto.gni:275
enable_perfetto_traceconv
Current value (from the default) = false
From //third_party/perfetto/gn/perfetto.gni:321
enable_perfetto_traced_perf
Current value (from the default) = false
From //third_party/perfetto/gn/perfetto.gni:165
enable_perfetto_traced_probes
Current value (from the default) = false
From //third_party/perfetto/gn/perfetto.gni:267
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
as it won't do anything useful on Windows.
The only reason why we still build it on Mac OS is to be able to run the
unittests there and making dev on mac less cumbersome. The traced_probes
code happens to build cleanly and for now the mainteinance cost on Mac is
extremely low.
enable_perfetto_ui
Current value (from the default) = false
From //third_party/perfetto/gn/perfetto.gni:325
enable_perfetto_unittests
Current value (from the default) = true
From //third_party/perfetto/gn/perfetto.gni:189
enable_perfetto_version_gen
Current value (from the default) = false
From //third_party/perfetto/gn/perfetto.gni:204
enable_perfetto_watchdog
Current value (from the default) = false
From //third_party/perfetto/gn/perfetto.gni:182
enable_perfetto_x64_cpu_opt
Current value (from the default) = false
From //third_party/perfetto/gn/perfetto.gni:243
enable_perfetto_zlib
Current value (from the default) = false
From //third_party/perfetto/gn/perfetto.gni:302
enable_pkeys
Current value (from the default) = false
From //base/allocator/partition_allocator/partition_alloc.gni:308
enable_platform_ac3_eac3_audio
Current value (from the default) = false
From //media/media_options.gni:72
Enables AC3/EAC3 audio handling in chromium. This includes demuxing,
on-device decoding and bitstream passthrough as supported by device.
enable_platform_dolby_vision
Current value (from the default) = false
From //media/media_options.gni:87
enable_platform_dts_audio
Current value (from the default) = false
From //media/media_options.gni:78
Enables DTS/DTSX audio handling in chromium. This includes demuxing,
on-device decoding and bitstream passthrough as supported by device.
enable_platform_encrypted_dolby_vision
Current value (from the default) = false
From //media/media_options.gni:94
Enable platform support of encrypted Dolby Vision. The actual support
depends on platform capability and is controlled by the run time feature
kPlatformEncryptedDolbyVision. Clear Dolby Vision is not supported by
default, unless overwritten by the run time feature
kAllowClearDolbyVisionInMseWhenPlatformEncryptedDvEnabled.
enable_platform_hevc
Current value (from the default) = false
From //media/media_options.gni:129
enable_platform_mpeg_h_audio
Current value (from the default) = false
From //media/media_options.gni:74
enable_plugins
Current value (from the default) = false
From //ppapi/buildflags/buildflags.gni:14
Enables basic plugin support. This enables support for registering and
looking up plugins, but does not include support for loading plugins using a
specific technology like Pepper.
In particular, the PDF viewer (enable_pdf) requires plugin support, but it
does not require Pepper support (enable_ppapi).
enable_pointer_compression_support
Current value (from the default) = false
From //base/allocator/partition_allocator/partition_alloc.gni:71
Introduces pointer compression support in PA.
This is effective only for memory allocated from PartitionAlloc, so it is
recommended to enable PA-E above, but isn't strictly necessary. Embedders
can create and use PA partitions explicitly.
enable_pointer_subtraction_check
Current value (from the default) = false
From //base/allocator/partition_allocator/partition_alloc.gni:75
Enables a bounds check when two pointers (at least one being raw_ptr) are
subtracted (if supported by the underlying implementation).
enable_ppapi
Current value (from the default) = false
From //ppapi/buildflags/buildflags.gni:19
Enables Pepper API (PPAPI) plugin support.
enable_precompiled_headers
Current value (from the default) = true
From //build/config/pch.gni:14
enable_print_content_analysis
Current value (from the default) = false
From //printing/buildflags/buildflags.gni:47
Enable snapshotting a page when printing for its content to be analyzed for
sensitive content by enterprise users.
enable_print_media_l10n
Current value (from the default) = false
From //chrome/common/printing/BUILD.gn:16
Enable print media localization only on the platforms that support CUPS IPP
(ChromeOS and macOS for now). The localization expects media vendor IDs
uniquely generated by CUPS IPP.
enable_print_preview
Current value (from the default) = false
From //printing/buildflags/buildflags.gni:25
Enables printing with print preview.
Print preview requires PDF per //printing/BUILD.gn.
The is_android condition is currently redundant but left for clarity.
enable_printing
Current value (from the default) = true
From //printing/buildflags/buildflags.gni:14
Enables printing support.
enable_profiling
Current value (from the default) = false
From //build/config/compiler/compiler.gni:70
Compile in such a way as to enable profiling of the generated code. For
example, don't omit the frame pointer and leave in symbols.
enable_proguard_obfuscation
Current value (from the default) = true
From //build/config/android/config.gni:236
Controls whether proguard obfuscation is enabled for targets
configured to use it.
enable_pseudolocales
Current value (from the default) = true
From //build/config/locales.gni:243
We want to give pseudolocales to everyone except end-users (devs & QA).
Note that this only packages the locales in, and doesn't add the ui to enable them.
enable_puffin_patches
Current value (from the default) = false
From //components/update_client/buildflags.gni:8
Whether to enable the Puffin PuffPatch feature which is currently still
in development.
enable_qr_print
Current value (from the default) = false
From //components/qr_code_generator/BUILD.gn:9
Enables building a development / debugging binary.
enable_random_mojo_delays
Current value (from the default) = false
From //mojo/public/cpp/bindings/BUILD.gn:19
enable_random_mojo_delays starts a task runner that periodically pauses
random Mojo bindings and later resumes them, in order to test whether parts
of the code implicitly rely on FIFO processing of messages sent on different
message pipes (which they should not).
enable_raw_ptr_experimental
Current value (from the default) = false
From //base/allocator/partition_allocator/partition_alloc.gni:108
Determines whether `raw_ptr_experimental<T>` is an alias for
`raw_ptr<T>` or `T*` (true raw pointer).
Members rewritten as `raw_ptr_experimental` rely on this as an
escape hatch to degrade to a `T*` if `raw_ptr` performance proves
problematic. Defaults to match standard `raw_ptr` support.
One side effect of this is that `raw_ptr_experimental<T> foo_` must
not use `foo_.get()`; this is incoherent when `foo_` is a `T*`.
Use `base::to_address()` instead.
enable_reading_list
Current value (from the default) = true
From //components/reading_list/features/reading_list.gni:8
Controls whether reading list support is active or not. Currently only
supported on iOS (on other platforms, the feature is always disabled).
enable_remoting
Current value (from the default) = true
From //remoting/remoting_enable.gni:12
enable_reporting
Current value (from the default) = true
From //net/features.gni:29
Reporting not used on iOS.
enable_resource_allowlist_generation
Current value (from the default) = false
From //build/toolchain/gcc_toolchain.gni:28
enable_rlz
Current value (from the default) = false
From //rlz/buildflags/buildflags.gni:13
enable_rust
Current value (from the default) = true
From //build/config/rust.gni:28
Whether to allow Rust code to be part of the Chromium *build process*.
This can be used to create Rust test binaries, even if the flag below
is false.
This only applies to Chromium itself, so the build_with_chromium check
should not be removed.
TODO(crbug.com/1386212): Mac
TODO(crbug.com/1271215): Windows
TODO(crbug.com/1426472): use_clang_coverage
TODO(crbug.com/1427362): using_sanitizer
TODO(crbug.com/1427364): target_cpu != "x86"
There is no specific bug for !is_official_build or other platforms, since
this is just a matter of rolling things out slowly and carefully and there
may be no actual bugs there.
enable_rust_base_conversions
Current value (from the default) = false
From //build/config/rust.gni:100
Conversions between Rust types and C++ types.
enable_rust_boringssl
Current value (from the default) = false
From //build/config/rust.gni:118
Enable Boringssl Rust bindings generation
enable_rust_crash
Current value (from the default) = false
From //build/config/rust.gni:106
Support for chrome://crash-rust to check crash dump collection works.
enable_rust_gnrt
Current value (from the default) = false
From //build/config/rust.gni:112
Support for the 'gnrt' Rust tool.
enable_rust_gtest_interop
Current value (from the default) = false
From //build/config/rust.gni:115
Rust gtest interop
enable_rust_json
Current value (from the default) = false
From //build/config/rust.gni:103
The base::JSONReader implementation. Requires base conversions.
enable_rust_mojo
Current value (from the default) = false
From //build/config/rust.gni:109
Support for Rust mojo bindings.
enable_screen_ai_service
Current value (from the default) = false
From //components/services/screen_ai/buildflags/features.gni:10
Screen AI service is only supported on desktop platforms.
enable_segment_heap
Current value (from the default) = false
From //build/config/win/manifest.gni:46
enable_server_based_recognition
Current value (from the default) = false
From //chrome/services/speech/buildflags/buildflags.gni:28
Whether the server based speech recognition recognizer is available.
Currently only available in official builds for ash ChromeOS.
enable_service_discovery
Current value (from the default) = false
From //chrome/common/features.gni:61
enable_session_service
Current value (from the default) = false
From //chrome/common/features.gni:65
Enables use of the session service, which is enabled by default.
Android stores them separately on the Java side.
enable_shadow_metadata
Current value (from the default) = false
From //base/allocator/partition_allocator/partition_alloc.gni:185
Shadow metadata is still under development and only supports Linux
for now.
enable_silent_java_assert_reporting
Current value (from the default) = false
From //components/crash/android/silent_java_assert_reporting.gni:10
Whether java assertions should be silently reported to Crash, instead of
being removed or fully enabled. This overrides any value set for
enable_java_asserts.
enable_skia_graphite
Current value (from the default) = false
From //skia/features.gni:10
Enable experimental Skia Graphite backend.
enable_skia_graphite_gtests
Current value (from the default) = false
From //skia/features.gni:15
Enable gtests using SkiaRenderer on Skia Graphite.
TODO(rivr): Remove this and enable the tests by default once a software
path for D3D12 is available.
enable_soda_integration_tests
Current value (from the default) = false
From //components/soda/buildflags.gni:9
Used to enable the Speech On-Device API (SODA) in unit and browser tests.
This affects production code on some platforms and should not be enabled in
official builds.
enable_speech_service
Current value (from the default) = false
From //chrome/services/speech/buildflags/buildflags.gni:12
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.
enable_stack_trace_line_numbers
Current value (from the default) = false
From //build/config/logging.gni:13
enable_stripping
Current value (from the default) = false
From //build/config/apple/symbols.gni:24
Strip symbols from linked targets by default. If this is enabled, the
//build/config/apple:strip_all config will be applied to all linked targets.
If custom stripping parameters are required, remove that config from a
linked target and apply custom -Wcrl,strip flags. See
//build/toolchain/apple/linker_driver.py for more information.
enable_supervised_users
Current value (from the default) = true
From //components/supervised_user/buildflags.gni:9
Platforms which fully support supervision features:
enable_swiftshader
Current value (from the default) = false
From //ui/gl/features.gni:36
enable_swiftshader_vulkan
Current value (from the default) = true
From //gpu/vulkan/features.gni:17
Enable swiftshader vulkan. Disabling it can save build time, however
--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:69
enable_tagged_pdf
Current value (from the default) = false
From //printing/buildflags/buildflags.gni:52
Enables exporting to tagged PDF.
enable_trace_event_bytecode_rewriting
Current value (from the default) = false
From //build/config/android/config.gni:290
enable_trace_logging
Current value (from the default) = true
From //third_party/openscreen/src/util/BUILD.gn:12
Enables trace logging in build. This is true by default, but may be disabled
for a slight performance increase.
enable_unused_resource_stripping
Current value (from the default) = true
From //build/config/android/config.gni:246
Controls whether |strip_unused_resources| is respected. Useful when trying
to analyze APKs using tools that do not support missing resources from
resources.arsc.
enable_update_notifications
Current value (from the default) = false
From //chrome/browser/buildflags.gni:13
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
By default, only branded builds integrate with automatic updates.
enable_v8_compile_hints
Current value (from the default) = false
From //third_party/blink/renderer/bindings/bindings.gni:190
Enable V8 to produce hints regarding which functions to compile eagerly.
enable_validating_command_decoder
Current value (from the default) = true
From //ui/gl/features.gni:30
enable_vr
Current value (from the default) = true
From //device/vr/buildflags/buildflags.gni:28
enable_vulkan
Current value (from the default) = true
From //gpu/vulkan/features.gni:12
enable_wayland_server
Current value (from the default) = false
From //chrome/common/features.gni:72
Indicates if Wayland display server support is enabled.
enable_websockets
Current value (from the default) = true
From //net/features.gni:14
WebSockets and socket stream code are not used when blink is not used
and are optional in cronet.
enable_webui_certificate_viewer
Current value (from the default) = false
From //chrome/common/features.gni:75
Enables the webui certificate viewer dialog.
enable_webui_inline_sourcemaps
Current value (from the default) = false
From //ui/webui/webui_features.gni:18
Whether to inline source maps during build. This is an experimental feature
currently only being used for New Tab Page being tracked at crbug/1337530.
enable_webui_tab_strip
Current value (from the default) = false
From //ui/webui/webui_features.gni:14
Enable the WebUI version of the browser's tab strip.
enable_widevine
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 and
on Android. For Fuchsia, see crbug.com/1354347.
Can be optionally enabled in Chromium on non-Android platforms. Please see
//src/third_party/widevine/LICENSE file for details.
exclude_unwind_tables
Current value (from the default) = false
From //build/config/compiler/compiler.gni:125
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
crash server. Since this increases binary size, we don't recommend including
them in shipping builds.
For unofficial (e.g. development) builds and non-Chrome branded (e.g. Cronet
which doesn't use Crashpad, crbug.com/479283) builds it's useful to be able
to unwind at runtime.
Include the unwind tables on Android even for official builds, as otherwise
the crash dumps generated by Android's debuggerd are largely useless, and
having this additional mechanism to understand issues is particularly helpful
to WebView.
expectations_failure_dir
Current value (from the default) = "//out/test/failed_expectations"
From //build/config/android/config.gni:262
Where to write failed expectations for bots to read.
extended_tracing_enabled
Current value (from the default) = false
From //base/trace_event/tracing.gni:11
Enable more trace events. Disabled by default due to binary size impact,
but highly recommended for local development.
extra_sysroot_libs
Current value (from the default) = []
From //build/config/rust.gni:73
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_android_expectations
Current value (from the default) = false
From //build/config/android/config.gni:232
Causes expectation failures to break the build, otherwise, just warns on
stderr and writes a failure file to $android_configuration_failure_dir:
fatal_linker_warnings
Current value (from the default) = true
From //build/config/compiler/BUILD.gn:78
Enable fatal linker warnings. Building Chromium with certain versions
of binutils can cause linker warning.
ffmpeg_branding
Current value (from the default) = "Chrome"
From //third_party/ffmpeg/ffmpeg_options.gni:42
Controls whether we build the Chromium or Google Chrome version of FFmpeg.
The Google Chrome version contains additional codecs. Typical values are
Chromium, Chrome, and ChromeOS.
ffmpeg_use_unsafe_atomics
Current value (from the default) = false
From //third_party/ffmpeg/ffmpeg_options.gni:60
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.
Windows and GCC prior to 4.9 lack stdatomic.h.
This is also useful for developers who use icecc, which relies upon
clang's -frewrite-includes flag which is broken with #include_next
directives as used in chromium's clang stdatomic.h.
Some background: https://bugs.llvm.org/show_bug.cgi?id=26828
forbid_non_component_debug_builds
Current value (from the default) = true
From //build/config/compiler/compiler.gni:112
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
effects so this is enforced by default for chromium.
force_cast_bluetooth
Current value (from the default) = false
From //device/bluetooth/cast_bluetooth.gni:4
force_enable_fieldtrial_testing_config
Current value (from the default) = false
From //components/variations/service/BUILD.gn:19
Set to true to make a build that force enables activation of field trial
tests specified in testing/variations/fieldtrial_testing_config.json.
force_enable_raw_ptr_exclusion
Current value (from the default) = false
From //base/allocator/partition_allocator/partition_alloc.gni:94
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.
gcc_target_rpath
Current value (from the default) = ""
From //build/config/gcc/BUILD.gn:19
When non empty, overrides the target rpath value. This allows a user to
make a Chromium build where binaries and shared libraries are meant to be
installed into separate directories, like /usr/bin/chromium and
/usr/lib/chromium for instance. It is useful when a build system that
generates a whole target root filesystem (like Yocto) is used on top of gn,
especially when cross-compiling.
Note: this gn arg is similar to gyp target_rpath generator flag.
generate_fuzzer_owners
Current value (from the default) = false
From //build/config/sanitizers/sanitizers.gni:177
Generates an owners file for each fuzzer test.
TODO(crbug.com/1194183): Remove this arg when finding OWNERS is faster.
generate_linker_map
Current value (from the default) = false
From //build/toolchain/toolchain.gni:21
Used for binary size analysis.
glue_core_pools
Current value (from the default) = false
From //base/allocator/partition_allocator/partition_alloc.gni:64
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:71
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:17
Absolute directory containing the gomacc binary.
google_api_key
Current value (from the default) = ""
From //google_apis/BUILD.gn:43
Set these to bake the specified API keys and OAuth client
IDs/secrets into your build.
If you create a build without values baked in, you can instead
set environment variables to provide the keys at runtime (see
src/google_apis/google_api_keys.h for details). Features that
require server-side APIs may fail to work if no keys are
provided.
Note that if `use_official_google_api_keys` has been set to true
(explicitly or implicitly), these values will be ignored and the official
keys will be used instead.
google_default_client_id
Current value (from the default) = ""
From //google_apis/BUILD.gn:46
See google_api_key.
google_default_client_secret
Current value (from the default) = ""
From //google_apis/BUILD.gn:49
See google_api_key.
gtest_enable_absl_printers
Current value (from the default) = true
From //build_overrides/build.gni:51
Allows googletest to pretty-print various absl types. Disabled for nacl due
to lack of toolchain support.
gtk_version
Current value (from the default) = 3
From //build/config/linux/gtk/gtk.gni:13
The (major) version of GTK to build against. A different version may be
loaded at runtime.
has_native_accessibility
Current value (from the default) = false
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.
has_platform_accessibility_support
Current value (from the default) = false
From //ui/base/ui_features.gni:26
Whether the platform provide platform-specific accessibility implementation,
i.e. there an accessibility API of some kind on this platform that's
implemented in Chrome's browser process, but not necessarily something that
looks like subclassing an interface - so that includes Android (the Java
AccessibilityNodeProvider API) and Fuchsia (uses fidl messaging, kind of
like mojo).
headless_enable_commands
Current value (from the default) = true
From //headless/headless.gni:11
Enable support for --screenshot, --print-to-pdf and --dump-dom commands
Note: this option is not available if |headless_use_embedded_resources|.
headless_mode_policy_supported
Current value (from the default) = false
From //headless/headless.gni:20
Platforms where headless mode is supported.
headless_use_embedded_resources
Current value (from the default) = false
From //headless/headless.gni:7
Embed resource.pak file into the binary for easier distribution.
headless_use_policy
Current value (from the default) = true
From //headless/headless.gni:17
Use Policy component to manage preferences.
headless_use_prefs
Current value (from the default) = true
From //headless/headless.gni:14
Use Prefs component to access Local State and other preferences.
host_byteorder
Current value (from the default) = "undefined"
From //build/config/host_byteorder.gni:9
host_cpu
Current value (from the default) = "x64"
(Internally set; try `gn help host_cpu`.)
host_os
Current value (from the default) = "linux"
(Internally set; try `gn help host_os`.)
host_pkg_config
Current value (from the default) = ""
From //build/config/linux/pkg_config.gni:36
A optional pkg-config wrapper to use for tools built on the host.
host_toolchain
Current value (from the default) = ""
From //build/config/BUILDCONFIG.gn:151
This should not normally be set as a build argument. It's here so that
every toolchain can pass through the "global" value via toolchain_args().
host_toolchain_no_sanitizers
Current value (from the default) = "//build/toolchain/linux:clang_x64"
From //build/config/rust.gni:83
The host toolchain to use when you don't want sanitizers enabled. By default
it is the regular toolchain, but when that toolchain has sanitizers, then
this variable is changed to avoid them.
icu_copy_icudata_to_root_build_dir
Current value (from the default) = true
From //third_party/icu/config.gni:32
If set, the ":icudata" target will copy the ICU data to $root_build_dir.
icu_disable_thin_archive
Current value (from the default) = false
From //third_party/icu/config.gni:24
If true, compile icu into a standalone static library. Currently this is
only useful on Chrome OS.
icu_fuchsia_override_data_dir
Current value (from the default) = ""
From //third_party/icu/config.gni:29
If set to nonempty, this is the label of the directory to be used to pull
the ICU data files content. The setting has effect only when building
inside the Fuchsia source tree.
icu_use_data_file
Current value (from the default) = true
From //third_party/icu/config.gni:15
Tells icu to load an external data file rather than rely on the icudata
being linked directly into the binary.
icu_use_stub_data
Current value (from the default) = true
From //third_party/icu/config.gni:20
If true, then this creates a stub data file. This should be disabled if
a custom data file will be used instead, in order to avoid conflicting
symbols.
ignore_missing_widevine_signing_cert
Current value (from the default) = true
From //third_party/widevine/cdm/widevine.gni:79
If set, and Widevine CDM host verification signing failed due to no signing
cert, the failure will be ignored. Otherwise the build process will fail.
Set to false by default for official build to catch missing cert error.
For developers building with "is_official_build" locally without Widevine
signing certs, please manually set `ignore_missing_widevine_signing_cert`
to true to suppress the error.
include_ash_ambient_animation_resources
Current value (from the default) = false
From //ash/ambient/resources/resources.gni:16
Build flag to include resources for the animated screensaver in ash builds.
Currently, these resources are included by default for internal ChromeOS
builds as both conditions below are prerequisites for downloading Lottie
ambient mode resources from CIPD in the DEPS file.
May be overridden locally to false for testing purposes if desired.
include_branded_entitlements
Current value (from the default) = false
From //chrome/BUILD.gn:66
On macOS, `is_chrome_branded` builds that have been signed locally will not
launch because certain entitlements are tied to the official Google code
signing identity. If `include_branded_entitlements` is set to false, these
entitlements will be skipped.
include_transport_security_state_preload_list
Current value (from the default) = true
From //net/features.gni:37
Includes the transport security state preload list. This list includes
mechanisms (e.g. HSTS, HPKP) to enforce trusted connections to a significant
set of hardcoded domains. While this list has a several hundred KB of binary
size footprint, this flag should not be disabled unless the embedder is
willing to take the responsibility to make sure that all important
connections use HTTPS.
include_vr_data
Current value (from the default) = false
From //device/vr/buildflags/buildflags.gni:32
Whether to include VR extras like test APKs in non-VR-specific targets
incremental_install
Current value (from the default) = false
From //build/config/android/config.gni:67
Build incremental targets whenever possible.
See //build/android/incremental_install/README.md for more details.
incremental_javac_test_toggle_gn
Current value (from the default) = false
From //build/android/test/incremental_javac_gn/BUILD.gn:8
init_stack_vars
Current value (from the default) = true
From //build/config/compiler/BUILD.gn:141
Initialize all local variables with a pattern. This flag will fill
uninitialized floating-point types (and 32-bit pointers) with 0xFF and the
rest with 0xAA. This makes behavior of uninitialized memory bugs consistent,
recognizable in the debugger, and crashes on memory accesses through
uninitialized pointers.
TODO(crbug.com/1131993): 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:145
Zero init has favorable performance/size tradeoffs for Chrome OS
but was not evaluated for other platforms.
invert_fieldtrials
Current value (from the default) = false
From //components/variations/field_trial_config/BUILD.gn:8
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.
ios_stack_profiler_enabled
Current value (from the default) = true
From //base/BUILD.gn:77
Control whether the ios stack sampling profiler is enabled. This flag is
only supported on iOS 64-bit architecture, but some project build //base
for 32-bit architecture.
is_asan
Current value (from the default) = false
From //build/config/sanitizers/sanitizers.gni:14
Compile for Address Sanitizer to find memory bugs.
is_cast_android
Current value (from the default) = false
From //build/config/chromecast_build.gni:34
Set this to true to build for Android-based Cast devices.
Set this to false to use the defaults for Android.
is_cast_audio_only
Current value (from the default) = false
From //build/config/chromecast_build.gni:14
Set this true for an audio-only Chromecast build.
TODO(crbug.com/1293538): Replace with a buildflag for speaker-only builds not
specific to Cast.
is_castos
Current value (from the default) = false
From //build/config/chromecast_build.gni:30
Set this to true to build for Nest hardware running Linux (aka "CastOS").
Set this to false to use the defaults for Linux.
is_cfi
Current value (from the default) = false
From //build/config/sanitizers/sanitizers.gni:50
Compile with Control Flow Integrity to protect virtual calls and casts.
See http://clang.llvm.org/docs/ControlFlowIntegrity.html
TODO(pcc): Remove this flag if/when CFI is enabled in all official builds.
is_cfm
Current value (from the default) = false
From //build/config/chromebox_for_meetings/buildflags.gni:7
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
Select the desired branding flavor. False means normal Chromium branding,
true means official Google Chrome branding (requires extra Google-internal
resources).
is_chrome_for_testing
Current value (from the default) = false
From //build/config/chrome_build.gni:15
Whether to enable the Chrome for Testing (CfT) flavor. This arg is not
compatible with `is_chrome_branded`.
Design document: https://goo.gle/chrome-for-testing
is_chrome_for_testing_branded
Current value (from the default) = false
From //build/config/chrome_build.gni:21
Whether to use internal Chrome for Testing (CfT).
Requires `src-internal/` and `is_chrome_for_testing = true`.
When true, use Google-internal icons, otherwise fall back to Chromium icons.
is_chromeos_device
Current value (from the default) = false
From //build/config/chromeos/args.gni:26
Determines if we're building for a Chrome OS device (or VM) and not just
linux-chromeos. NOTE: Most test targets in Chrome expect to run under
linux-chromeos, so some have compile-time asserts that intentionally fail
when this build flag is set. Build and run the tests for linux-chromeos
instead.
https://chromium.googlesource.com/chromium/src/+/main/docs/chromeos_build_instructions.md
https://chromium.googlesource.com/chromiumos/docs/+/main/simple_chrome_workflow.md
is_chromeos_with_hw_details
Current value (from the default) = false
From //build/config/chromeos/args.gni:34
Determines if we collect hardware information in chrome://system and
feedback logs. A similar build flag "hw_details" is defined in Chrome OS
(see https://crrev.com/c/3123455).
is_clang
Current value (from the default) = true
From //build/config/BUILDCONFIG.gn:139
Set to true when compiling with the Clang compiler.
is_component_build
Current value (from the default) = true
From //build/config/BUILDCONFIG.gn:173
Component build. Setting to true compiles targets declared as "components"
as shared libraries loaded dynamically. This speeds up development time.
When false, components will be linked statically.
For more information see
https://chromium.googlesource.com/chromium/src/+/main/docs/component_build.md
is_component_ffmpeg
Current value (from the default) = true
From //third_party/ffmpeg/ffmpeg_options.gni:49
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
ffmpeg targets. This helps linux chromium packagers that swap out our
ffmpeg.so with their own. See discussion here
https://groups.google.com/a/chromium.org/forum/#!msg/chromium-packagers/R5rcZXWxBEQ/B6k0zzmJbvcJ
is_cronet_build
Current value (from the default) = false
From //build/config/cronet/config.gni:9
Control whether cronet is built (this is usually set by the script
components/cronet/tools/cr_cronet.py as cronet requires specific
gn args to build correctly).
is_ct_supported
Current value (from the default) = true
From //services/network/public/cpp/features.gni:10
Certificate transparency is not supported on iOS.
TODO(mmenke): It's actually not supported on Android, either.
is_dawn_lpm_fuzzer
Current value (from the default) = false
From //third_party/dawn/src/dawn/fuzzers/dawn_fuzzers.gni:18
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_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: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.
is_hwasan
Current value (from the default) = false
From //build/config/sanitizers/sanitizers.gni:19
Compile for Hardware-Assisted Address Sanitizer to find memory bugs
(android/arm64 only).
See http://clang.llvm.org/docs/HardwareAssistedAddressSanitizerDesign.html
is_java_debug
Current value (from the default) = true
From //build/config/android/config.gni:210
Java debug on Android. Having this on enables multidexing, and turning it
off will enable proguard.
is_lsan
Current value (from the default) = false
From //build/config/sanitizers/sanitizers.gni:22
Compile for Leak Sanitizer to find leaks.
is_msan
Current value (from the default) = false
From //build/config/sanitizers/sanitizers.gni:25
Compile for Memory Sanitizer to find uninitialized reads.
is_nacl_glibc
Current value (from the default) = false
From //build/config/nacl/config.gni:12
True if nacl_glibc is used.
is_nacl_saigo
Current value (from the default) = false
From //build/config/nacl/config.gni:15
True if saigo_newlib is used.
is_official_build
Current value (from the default) = false
From //build/config/BUILDCONFIG.gn:136
Set to enable the official build level of optimization. This has nothing
to do with branding, but enables an additional level of optimization above
release (!is_debug). This might be better expressed as a tri-state
(debug, release, official) but for historical reasons there are two
separate flags.
IMPORTANT NOTE: (!is_debug) is *not* sufficient to get satisfying
performance. In particular, DCHECK()s are still enabled for release builds,
which can halve overall performance, and do increase memory usage. Always
set "is_official_build" to true for any build intended to ship to end-users.
is_on_release_branch
Current value (from the default) = true
From //v8/gni/release_branch_toggle.gni:6
is_p2p_enabled
Current value (from the default) = true
From //services/network/public/cpp/features.gni:16
Controls whether P2P is exposed by the network service.
Optional to reduce avoid having Chrome on iOS depends on
WebRTC and related third-party libraries (libvpx, libaom,
...).
is_perfetto_build_generator
Current value (from the default) = false
From //third_party/perfetto/gn/perfetto.gni:82
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
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_reven
Current value (from the default) = false
From //build/config/chromeos/args.gni:40
Refers to the separate branding required for the reven build.
is_robolectric
Current value (from the default) = false
From //build/config/BUILDCONFIG.gn:156
Do not set this directly.
It should be set only by //build/toolchains/android:robolectric_x64.
True when compiling native code for use with robolectric_binary().
is_skylab
Current value (from the default) = false
From //build/config/chromeos/args.gni:29
Determines if we run the test in skylab, aka the CrOS labs.
is_tsan
Current value (from the default) = false
From //build/config/sanitizers/sanitizers.gni:28
Compile for Thread Sanitizer to find threading bugs.
is_ubsan
Current value (from the default) = false
From //build/config/sanitizers/sanitizers.gni:32
Compile for Undefined Behaviour Sanitizer to find various types of
undefined behaviour (excludes vptr checks).
is_ubsan_no_recover
Current value (from the default) = false
From //build/config/sanitizers/sanitizers.gni:35
Halt the program if a problem is detected.
is_ubsan_security
Current value (from the default) = false
From //build/config/sanitizers/sanitizers.gni:83
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:119
Compile for Undefined Behaviour Sanitizer's vptr checks.
is_unsafe_developer_build
Current value (from the default) = true
From //base/BUILD.gn:64
Unsafe developer build. Has developer-friendly features that may weaken or
disable security measures like sandboxing or ASLR.
IMPORTANT: Unsafe developer builds should never be distributed to end users.
is_win_arm64
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:148
Currently Windows on Arm doesn't support OpenGL or Vulkan.
jinja_dir
Current value (from the default) = "//third_party"
From //v8/third_party/inspector_protocol/inspector_protocol.gni:7
Where jinja2 is located, in chromium it is //third_party.
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:53
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
linked statically. Setting this to something other than the default is
unsupported and can be broken by libc++ rolls. Note that if this is set to
true, you must also set libcxx_abi_unstable=false, which is bad for
performance and memory use.
libcxx_natvis_include
Current value (from the default) = true
From //build/config/c++/c++.gni:28
Builds libcxx Natvis into the symbols for type visualization.
Set to false to workaround http://crbug.com/966676 and
http://crbug.com/966687.
libcxx_revision
Current value (from the default) = "bff81b702ff4b7f74b1c0ed02a4bcf6c2744a90b"
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
libyuv_include_tests
Current value (from the default) = false
From //third_party/libyuv/libyuv.gni:14
libyuv_symbols_visible
Current value (from the default) = false
From //third_party/libyuv/BUILD.gn:20
When building a shared library using a target in WebRTC or
Chromium projects that depends on libyuv, setting this flag
to true makes libyuv symbols visible inside that library.
libyuv_use_absl_flags
Current value (from the default) = true
From //third_party/libyuv/BUILD.gn:15
Set to false to disable building with absl flags.
libyuv_use_mmi
Current value (from the default) = false
From //third_party/libyuv/libyuv.gni:22
libyuv_use_msa
Current value (from the default) = false
From //third_party/libyuv/libyuv.gni:20
libyuv_use_neon
Current value (from the default) = true
From //third_party/libyuv/libyuv.gni:17
limit_android_deps
Current value (from the default) = false
From //build_overrides/build.gni:47
Limits the defined //third_party/android_deps targets to only "buildCompile"
and "buildCompileNoDeps" targets. This is useful for third-party
repositories which do not use JUnit tests. For instance,
limit_android_deps == true removes "gn gen" requirement for
//third_party/robolectric .
link_pulseaudio
Current value (from the default) = false
From //media/media_options.gni:43
Allows distributions to link pulseaudio directly (DT_NEEDED) instead of
using dlopen. This helps with automated detection of ABI mismatches and
prevents silent errors.
lint_android_sdk_root
Current value (from the default) = "//third_party/android_sdk/public"
From //build/config/android/config.gni:181
lint_android_sdk_version
Current value (from the default) = 33
From //build/config/android/config.gni:182
llvm_force_head_revision
Current value (from the default) = false
From //build/toolchain/toolchain.gni:18
If this is set to true, we use the revision in the llvm repo to determine
the CLANG_REVISION to use, instead of the version hard-coded into
//tools/clang/scripts/update.py. This should only be used in
conjunction with setting the llvm_force_head_revision DEPS variable when
`gclient runhooks` is run as well.
mac_sdk_min
Current value (from the default) = "10.15"
From //build/config/mac/mac_sdk_overrides.gni:12
mbi_mode
Current value (from the default) = true
From //content/common/features.gni:19
Whether or not MBI mode (Multiple Blink Isolates) should be enabled,
depending on the build argument.
media_use_ffmpeg
Current value (from the default) = true
From //media/media_options.gni:48
Enable usage of FFmpeg within the media library. Used for most software
based decoding, demuxing, and sometimes optimized FFTs. If disabled,
implementors must provide their own demuxers and decoders.
media_use_libvpx
Current value (from the default) = true
From //media/media_options.gni:52
Enable usage of libvpx within the media library. Used for software based
decoding of VP9 and VP8A type content.
media_use_openh264
Current value (from the default) = false
From //media/media_options.gni:64
mips_use_mmi
Current value (from the default) = false
From //build/config/mips.gni:13
MIPS MultiMedia Instruction compilation flag.
mojo_media_host
Current value (from the default) = "gpu"
From //media/media_options.gni:303
The process that the mojo MediaService runs in. By default, all services
registered in |mojo_media_services| are hosted in the MediaService, with the
exception that when |enable_library_cdms| is true, the "cdm" service will
run in a separate CdmService in the CDM (utility) process, while other
|mojo_media_services| still run in the MediaService in the process specified
by "mojo_media_host".
Valid options are:
- "browser": Use mojo media service hosted in the browser process.
- "gpu": Use mojo media service hosted in the gpu process.
- "": Do not use mojo media service.
mojo_media_services
Current value (from the default) = ["cdm", "audio_decoder", "video_decoder"]
From //media/media_options.gni:291
A list of mojo media services that should be used in the media pipeline.
Valid entries in the list are:
- "renderer": Use mojo-based media Renderer service.
- "cdm": Use mojo-based Content Decryption Module.
- "audio_decoder": Use mojo-based audio decoder in the default media
Renderer. Cannot be used with the mojo Renderer above.
- "video_decoder": Use mojo-based video decoder in the default media
Renderer. Cannot be used with the mojo Renderer above.
mojo_use_apple_channel
Current value (from the default) = false
From //mojo/features.gni:8
mojom_message_id_salt_path
Current value (from the default) = "//chrome/VERSION"
From //mojo/public/tools/bindings/mojom.gni:134
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
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. 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_track_origins
Current value (from the default) = 2
From //build/config/sanitizers/sanitizers.gni:40
Track where uninitialized memory originates from. From fastest to slowest:
0 - no tracking, 1 - track only the initial allocation site, 2 - track the
chain of stores leading from allocation site to use site.
msvc_use_cxx17
Current value (from the default) = false
From //build_overrides/build.gni:55
Allows third-party repositories to use C++17 for MSVC builds
TODO(https://crbug.com/pdfium/1932) Remove once pdfium builds on MSVC C++20
msvc_use_sse2
Current value (from the default) = true
From //third_party/pdfium/pdfium.gni:77
Enable SSE2 for MSVC builds. Ignored if it's not a MSVC build.
ndk_api_level_at_least_26
Current value (from the default) = false
From //third_party/angle/gni/angle.gni:129
needs_gomacc_path_arg
Current value (from the default) = false
From //build/toolchain/goma.gni:14
This flag is for ChromeOS compiler wrapper.
By passing gomacc path via cmd-line arg, ChromeOS' compiler wrapper
invokes gomacc inside it.
optimize_for_fuzzing
Current value (from the default) = false
From //build/config/sanitizers/sanitizers.gni:91
Optimize for coverage guided fuzzing (balance between speed and number of
branches). Can be also used to remove non-determinism and other issues.
optimize_for_size
Current value (from the default) = true
From //build/config/compiler/compiler.gni:43
optimize_webui
Current value (from the default) = false
From //ui/webui/webui_features.gni:11
Optimize parts of Chrome's UI written with web technologies (HTML/CSS/JS)
for runtime performance purposes. This does more work at compile time for
speed benefits at runtime (so we skip in debug builds).
optional_trace_events_enabled
Current value (from the default) = false
From //base/trace_event/tracing.gni:20
ozone_auto_platforms
Current value (from the default) = false
From //build/config/ozone.gni:21
Select platforms automatically. Turn this off for manual control.
ozone_extra_path
Current value (from the default) = "//build/config/ozone_extra.gni"
From //build/config/ozone.gni:18
Ozone extra platforms file path. Can be overridden to build out of
tree ozone platforms.
ozone_platform
Current value (from the default) = ""
From //build/config/ozone.gni:40
The platform that will used at runtime by default. This can be overridden
with the command line flag --ozone-platform=<platform>.
ozone_platform_cast
Current value (from the default) = false
From //build/config/ozone.gni:43
Compile the 'cast' platform.
ozone_platform_drm
Current value (from the default) = false
From //build/config/ozone.gni:46
Compile the 'drm' platform.
ozone_platform_flatland
Current value (from the default) = false
From //build/config/ozone.gni:55
Compile the 'flatland' platform.
ozone_platform_gbm
Current value (from the default) = -1
From //build/config/ozone.gni:25
TODO(petermcneeley): Backwards compatiblity support for VM images.
Remove when deprecated. (https://crbug.com/1122009)
ozone_platform_headless
Current value (from the default) = false
From //build/config/ozone.gni:49
Compile the 'headless' platform.
ozone_platform_scenic
Current value (from the default) = false
From //build/config/ozone.gni:52
Compile the 'scenic' platform.
ozone_platform_wayland
Current value (from the default) = false
From //build/config/ozone.gni:61
Compile the 'wayland' platform.
ozone_platform_x11
Current value (from the default) = false
From //build/config/ozone.gni:58
Compile the 'x11' platform.
page_info_use_internal_android_resources
Current value (from the default) = false
From //chrome/browser/page_info/buildflags.gni:12
pdf_bundle_freetype
Current value (from the default) = false
From //third_party/pdfium/pdfium.gni:16
Build PDFium either:
1) When set to true, with a bundled FreeType, built from FreeType source
code in //third_party/freetype and PDFium's FreeType configs in
third_party/freetype/include.
2) When set to false, use whatever FreeType target is defined in
//build/config/freetype.
pdf_enable_click_logging
Current value (from the default) = false
From //third_party/pdfium/pdfium.gni:19
Generate logging messages for click events that reach PDFium
pdf_enable_v8
Current value (from the default) = true
From //third_party/pdfium/pdfium.gni:22
Build PDFium either with or without v8 support.
pdf_enable_xfa
Current value (from the default) = false
From //third_party/pdfium/pdfium.gni:25
Build PDFium either with or without XFA Forms support.
pdf_enable_xfa_bmp
Current value (from the default) = true
From //third_party/pdfium/pdfium.gni:28
If XFA, also support bmp codec. Ignored if not XFA.
pdf_enable_xfa_gif
Current value (from the default) = true
From //third_party/pdfium/pdfium.gni:31
If XFA, also support gif codec. Ignored if not XFA.
pdf_enable_xfa_png
Current value (from the default) = true
From //third_party/pdfium/pdfium.gni:34
If XFA, also support png codec. Ignored if not XFA.
pdf_enable_xfa_tiff
Current value (from the default) = true
From //third_party/pdfium/pdfium.gni:37
If XFA, also support tiff codec. Ignored if not XFA.
pdf_is_complete_lib
Current value (from the default) = false
From //third_party/pdfium/pdfium.gni:56
Build a complete static library
pdf_is_standalone
Current value (from the default) = false
From //third_party/pdfium/pdfium.gni:53
Build PDFium standalone
pdf_use_cxx20
Current value (from the default) = false
From //third_party/pdfium/pdfium.gni:42
Build PDFium using C++20 if set to true. Otherwise builds with C++17.
There is no "pdf_use_cxx20_override" variable because this is only used in
standalone PDFium, and not when PDFium is embedded in our projects.
pdf_use_partition_alloc
Current value (from the default) = true
From //third_party/pdfium/pdfium.gni:45
Build PDFium with PartitionAlloc as the memory allocator.
pdf_use_skia
Current value (from the default) = true
From //third_party/pdfium/pdfium.gni:50
Build PDFium to use Skia (experimental) for all PDFium graphics.
If enabled, coexists in build with AGG graphics and the default
renderer is selectable at runtime.
perfetto_build_with_android
Current value (from the default) = false
From //third_party/perfetto/gn/perfetto.gni:78
The Android blueprint file generator set this to true (as well as
is_perfetto_build_generator). This is just about being built in the
Android tree (AOSP and internal) and is NOT related with the target OS.
In standalone Android builds and Chromium Android builds, this is false.
perfetto_enable_git_rev_version_header
Current value (from the default) = false
From //third_party/perfetto/gn/perfetto.gni:257
perfetto_force_dcheck
Current value (from the default) = ""
From //third_party/perfetto/gn/perfetto.gni:229
Whether DCHECKs should be enabled or not. Values: "on" | "off" | "".
By default ("") DCHECKs are enabled only:
- If DCHECK_ALWAYS_ON is defined (which is mainly a Chromium-ism).
- On debug builds (i.e. if NDEBUG is NOT defined) but only in Chromium,
Android and standalone builds.
- On all other builds (e.g., SDK) it's off regardless of NDEBUG (unless
DCHECK_ALWAYS_ON is defined).
See base/logging.h for the implementation of all this.
perfetto_force_dlog
Current value (from the default) = "off"
From //third_party/perfetto/gn/perfetto.gni:219
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
console.
perfetto_use_system_protobuf
Current value (from the default) = false
From //third_party/perfetto/gn/perfetto.gni:339
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:343
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:345
perfetto_verbose_logs_enabled
Current value (from the default) = false
From //third_party/perfetto/gn/perfetto.gni:271
pgo_data_path
Current value (from the default) = ""
From //build/config/compiler/pgo/pgo.gni:33
When using chrome_pgo_phase = 2, read profile data from this path.
pkg_config
Current value (from the default) = ""
From //build/config/linux/pkg_config.gni:33
A pkg-config wrapper to call instead of trying to find and call the right
pkg-config directly. Wrappers like this are common in cross-compilation
environments.
Leaving it blank defaults to searching PATH for 'pkg-config' and relying on
the sysroot mechanism to find the right .pc files.
platform_has_optional_hevc_support
Current value (from the default) = false
From //media/media_options.gni:139
print_unsymbolized_stack_traces
Current value (from the default) = false
From //base/third_party/symbolize/BUILD.gn:13
Stack traces will not include function names. Instead they will contain
file and offset information that can be used with
tools/valgrind/asan/asan_symbolize.py. By piping stderr through this script,
and also enabling symbol_level = 2, you can get much more detailed stack
traces with file names and line numbers, even in non-ASAN builds.
proprietary_codecs
Current value (from the default) = false
From //build/config/features.gni:31
Enables proprietary codecs and demuxers; e.g. H264, AAC, MP3, and MP4.
We always build Google Chrome and Chromecast with proprietary codecs.
Note: this flag is used by WebRTC which is DEPSed into Chrome. Moving it
out of //build will require using the build_overrides directory.
Do not add any other conditions to the following line.
TODO(crbug.com/1314528): Remove chromecast-related conditions and force
builds to explicitly specify this.
put_ref_count_in_previous_slot
Current value (from the default) = false
From //base/allocator/partition_allocator/partition_alloc.gni:144
rbe_cc_cfg_file
Current value (from the default) = "../../buildtools/reclient_cfgs/chromium-browser-clang/rewrapper_linux.cfg"
From //build/toolchain/rbe.gni:29
rbe_cfg_dir
Current value (from the default) = "../../buildtools/reclient_cfgs"
From //build/toolchain/rbe.gni:20
The directory where the re-client configuration files are.
rbe_cros_cc_wrapper
Current value (from the default) = "../../buildtools/reclient/rewrapper"
From //build/toolchain/rbe.gni:48
Set to the path of the RBE recleint wrapper for ChromeOS.
rbe_exec_root
Current value (from the default) = "/home/alex/chromium/src/"
From //build/toolchain/rbe.gni:11
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
rbe_py_cfg_file
Current value (from the default) = "../../buildtools/reclient_cfgs/python/rewrapper_linux.cfg"
From //build/toolchain/rbe.gni:27
regenerate_x11_protos
Current value (from the default) = false
From //ui/gfx/x/BUILD.gn:12
remoting_webrtc_verbose_logging
Current value (from the default) = false
From //remoting/build/config/remoting_logging.gni:13
Enabling this will cause WebRTC's LS_INFO and LS_VERBOSE (level 1)
messages to appear in the debug log output. Note that WebRTC's
"VERBOSE1" messages are very spammy and it is impossible to
separately filter LS_INFO and LS_VERBOSE messages (see
third_party/webrtc_overrides/rtc_base/). So a separate GN option is
provided here, to allow this logging to be quickly enabled for Debug
or Release builds.
removed_rust_stdlib_libs
Current value (from the default) = []
From //build/config/rust.gni:69
Any removed std rlibs in your Rust toolchain, relative to the standard
Rust toolchain. Typically used with 'rust_sysroot_absolute'
root_extra_deps
Current value (from the default) = []
From //BUILD.gn:61
A list of extra dependencies to add to the root target. This allows a
checkout to add additional targets without explicitly changing any checked-
in files.
rtc_audio_device_plays_sinus_tone
Current value (from the default) = false
From //third_party/webrtc/webrtc.gni:199
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
audio samples from NetEQ, a sinus tone will be generated and replace the
real audio samples.
rtc_build_dcsctp
Current value (from the default) = true
From //third_party/webrtc/webrtc.gni:320
Enable the dcsctp backend for DataChannels and related unittests
rtc_build_examples
Current value (from the default) = true
From //third_party/webrtc/webrtc.gni:134
Set this to false to skip building examples.
rtc_build_json
Current value (from the default) = true
From //third_party/webrtc/webrtc.gni:260
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:274
rtc_build_libsrtp
Current value (from the default) = true
From //third_party/webrtc/webrtc.gni:261
rtc_build_libvpx
Current value (from the default) = true
From //third_party/webrtc/webrtc.gni:262
rtc_build_opus
Current value (from the default) = true
From //third_party/webrtc/webrtc.gni:264
rtc_build_ssl
Current value (from the default) = true
From //third_party/webrtc/webrtc.gni:265
rtc_build_tools
Current value (from the default) = true
From //third_party/webrtc/webrtc.gni:137
Set this to false to skip building tools.
rtc_build_with_neon
Current value (from the default) = true
From //third_party/webrtc/webrtc.gni:173
rtc_builtin_ssl_root_certificates
Current value (from the default) = true
From //third_party/webrtc/webrtc.gni:96
Setting this to false will require the API user to pass in their own
SSLCertificateVerifier to verify the certificates presented from a
TLS-TURN server. In return disabling this saves around 100kb in the binary.
rtc_disable_check_msg
Current value (from the default) = false
From //third_party/webrtc/webrtc.gni:308
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:301
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:311
Set this to true to disable webrtc metrics.
rtc_disable_trace_events
Current value (from the default) = false
From //third_party/webrtc/webrtc.gni:304
Set this to true to disable trace events.
rtc_dlog_always_on
Current value (from the default) = false
From //third_party/webrtc/webrtc.gni:55
Setting this to true, will make RTC_DLOG() expand to log statements instead
of being removed by the preprocessor.
This is useful for example to be able to get RTC_DLOGs on a release build.
rtc_enable_android_aaudio
Current value (from the default) = false
From //third_party/webrtc/webrtc.gni:156
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:287
rtc_enable_bwe_test_logging
Current value (from the default) = false
From //third_party/webrtc/webrtc.gni:131
Set this to true to enable BWE test logging.
rtc_enable_external_auth
Current value (from the default) = true
From //third_party/webrtc/webrtc.gni:121
Enable when an external authentication mechanism is used for performing
packet authentication for RTP packets instead of libsrtp.
rtc_enable_google_benchmarks
Current value (from the default) = true
From //third_party/webrtc/webrtc.gni:59
Enables additional build targets that rely on
//third_party/google_benchmarks.
rtc_enable_grpc
Current value (from the default) = false
From //third_party/webrtc/webrtc.gni:323
Enable gRPC used for negotiation in multiprocess tests
rtc_enable_libevent
Current value (from the default) = true
From //third_party/webrtc/webrtc.gni:273
rtc_enable_objc_symbol_export
Current value (from the default) = false
From //third_party/webrtc/webrtc.gni:66
Setting this to true will make RTC_OBJC_EXPORT expand to code that will
manage symbols visibility. By default, Obj-C/Obj-C++ symbols are exported
if C++ symbols are but setting this arg to true while keeping
rtc_enable_symbol_export=false will only export RTC_OBJC_EXPORT
annotated symbols.
rtc_enable_protobuf
Current value (from the default) = true
From //third_party/webrtc/webrtc.gni:254
Enables the use of protocol buffers for debug recordings.
rtc_enable_sctp
Current value (from the default) = true
From //third_party/webrtc/webrtc.gni:257
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
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:228
When set to true, a capturer implementation that uses the
Windows.Graphics.Capture APIs will be available for use. This introduces a
dependency on the Win 10 SDK v10.0.17763.0.
rtc_exclude_audio_processing_module
Current value (from the default) = false
From //third_party/webrtc/webrtc.gni:128
Selects whether the audio processing module should be excluded.
rtc_exclude_field_trial_default
Current value (from the default) = true
From //third_party/webrtc/webrtc.gni:76
When WebRTC is built as part of Chromium it should exclude the default
implementation of field_trial unless it is building for NACL or
Chromecast.
rtc_exclude_metrics_default
Current value (from the default) = true
From //third_party/webrtc/webrtc.gni:85
Setting this to true will define WEBRTC_EXCLUDE_METRICS_DEFAULT which
will tell the pre-processor to remove the default definition of symbols
needed to use metrics. In that case a new implementation needs to be
provided.
rtc_exclude_system_time
Current value (from the default) = true
From //third_party/webrtc/webrtc.gni:91
Setting this to true will define WEBRTC_EXCLUDE_SYSTEM_TIME which
will tell the pre-processor to remove the default definition of the
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:315
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:215
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}
(they will still be included in libjingle_peerconnection_so.so and
WebRTC.framework)
rtc_include_dav1d_in_internal_decoder_factory
Current value (from the default) = true
From //third_party/webrtc/webrtc.gni:231
Includes the dav1d decoder in the internal decoder factory when set to true.
rtc_include_ilbc
Current value = false
From //.gn:45
Overridden from the default = true
From //third_party/webrtc/webrtc.gni:99
Include the iLBC audio codec?
rtc_include_internal_audio_device
Current value (from the default) = false
From //third_party/webrtc/webrtc.gni:282
Chromium uses its own IO handling, so the internal ADM is only built for
standalone WebRTC.
rtc_include_opus
Current value (from the default) = true
From //third_party/webrtc/webrtc.gni:102
Disable this to avoid building the Opus audio codec.
rtc_include_pulse_audio
Current value (from the default) = false
From //third_party/webrtc/webrtc.gni:278
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:294
Set this to true to build the unit tests.
Disabled when building with Chromium or Mozilla.
rtc_ios_macos_use_opengl_rendering
Current value (from the default) = true
From //third_party/webrtc/webrtc.gni:209
rtc_jsoncpp_root
Current value (from the default) = "//third_party/jsoncpp/source/include"
From //third_party/webrtc/webrtc.gni:113
Used to specify an external Jsoncpp include path when not compiling the
library that comes with WebRTC (i.e. rtc_build_json == 0).
rtc_libvpx_build_vp9
Current value (from the default) = true
From //third_party/webrtc/webrtc.gni:263
rtc_link_pipewire
Current value (from the default) = false
From //third_party/webrtc/webrtc.gni:149
Set this to link PipeWire and required libraries directly instead of using the dlopen.
rtc_opus_support_120ms_ptime
Current value (from the default) = true
From //third_party/webrtc/webrtc.gni:106
Enable this if the Opus version upon which WebRTC is built supports direct
encoding of 120 ms packets.
rtc_opus_variable_complexity
Current value (from the default) = false
From //third_party/webrtc/webrtc.gni:109
Enable this to let the Opus audio codec change complexity on the fly.
rtc_prefer_fixed_point
Current value (from the default) = true
From //third_party/webrtc/webrtc.gni:168
rtc_sanitize_coverage
Current value (from the default) = ""
From //third_party/webrtc/webrtc.gni:163
Set to "func", "block", "edge" for coverage generation.
At unit test runtime set UBSAN_OPTIONS="coverage=1".
It is recommend to set include_examples=0.
Use llvm's sancov -html-report for human readable reports.
See http://clang.llvm.org/docs/SanitizerCoverage.html .
rtc_ssl_root
Current value (from the default) = ""
From //third_party/webrtc/webrtc.gni:117
Used to specify an external OpenSSL include path when not compiling the
library that comes with WebRTC (i.e. rtc_build_ssl == 0).
rtc_strict_field_trials
Current value (from the default) = ""
From //third_party/webrtc/webrtc.gni:242
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
g3doc/field-trials.md. The value can be set to the following:
"dcheck": RTC_DCHECKs that the field trial has been registered. RTC_DCHECK
must be enabled separately.
"warn": RTC_LOGs a message with LS_WARNING severity if the field trial
hasn't been registered.
rtc_use_absl_mutex
Current value (from the default) = false
From //third_party/webrtc/webrtc.gni:189
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:193
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:186
rtc_use_pipewire
Current value (from the default) = false
From //third_party/webrtc/webrtc.gni:146
Set this to use PipeWire on the Wayland display server.
By default it's only enabled on desktop Linux (excludes ChromeOS) and
only when using the sysroot as PipeWire is not available in older and
supported Ubuntu and Debian distributions.
rtc_use_x11
Current value (from the default) = false
From //third_party/webrtc/webrtc.gni:140
Set this to false to skip building code that requires X11.
rtc_use_x11_extensions
Current value (from the default) = false
From //third_party/webrtc/webrtc.gni:298
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:223
When set to true and in a standalone build, it will undefine UNICODE and
_UNICODE (which are always defined globally by the Chromium Windows
toolchain).
This is only needed for testing purposes, WebRTC wants to be sure it
doesn't assume /DUNICODE and /D_UNICODE but that it explicitly uses
wide character functions.
runtime_call_stats_count_everything
Current value (from the default) = false
From //third_party/blink/renderer/platform/BUILD.gn:219
rust_sysroot_absolute
Current value (from the default) = ""
From //build/config/rust.gni:53
Chromium currently has a Rust toolchain for Android and Linux, but
if you wish to experiment on more platforms you can use this
argument to specify an alternative toolchain.
This should be an absolute path to a directory
containing a 'bin' directory and others. Commonly
<home dir>/.rustup/toolchains/nightly-<something>-<something>
rust_toolchain_supports_nacl
Current value (from the default) = false
From //build/config/rust.gni:61
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:57
If you're using an external Rust toolchain, set this to a Rust
the output of rustc -V.
safe_browsing_mode
Current value (from the default) = 2
From //components/safe_browsing/buildflags.gni:18
sample_profile_is_accurate
Current value (from the default) = true
From //build/config/compiler/compiler.gni:150
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_flags
Current value (from the default) = ""
From //build/config/sanitizers/sanitizers.gni:101
Value for -fsanitize-coverage flag. Setting this causes
use_sanitizer_coverage to be enabled.
This flag is not used for libFuzzer (use_libfuzzer=true). Instead, we use:
-fsanitize=fuzzer-no-link
Default value when unset and use_fuzzing_engine=true:
trace-pc-guard
Default value when unset and use_sanitizer_coverage=true:
trace-pc-guard,indirect-calls
save_reproducers_on_lld_crash
Current value (from the default) = false
From //build/config/compiler/BUILD.gn:182
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"
From //components/viz/service/compositor_frame_fuzzer/BUILD.gn:9
show_includes
Current value (from the default) = false
From //build/config/compiler/BUILD.gn:173
Enable -H, which prints the include tree during compilation.
For use by tools/clang/scripts/analyze_includes.py
skia_enable_skshaper
Current value (from the default) = true
From //third_party/skia/modules/skshaper/skshaper.gni:34
skia_enable_skshaper_tests
Current value (from the default) = true
From //third_party/skia/modules/skshaper/skshaper.gni:37
skip_buildtools_check
Current value (from the default) = false
From //third_party/perfetto/gn/perfetto.gni:335
Skip buildtools dependency checks (needed for ChromeOS).
skip_secondary_abi_for_cq
Current value (from the default) = false
From //build/config/android/abi.gni:36
*For CQ puposes only* Leads to non-working APKs.
Forces all APKs/bundles to be 64-bit only to improve build speed in the CQ
(no need to also build 32-bit library).
strip_debug_info
Current value (from the default) = false
From //build/config/compiler/compiler.gni:66
Android-only: Strip the debug info of libraries within lib.unstripped to
reduce size. As long as symbol_level > 0, this will still allow stacks to be
symbolized.
subpixel_font_rendering_disabled
Current value (from the default) = false
From //gpu/ipc/service/BUILD.gn:13
support_external_google_api_key
Current value (from the default) = false
From //google_apis/BUILD.gn:80
supports_os_accessibility_service
Current value (from the default) = false
From //services/accessibility/buildflags.gni:26
Used to determine if the Accessibility Service should run
assistive technology features, or if the service is running
in a browser embedded in an OS that already has those features.
symbol_level
Current value (from the default) = -1
From //build/config/compiler/compiler.gni:61
How many symbols to include in the build. This affects the performance of
the build since the symbols are large and dealing with them is slow.
2 means regular build with symbols.
1 means minimal symbols, usually enough for backtraces only. Symbols with
internal linkage (static functions or those in anonymous namespaces) may not
appear when using this level.
0 means no symbols.
-1 means auto-set according to debug/release and platform.
sync_user_agent_product
Current value (from the default) = "Chrome"
From //components/sync/base/BUILD.gn:10
Controls the product part of the user agent calculated in sync_util.cc.
sysroot
Current value (from the default) = ""
From //build/config/sysroot.gni:18
The path of the sysroot for the current toolchain. If empty, default
sysroot is used.
system_headers_in_deps
Current value (from the default) = false
From //build/toolchain/gcc_toolchain.gni:34
Use -MD instead of -MMD for compiler commands. This is useful for tracking
the comprehensive set of dependencies.
system_libdir
Current value (from the default) = "lib"
From //build/config/linux/pkg_config.gni:47
CrOS systemroots place pkgconfig files at <systemroot>/usr/share/pkgconfig
and one of <systemroot>/usr/lib/pkgconfig or <systemroot>/usr/lib64/pkgconfig
depending on whether the systemroot is for a 32 or 64 bit architecture.
When build under GYP, CrOS board builds specify the 'system_libdir' variable
as part of the GYP_DEFINES provided by the CrOS emerge build or simple
chrome build scheme. This variable permits controlling this for GN builds
in similar fashion by setting the `system_libdir` variable in the build's
args.gn file to 'lib' or 'lib64' as appropriate for the target architecture.
system_webview_apk_target
Current value (from the default) = "//android_webview:system_webview_apk"
From //build/config/android/config.gni:258
system_webview_package_name
Current value (from the default) = "com.android.webview"
From //android_webview/system_webview_apk_tmpl.gni:25
Android package name to use when compiling the system_webview_apk and
trichrome_webview_apk targets. This should be used if the Android build
on which you are going to install WebView is configured to load a
different package name than the default used in AOSP.
system_webview_shell_package_name
Current value (from the default) = "org.chromium.webview_shell"
From //android_webview/tools/system_webview_shell/BUILD.gn:24
Android package name to use for system_webview_shell_apk (the WebView shell
browser). You can change this package name to work around signing key
conflicts (INSTALL_FAILED_UPDATE_INCOMPATIBLE) on devices/emulators which
have the shell browser preinstalled under the default package name.
target_cpu
Current value = "arm64"
From //out/test/args.gn:4
Overridden from the default = ""
(Internally set; try `gn help target_cpu`.)
target_environment
Current value (from the default) = ""
From //build/config/ios/config.gni:11
Configure the environment for which to build. Could be either "device",
"simulator" or "catalyst". If unspecified, then it will be assumed to be
"simulator" if the target_cpu is "x68" or "x64", "device" otherwise. The
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:130
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 = "android"
From //out/test/args.gn:3
Overridden from the default = ""
(Internally set; try `gn help target_os`.)
target_rpath
Current value (from the default) = ""
From //build/config/chromecast_build.gni:18
If non empty, rpath of executables is set to this.
If empty, default value is used.
target_sysroot
Current value (from the default) = ""
From //build/config/sysroot.gni:11
The path of the sysroot that is applied when compiling using the target
toolchain.
target_sysroot_dir
Current value (from the default) = "//build/linux"
From //build/config/sysroot.gni:14
The path to directory containing linux sysroot images.
tests_have_location_tags
Current value (from the default) = true
From //testing/test.gni:22
Some component repos (e.g. ANGLE) import //testing but do not have
"location_tags.json", and so we don't want to try and upload the tags
for their tests.
And, some build configs may simply turn off generation altogether.
thin_lto_enable_optimizations
Current value (from the default) = false
From //build/config/compiler/BUILD.gn:130
tint_build_glsl_writer
Current value (from the default) = true
From //third_party/dawn/tint_overrides_with_defaults.gni:72
tint_build_hlsl_writer
Current value (from the default) = true
From //third_party/dawn/tint_overrides_with_defaults.gni:67
tint_build_msl_writer
Current value (from the default) = true
From //third_party/dawn/tint_overrides_with_defaults.gni:62
tint_build_syntax_tree_writer
Current value (from the default) = false
From //third_party/dawn/tint_overrides_with_defaults.gni:77
tint_build_unittests
Current value (from the default) = true
From //third_party/dawn/tint_overrides_with_defaults.gni:82
toolchain_disables_sanitizers
Current value (from the default) = false
From //build/toolchain/toolchain.gni:26
Whether this toolchain should avoid building any sanitizer support
because it's a host toolchain where we aim to make shared objects that may
be loaded by prebuilt binaries without sanitizer support.
toolkit_views
Current value (from the default) = false
From //build/config/ui.gni:33
True means the UI is built using the "views" framework.
treat_warnings_as_errors
Current value (from the default) = true
From //build/config/compiler/compiler.gni:51
Default to warnings as errors for default workflow, where we catch
warnings with known toolchains. Allow overriding this e.g. for Chromium
builds on Linux that could use a different version of the compiler.
With GCC, warnings in no-Chromium code are always not treated as errors.
trial_comparison_cert_verifier_supported
Current value (from the default) = true
From //net/features.gni:42
trichrome_certdigest
Current value (from the default) = "32a2fc74d731105859e5a85df16d95f102d85b22099b8064c5d8915c61dad1e0"
From //chrome/android/trichrome.gni:25
The SHA256 certificate digest for the Trichrome static shared library on
Android. You can use "apksigner verify --print-certs" on the signed APK to
calculate the correct digest.
trichrome_library_package
Current value (from the default) = "org.chromium.trichromelibrary"
From //chrome/android/trichrome.gni:20
The package name for the Trichrome static shared library on Android.
update_android_aar_prebuilts
Current value (from the default) = false
From //build/config/android/config.gni:220
When true, updates all android_aar_prebuilt() .info files during gn gen.
Refer to android_aar_prebuilt() for more details.
use_afl
Current value (from the default) = false
From //build/config/sanitizers/sanitizers.gni:76
Compile for fuzzing with AFL.
use_allocation_event_dispatcher
Current value (from the default) = true
From //base/allocator/allocator.gni:19
Use the new allocation event dispatcher to distribute events to event observers.
If set to false, PoissonAllocationSampler will hook into PartitionAllocator and
AllocatorShims directly.
use_allocator_shim
Current value (from the default) = true
From //base/allocator/allocator.gni:14
Causes all the allocations to be routed via allocator_shim.cc.
use_alsa
Current value (from the default) = false
From //media/media_options.gni:174
Enables runtime selection of ALSA library for audio.
use_android_unwinder_v2
Current value (from the default) = true
From //build/config/compiler/compiler.gni:144
Set to true to use the android unwinder V2 implementation.
use_arc_protected_media
Current value (from the default) = false
From //media/gpu/args.gni:43
Indicates if the ChromeOS protected media functionality should also be
utilized by HW video decoding for ARC.
use_asan_backup_ref_ptr
Current value (from the default) = false
From //base/allocator/partition_allocator/partition_alloc.gni:123
use_asan_unowned_ptr
Current value (from the default) = false
From //base/allocator/partition_allocator/partition_alloc.gni:126
Use probe-on-destruct unowned ptr detection with ASAN.
use_aura
Current value (from the default) = false
From //build/config/ui.gni:28
Indicates if Aura is enabled. Aura is a low-level windowing library, sort
of a replacement for GDI or GTK.
use_base_test_suite
Current value (from the default) = false
From //sandbox/linux/BUILD.gn:22
On Android, use plain GTest.
use_blink
Current value (from the default) = true
From //build/config/features.gni:40
use_blink_extensions_chromeos
Current value (from the default) = false
From //third_party/blink/renderer/config.gni:49
If true, the experimental renderer extensions library will be used.
use_bluez
Current value (from the default) = false
From //device/bluetooth/cast_bluetooth.gni:5
use_bundled_fontconfig
Current value (from the default) = true
From //third_party/fontconfig/fontconfig.gni:11
use_call_graph
Current value (from the default) = false
From //build/config/android/abi.gni:28
Only effective if use_order_profiling = true. When this is true the call
graph based instrumentation is used.
use_centipede
Current value (from the default) = false
From //build/config/sanitizers/sanitizers.gni:73
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:116
Enable checks for bad casts: derived cast and unrelated cast.
TODO(krasin): remove this, when we're ready to add these checks by default.
https://crbug.com/626794
use_cfi_diag
Current value (from the default) = false
From //build/config/sanitizers/sanitizers.gni:61
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
use_cfi_recover
Current value (from the default) = false
From //build/config/sanitizers/sanitizers.gni:65
Let Control Flow Integrity continue execution instead of crashing when
printing diagnostics (use_cfi_diag = true).
use_chromeos_protected_av1
Current value (from the default) = false
From //media/gpu/args.gni:48
Indicates if ChromeOS protected media supports the AV1 codec. By default
H.264, VP9 and HEVC are enabled if protected media is enabled; AV1 is
optional.
use_chromeos_protected_media
Current value (from the default) = false
From //media/gpu/args.gni:39
Indicates if ChromeOS protected media support exists. This is used
to enable the CDM daemon in Chrome OS as well as support for
encrypted content with HW video decoders. This is always enabled for Lacros
because it detects support at runtime.
use_chromium_rust_toolchain
Current value (from the default) = true
From //build/config/rust.gni:39
Use the Rust toolchain built in-tree. See //tools/rust.
use_clang_coverage
Current value (from the default) = false
From //build/config/coverage/coverage.gni:23
use_clang_profiling
Current value (from the default) = false
From //build/config/profiling/profiling.gni:10
use_clang_profiling_inside_sandbox
Current value (from the default) = false
From //build/config/sanitizers/sanitizers.gni:191
use_command_buffer
Current value (from the default) = false
From //device/vr/buildflags/buildflags.gni:16
use_cras
Current value (from the default) = false
From //media/media_options.gni:68
Override to dynamically link the cras (ChromeOS audio) library.
use_crash_key_stubs
Current value (from the default) = false
From //components/crash/core/common/BUILD.gn:12
If set to true, this will stub out and disable the entire crash key system.
use_cups
Current value (from the default) = false
From //printing/buildflags/buildflags.gni:35
use_cups_ipp
Current value (from the default) = false
From //printing/buildflags/buildflags.gni:65
Enables the CUPS IPP printing backend.
TODO(crbug.com/226176): Remove this after CUPS PPD API calls are removed.
use_custom_libcxx
Current value (from the default) = true
From //build/config/c++/c++.gni:14
Use in-tree libc++ (buildtools/third_party/libc++ and
buildtools/third_party/libc++abi) instead of the system C++ library for C++
standard library support.
Don't check in changes that set this to false for more platforms; doing so
is not supported.
use_custom_libcxx_for_host
Current value (from the default) = false
From //build/config/c++/c++.gni:23
Use libc++ instead of stdlibc++ when using the host_cpu toolchain, even if
use_custom_libcxx is false. This is useful for cross-compiles where a custom
toolchain for the target_cpu has been set as the default toolchain, but
use_custom_libcxx should still be true when building for the host. The
expected usage is to set use_custom_libcxx=false and
use_custom_libcxx_for_host=true in the passed in buildargs.
use_cxx17
Current value (from the default) = false
From //build/config/compiler/BUILD.gn:186
Allow projects that wish to stay on C++17 to override Chromium's default.
TODO(crbug.com/1402249): evaluate removing this end of 2023
use_dawn
Current value (from the default) = true
From //ui/gl/features.gni:21
Should Dawn support be compiled to back the WebGPU implementation?
Also controls linking Dawn dependencies in such as SPIRV-Tools/SPIRV-Cross.
use_dbus
Current value (from the default) = false
From //build/config/features.gni:36
use_debug_fission
Current value (from the default) = "default"
From //build/config/compiler/compiler.gni:82
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_dummy_lastchange
Current value (from the default) = false
From //build/util/lastchange.gni:9
use_dwarf5
Current value (from the default) = false
From //build/config/compiler/BUILD.gn:161
Enable DWARF v5.
use_egl
Current value (from the default) = true
From //ui/gl/features.gni:17
use_errorprone_java_compiler
Current value (from the default) = true
From //build/config/android/config.gni:216
Set to false to disable the Errorprone compiler.
use_external_fuzzing_engine
Current value (from the default) = false
From //build/config/sanitizers/sanitizers.gni:79
Compile for fuzzing with an external engine (e.g., Grammarinator).
use_external_popup_menu
Current value (from the default) = true
From //content/common/features.gni:10
Whether or not to use external popup menu.
use_freeslot_bitmap
Current value (from the default) = false
From //base/allocator/partition_allocator/partition_alloc.gni:60
use_full_pdb_paths
Current value (from the default) = false
From //build/config/compiler/BUILD.gn:169
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-
build scenarios. This is never needed for bots or official builds. Because
this puts the output directory in the DLLs/EXEs it breaks build determinism.
Bugs have been reported to the windbg/WPA teams and this workaround will be
removed when they are fixed.
use_gcm_from_platform
Current value (from the default) = true
From //components/gcm_driver/config.gni:8
Use native GCM driver for all non-Android builds. On Android, the platform
includes GMS which provides the GCM client.
use_ghash
Current value (from the default) = true
From //build/config/compiler/BUILD.gn:120
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
use_gio
Current value (from the default) = false
From //build/config/features.gni:38
use_glib
Current value (from the default) = false
From //build/config/ui.gni:36
use_gnome_keyring
Current value (from the default) = false
From //components/os_crypt/sync/features.gni:11
Whether to use libgnome-keyring (deprecated by libsecret).
See http://crbug.com/466975 and http://crbug.com/355223.
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:9
Set to true to enable distributed compilation using Goma.
use_goma_rust
Current value (from the default) = false
From //build/config/rust.gni:78
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:100
If true, use Goma for ThinLTO code generation where applicable.
use_gtk
Current value (from the default) = false
From //build/config/linux/gtk/gtk.gni:9
Whether or not we should use libgtk.
use_hashed_jni_names
Current value (from the default) = false
From //build/config/android/config.gni:281
Use hashed symbol names to reduce JNI symbol overhead.
use_icf
Current value (from the default) = false
From //build/config/compiler/BUILD.gn:199
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_inner_html_parser_fast_path
Current value (from the default) = false
From //third_party/blink/renderer/config.gni:53
TODO(https://crbug.com/1407201): temporarily disabled on platforms that
are concerned about binary size. Figure out way to use everywhere.
use_internal_autofill_patterns
Current value (from the default) = false
From //components/autofill/core/browser/BUILD.gn:31
Normally, only branded builds use Google-internal sets of parsing patterns.
Setting the variable 'use_internal_autofill_patterns' in args.gn overrides
this default.
use_internal_isolated_origins
Current value (from the default) = false
From //components/site_isolation/BUILD.gn:18
Normally, only Google Chrome Android and some Fuchsia WebEngine builds will
use a Google-internal list of isolated origins defined below.
If other Fuchsia embedders are added, the associated logic may need to be
updated. See crbug.com/1179087.
You can set the variable 'use_internal_isolated_origins' to true to use this
Google-internal list of isolated origins even in a developer build. Setting
this variable explicitly to true will cause your build to fail if the
internal file is missing.
use_jacoco_coverage
Current value (from the default) = false
From //build/config/coverage/coverage.gni:27
Enables JaCoCo Java code coverage.
use_jank_tracker_for_experiments
Current value (from the default) = false
From //ui/latency/BUILD.gn:9
use_java_goma
Current value (from the default) = false
From //build/toolchain/goma.gni:26
TODO(crbug.com/726475): true if use_goma = true in the future.
use_kerberos
Current value (from the default) = true
From //net/features.gni:20
Enable Kerberos authentication. It is disabled by default on iOS, Fuchsia
and Chromecast, at least for now. This feature needs configuration
(krb5.conf and so on).
TODO(fuchsia): Enable kerberos on Fuchsia when it's implemented there.
use_layout_plugin
Current value (from the default) = true
From //third_party/blink/renderer/core/BUILD.gn:95
Set to true to enable the clang layout plugin that help you to follow the
layout-related restrictions during compilation.
use_libfuzzer
Current value (from the default) = false
From //build/config/sanitizers/sanitizers.gni:69
Compile for fuzzing with LLVM LibFuzzer.
See http://www.chromium.org/developers/testing/libfuzzer
use_libgav1_parser
Current value (from the default) = false
From //third_party/libgav1/options.gni:10
use_libinput
Current value (from the default) = false
From //build/config/chromeos/args.gni:37
Determines if we're willing to link against libinput
use_libjpeg_turbo
Current value (from the default) = true
From //third_party/libjpeg.gni:11
Uses libjpeg_turbo as the jpeg implementation. Has no effect if
use_system_libjpeg is set.
use_libpci
Current value (from the default) = false
From //third_party/angle/BUILD.gn:31
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
Set to true to use lld, the LLVM linker.
In late bring-up on macOS (see docs/mac_lld.md).
Tentatively used on iOS.
The default linker everywhere else.
use_local_std_by_default
Current value (from the default) = true
From //build/config/rust.gni:95
When true, uses the locally-built std in all Rust targets.
As an internal implementation detail this can be overridden on specific
targets (e.g. to run build.rs scripts while building std), but this
generally should not be done.
use_locally_built_instrumented_libraries
Current value (from the default) = false
From //build/config/sanitizers/sanitizers.gni:44
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_low_quality_image_interpolation
Current value (from the default) = true
From //third_party/blink/renderer/config.gni:43
If true, defaults image interpolation to low quality.
use_message_port_core
Current value (from the default) = false
From //components/cast/message_port/BUILD.gn:13
If true, forces cast_api_bindings::CreatePlatformMessagePortPair to use
cast_message_port::CreateMessagePortPair as its implementation. Otherwise,
uses one of the other types based on platform.
use_ml_inliner
Current value (from the default) = true
From //build/config/compiler/compiler.gni:141
Set to true to enable using the ML inliner in LLVM. This currently only
enables the ML inliner when targeting Android.
Currently the ML inliner is only supported on linux hosts
use_mpris
Current value (from the default) = false
From //components/system_media_controls/linux/buildflags/buildflags.gni:11
Enables Chromium implementation of the MPRIS D-Bus interface for controlling
media playback. See ../README.md for details.
use_nss_certs
Current value (from the default) = false
From //crypto/features.gni:9
True if NSS is used for certificate handling.
use_official_enterprise_connectors_api_keys
Current value (from the default) = false
From //chrome/browser/BUILD.gn:68
You can set the variable 'use_official_enterprise_connectors_api_keys' to
true to use the Google-internal file containing official API keys
for enterprise connector partners even in a developer build. Setting this
variable explicitly to true will cause your build to fail if the
internal file is missing.
Note that official builds always behave as if the variable
was explicitly set to true, i.e. they always use official keys,
and will fail to build if the internal file is missing.
use_official_google_api_keys
Current value (from the default) = ""
From //google_apis/BUILD.gn:29
Set the variable 'use_official_google_api_keys' to true
to use the Google-internal file containing official API keys
even in a developer build. Setting this variable explicitly to
true will cause the build to fail if the internal file is missing.
Set the variable to false to not use the internal file, even for
Chrome-branded builds or when it exists in your checkout.
Leave it set to "" to have the variable implicitly set to true for
Chrome-branded builds or if
//src/google_apis/internal/google_chrome_api_keys.h is present and false
otherwise.
This does not apply to iOS builds, which use different mechanisms and always
evaluate to use_official_google_api_keys=false.
See https://crbug.com/1183709.
use_order_profiling
Current value (from the default) = false
From //build/config/android/abi.gni:16
Adds intrumentation to each function. Writes a file with the order that
functions are called at startup.
use_ozone
Current value (from the default) = false
From //build/config/ozone.gni:12
Indicates if Ozone is enabled. Ozone is a low-level library layer for Linux
that does not require X11.
use_pangocairo
Current value (from the default) = false
From //build/config/linux/pangocairo/pangocairo.gni:9
use_partition_alloc
Current value (from the default) = true
From //base/allocator/partition_allocator/partition_alloc.gni:50
Whether PartitionAlloc should be available for use or not.
true makes PartitionAlloc linked to the executable or shared library and
makes it available for use. It doesn't mean that the default allocator
is PartitionAlloc, which is governed by |use_partition_alloc_as_malloc|.
N.B. generally, embedders should look at this GN arg and at the
corresponding buildflag to determine whether to interact with PA
source at all (pulling the component in via GN, including headers,
etc.). There is nothing stopping a lazy embedder from ignoring this
and unconditionally using PA, but such a setup is inadvisable.
In Chromium, this is set true, except:
1. On Cronet bots, because Cronet doesn't use PartitionAlloc at all,
and doesn't wish to incur the library size increase (crbug.com/674570).
2. On NaCl (through this declaration), where PartitionAlloc doesn't
build at all.
use_partition_alloc_as_malloc
Current value (from the default) = false
From //base/allocator/partition_allocator/partition_alloc.gni:56
use_perfetto_client_library
Current value (from the default) = false
From //build_overrides/build.gni:40
Switches the TRACE_EVENT instrumentation from base's TraceLog implementation
to //third_party/perfetto's client library.
TODO(crbug/1006541): Switch to perfetto's client library on all platforms.
use_platform_icu_alternatives
Current value (from the default) = false
From //url/features.gni:10
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/BUILD.gn:74
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:178
Enable Profi algorithm. Profi can infer block and edge counts.
https://clang.llvm.org/docs/UsersManual.html#using-sampling-profilers
TODO(crbug.com/1375958i:) Possibly enable this for Android too.
use_pulseaudio
Current value (from the default) = false
From //media/media_options.gni:171
Enables runtime selection of PulseAudio library.
use_qt
Current value (from the default) = false
From //ui/qt/qt.gni:11
TODO(https://crbug.com/1424435): Allow QT in MSAN builds once QT is
added to the instrumented libraries.
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_relative_vtables_abi
Current value (from the default) = false
From //build/config/compiler/compiler.gni:155
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
flag set to the same value.
use_relr_relocations
Current value (from the default) = false
From //chrome/android/chrome_common_shared_library.gni:21
Compile libmonochrome.so with RELR relocations, which are smaller and more
efficient, but supported only on API 28+.
This is not permanently enabled for Trichrome because it shares its native
library with Monochrome.
use_remoteexec
Current value (from the default) = false
From //build/toolchain/rbe.gni:14
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.
use_rts
Current value (from the default) = false
From //build/config/rts.gni:4
For more info about RTS, please see
//docs/testing/regression-test-selection.md
use_rtti
Current value (from the default) = false
From //build/config/compiler/BUILD.gn:83
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_runtime_vlog
Current value (from the default) = true
From //build/config/logging.gni:31
Use runtime vlog everywhere except for ash-chrome.
When `use_runtime_vlog` is true,
command line switch `--vmodule=xxx` or `--v=x` could be used to
control vlog level at runtime.
when `use_runtime_volog` is false,
verbose log level is controlled by `ENABLE_VLOG_LEVEL` macro. VLOG(n)
is kept and generate output if `n` is less than or equal to the vlog
level defined by the macro.
Command line switch `--vmodule=xxx`, or `--v=x` would have no effect.
Runtime vlog is used everywhere except on ash-chrome.
Ash-chrome has a few vmodule patterns that need to be used indefinitely
to investigate problems from logs in feedback reports. These vmodule
patterns are using too much cpu cycles (see http://crbug/489441). Turning
off runtime vlog and using build time vlog would avoid paying that cpu tax
and have a nice side effect of a smaller production binary.
use_sanitizer_configs_without_instrumentation
Current value (from the default) = false
From //build/config/sanitizers/sanitizers.gni:106
When enabled, only relevant sanitizer defines are set, but compilation
happens with no extra flags. This is useful when in component build
enabling sanitizers only in some of the components.
use_sanitizer_coverage
Current value (from the default) = false
From //build/config/sanitizers/sanitizers.gni:180
use_stable_package_name_for_trichrome
Current value (from the default) = false
From //build/config/chrome_build.gni:32
By default, Trichrome channels are compiled using separate package names.
Set this to 'true' to compile Trichrome channels using the Stable channel's
package name. This currently only affects builds with `android_channel =
"beta"`.
use_static_angle
Current value (from the default) = true
From //ui/gl/features.gni:12
Should ANGLE be linked statically?
use_sysroot
Current value (from the default) = true
From //build/config/sysroot.gni:22
Controls default is_linux sysroot. If set to true, and sysroot
is empty, default sysroot is calculated.
use_system_freetype
Current value (from the default) = false
From //build/config/freetype/freetype.gni:13
Blink needs a recent and properly build-configured FreeType version to
support OpenType variations, color emoji and avoid security bugs. By default
we ship and link such a version as part of Chrome. For distributions that
prefer to keep linking to the version the system, FreeType must be newer
than version 2.7.1 and have color bitmap support compiled in. WARNING:
System FreeType configurations other than as described WILL INTRODUCE TEXT
RENDERING AND SECURITY REGRESSIONS.
use_system_harfbuzz
Current value (from the default) = false
From //third_party/harfbuzz-ng/harfbuzz.gni:11
Blink uses a cutting-edge version of Harfbuzz; most Linux distros do not
contain a new enough version of the code to work correctly. However,
ChromeOS chroots (i.e, real ChromeOS builds for devices) do contain a
new enough version of the library, and so this variable exists so that
ChromeOS can build against the system lib and keep binary sizes smaller.
use_system_lcms2
Current value (from the default) = false
From //third_party/pdfium/pdfium.gni:62
Don't build against bundled lcms2.
use_system_libdrm
Current value (from the default) = true
From //build/config/linux/libdrm/BUILD.gn:14
Controls whether the build should use the version of libdrm library shipped
with the system. In release builds of desktop Linux and Chrome OS we use the
system version. Some Chromecast devices use this as well.
use_system_libjpeg
Current value (from the default) = false
From //third_party/libjpeg.gni:7
Uses system libjpeg. If true, overrides use_libjpeg_turbo.
use_system_libopenjpeg2
Current value (from the default) = false
From //third_party/pdfium/pdfium.gni:65
Don't build against bundled libopenjpeg2.
use_system_libpng
Current value (from the default) = false
From //third_party/pdfium/pdfium.gni:68
Don't build against bundled libpng.
use_system_libsync
Current value (from the default) = false
From //third_party/libsync/BUILD.gn:13
Controls whether the build should use the version of libsync
library shipped with the system. In release builds of Chrome OS we
use the system version, but when building on dev workstations we
bundle it because Ubuntu doesn't ship a usable version.
use_system_libtiff
Current value (from the default) = false
From //third_party/pdfium/pdfium.gni:71
Don't build against bundled libtiff.
use_system_zlib
Current value (from the default) = false
From //third_party/pdfium/pdfium.gni:74
Don't build against bundled zlib.
use_text_section_splitting
Current value (from the default) = false
From //build/config/compiler/BUILD.gn:154
This argument is to control whether enabling text section splitting in the
final binary. When enabled, the separated text sections with prefix
'.text.hot', '.text.unlikely', '.text.startup' and '.text.exit' will not be
merged to '.text' section. This allows us to identify the hot code section
('.text.hot') in the binary which may be mlocked or mapped to huge page to
reduce TLB misses which gives performance improvement on cpu usage.
The gold linker by default has text section splitting enabled.
use_thin_lto
Current value (from the default) = false
From //build/config/compiler/compiler.gni:93
use_udev
Current value (from the default) = false
From //build/config/features.gni:34
libudev usage. This currently only affects the content layer.
use_unofficial_version_number
Current value (from the default) = true
From //components/version_info/BUILD.gn:10
use_v4l2_codec
Current value (from the default) = false
From //media/gpu/args.gni:22
use_v4l2_codec_aml
Current value (from the default) = false
From //media/gpu/args.gni:26
Indicates if Video4Linux2 AML encoder is used. This is used for AML
platforms which have v4l2 hardware encoder
use_v4lplugin
Current value (from the default) = false
From //media/gpu/args.gni:17
Indicates if V4L plugin is used.
use_v8_context_snapshot
Current value (from the default) = false
From //tools/v8_context_snapshot/v8_context_snapshot.gni:19
use_vaapi
Current value (from the default) = false
From //media/gpu/args.gni:32
Indicates if VA-API-based hardware acceleration is to be used. This
is typically the case on x86-based ChromeOS devices.
VA-API should also be compiled by default on x11-using linux devices
using x86/x64.
use_vaapi_image_codecs
Current value (from the default) = false
From //media/gpu/args.gni:68
VA-API also allows decoding of images, but we don't want to use this
outside of chromeos, even if video decoding is enabled.
use_vaapi_x11
Current value (from the default) = false
From //media/gpu/args.gni:11
Indicates if X11 VA-API-based hardware acceleration is to be used.
See also the comment near the |use_vaapi| arg.
use_viz_debugger
Current value (from the default) = true
From //components/viz/common/debugger/viz_debugger.gni:8
Indicates if the Viz Debugger is enabled. This is disabled by default on
official builds due to security and performance reasons.
use_vr_assets_component
Current value (from the default) = false
From //chrome/browser/vr/features.gni:12
Whether to register, download, etc. the VR assets component.
use_webaudio_ffmpeg
Current value (from the default) = false
From //third_party/blink/renderer/config.gni:46
If true, ffmpeg will be used for computing FFTs for WebAudio
use_webaudio_pffft
Current value (from the default) = true
From //third_party/blink/renderer/config.gni:20
If true, use PFFFT for WebAudio FFT support. Do not use for Mac because the
FFT library there is much faster.
use_wuffs_gif_parser
Current value (from the default) = true
From //third_party/wuffs/config.gni:6
use_xkbcommon
Current value (from the default) = false
From //ui/base/ui_features.gni:10
using_mismatched_sample_profile
Current value (from the default) = true
From //build/config/compiler/compiler.gni:107
Whether we're using a sample profile collected on an architecture different
than the one we're compiling for.
It's currently not possible to collect AFDO profiles on anything but
x86{,_64}.
v8_advanced_bigint_algorithms
Current value (from the default) = false
From //v8/gni/v8.gni:122
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:363
Enable global allocation site tracking.
v8_android_log_stdout
Current value (from the default) = false
From //v8/BUILD.gn:33
Print to stdout on Android.
v8_annotate_torque_ir
Current value (from the default) = false
From //v8/BUILD.gn:293
Generate comments describing the Torque intermediate representation.
v8_builtins_profiling_log_file
Current value (from the default) = "default"
From //v8/BUILD.gn:207
Provides the given V8 log file as an input to mksnapshot, where it can be
used for profile-guided optimization of builtins.
To do profile-guided optimizations of builtins:
1. Build with v8_enable_builtins_profiling = true
2. Run your chosen workload with the --turbo-profiling-output flag.
For Chrome, the invocation might look like this:
chrome --no-sandbox --disable-extensions
--js-flags="--turbo-profiling-output=v8.builtins.pgo"
"http://localhost/test-suite"
3. Run tools/builtins-pgo/get_hints.py to produce the branch hints,
selecting min_count and threshold_ratio as you wish.
4. Optionally repeat steps 2-3 for additional workloads, and use
tools/builtins-pgo/combine_hints.py to combine the hints produced in
step 3 into a single file.
5. Build again with v8_builtins_profiling_log_file set to the file created
in step 3 or 4.
v8_can_use_fpu_instructions
Current value (from the default) = true
From //v8/BUILD.gn:236
Similar to vfp but on MIPS.
v8_check_header_includes
Current value (from the default) = false
From //v8/BUILD.gn:251
Check that each header can be included in isolation (requires also
setting the "check_v8_header_includes" gclient variable to run a
specific hook).
v8_code_comments
Current value (from the default) = ""
From //v8/BUILD.gn:112
Allow runtime-enabled code comments (with --code-comments). Enabled by
default in debug builds.
Sets -dV8_CODE_COMMENTS
v8_context_snapshot_filename
Current value (from the default) = "v8_context_snapshot_64.bin"
From //tools/v8_context_snapshot/v8_context_snapshot.gni:40
v8_control_flow_integrity
Current value (from the default) = true
From //v8/BUILD.gn:304
v8_correctness_fuzzer
Current value (from the default) = false
From //v8/gni/v8.gni:15
Includes files needed for correctness fuzzing.
v8_current_cpu
Current value (from the default) = "arm64"
From //build/config/v8_target_cpu.gni:63
This argument is declared here so that it can be overridden in toolchains.
It should never be explicitly set by the user.
v8_custom_deps
Current value (from the default) = ""
From //v8/BUILD.gn:36
Dynamically set an additional dependency from v8/custom_deps.
v8_deprecation_warnings
Current value (from the default) = true
From //v8/BUILD.gn:61
Enable compiler warnings when using V8_DEPRECATED apis.
v8_dict_property_const_tracking
Current value (from the default) = false
From //v8/BUILD.gn:347
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_write_barriers
Current value (from the default) = false
From //v8/BUILD.gn:271
Disable write barriers when GCs are non-incremental and
heap has single generation.
v8_embed_script
Current value (from the default) = ""
From //v8/BUILD.gn:67
Embeds the given script into the snapshot.
v8_embedder_string
Current value (from the default) = ""
From //v8/BUILD.gn:70
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:138
v8_enable_allocation_folding
Current value (from the default) = true
From //v8/BUILD.gn:357
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:159
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:31
Support for backtrace_symbols on linux.
v8_enable_builtins_optimization
Current value (from the default) = ""
From //v8/gni/v8.gni:38
Includes profiles to optimize builtins.
v8_enable_builtins_profiling
Current value (from the default) = false
From //v8/BUILD.gn:177
Runs mksnapshot with --turbo-profiling. After building in this
configuration, any subsequent run of d8 will output information about usage
of basic blocks in builtins.
v8_enable_builtins_profiling_verbose
Current value (from the default) = false
From //v8/BUILD.gn:183
Runs mksnapshot with --turbo-profiling-verbose. After building in this
configuration, any subsequent run of d8 will output information about usage
of basic blocks in builtins, including the schedule and disassembly of all
used builtins.
v8_enable_cet_shadow_stack
Current value (from the default) = false
From //v8/BUILD.gn:373
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:163
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:92
Scan the call stack conservatively during garbage collection.
v8_enable_debug_code
Current value (from the default) = ""
From //v8/BUILD.gn:117
Allow runtime-enabled debug code (with --debug-code). Enabled by default in
debug builds.
Sets -dV8_ENABLE_DEBUG_CODE
v8_enable_debugging_features
Current value (from the default) = true
From //v8/BUILD.gn:40
Turns on all V8 debug features. Enables running V8 in a pseudo debug mode
within a release Chrome.
v8_enable_direct_local
Current value (from the default) = false
From //v8/gni/v8.gni:95
Use direct pointers in local handles.
v8_enable_disassembler
Current value (from the default) = ""
From //v8/BUILD.gn:73
Sets -dENABLE_DISASSEMBLER.
v8_enable_etw_stack_walking
Current value (from the default) = false
From //v8/BUILD.gn:49
Sets -DV8_ENABLE_ETW_STACK_WALKING. Enables ETW Stack Walking
v8_enable_external_code_space
Current value (from the default) = ""
From //v8/BUILD.gn:219
Enable support for external code range relative to the pointer compression
cage.
Sets -dV8_EXTERNAL_CODE_SPACE
v8_enable_fast_mksnapshot
Current value (from the default) = false
From //v8/BUILD.gn:97
Enable fast mksnapshot runs.
v8_enable_fast_torque
Current value (from the default) = ""
From //v8/BUILD.gn:100
Optimize code for Torque executable, even during a debug build.
v8_enable_future
Current value (from the default) = false
From //v8/BUILD.gn:43
Sets -DV8_ENABLE_FUTURE.
v8_enable_gdbjit
Current value = false
From //.gn:36
Overridden from the default = false
From //v8/BUILD.gn:244
v8_enable_google_benchmark
Current value (from the default) = false
From //v8/gni/v8.gni:97
v8_enable_handle_zapping
Current value (from the default) = true
From //v8/BUILD.gn:91
Sets -dENABLE_HANDLE_ZAPPING.
v8_enable_heap_snapshot_verify
Current value (from the default) = ""
From //v8/BUILD.gn:360
Enable runtime verification of heap snapshots produced for devtools.
v8_enable_hugepage
Current value (from the default) = false
From //v8/BUILD.gn:88
Sets -dENABLE_HUGEPAGE
v8_enable_i18n_support
Current value (from the default) = true
From //v8/gni/v8.gni:42
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:172
Sets -dV8_IGNITION_DISPATCH_COUNTING.
Enables counting frequencies of bytecode dispatches. After building in this
configuration, subsequent runs of d8 can output frequencies for each pair
of (current, next) bytecode instructions executed if you specify
--trace-ignition-dispatches-output-file, or can generate a JS object with
those frequencies if you run with --expose-ignition-statistics and call the
extension function getIgnitionDispatchCounters().
v8_enable_javascript_promise_hooks
Current value (from the default) = false
From //v8/BUILD.gn:353
Allow for JS promise hooks (instead of just C++).
v8_enable_lazy_source_positions
Current value (from the default) = true
From //v8/BUILD.gn:258
Enable lazy source positions by default.
v8_enable_lite_mode
Current value (from the default) = false
From //v8/gni/v8.gni:65
Lite mode disables a number of performance optimizations to reduce memory
at the cost of performance.
Sets -DV8_LITE_MODE.
v8_enable_maglev
Current value (from the default) = ""
From //v8/gni/v8.gni:73
Enable the Maglev compiler.
Sets -dV8_ENABLE_MAGLEV
v8_enable_map_packing
Current value (from the default) = false
From //v8/BUILD.gn:350
Enable map packing & unpacking (sets -dV8_MAP_PACKING).
v8_enable_object_print
Current value (from the default) = ""
From //v8/BUILD.gn:141
Sets -dOBJECT_PRINT.
v8_enable_pointer_compression
Current value (from the default) = ""
From //v8/BUILD.gn:136
Enable pointer compression (sets -dV8_COMPRESS_POINTERS).
v8_enable_pointer_compression_8gb
Current value (from the default) = ""
From //v8/BUILD.gn:384
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:137
v8_enable_precise_zone_stats
Current value (from the default) = false
From //v8/BUILD.gn:333
Experimental feature for collecting per-class zone memory stats.
Requires use_rtti = true
v8_enable_regexp_interpreter_threaded_dispatch
Current value (from the default) = true
From //v8/BUILD.gn:283
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) = false
From //v8/gni/v8.gni:86
Enable runtime call stats.
v8_enable_sandbox
Current value (from the default) = ""
From //v8/BUILD.gn:324
Enable the experimental V8 sandbox.
Sets -DV8_ENABLE_SANDBOX.
v8_enable_shared_ro_heap
Current value (from the default) = ""
From //v8/BUILD.gn:255
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:214
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:279
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:94
Enable slow dchecks.
v8_enable_snapshot_code_comments
Current value (from the default) = false
From //v8/BUILD.gn:107
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) = true
From //v8/BUILD.gn:297
v8_enable_snapshot_native_code_counters
Current value (from the default) = ""
From //v8/BUILD.gn:123
Enable native counters from the snapshot (impacts performance, sets
-dV8_SNAPSHOT_NATIVE_CODE_COUNTERS).
This option will generate extra code in the snapshot to increment counters,
as per the --native-code-counters flag.
v8_enable_static_roots
Current value (from the default) = ""
From //v8/BUILD.gn:126
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:130
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_swiss_name_dictionary
Current value (from the default) = false
From //v8/BUILD.gn:337
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:46
Sets -DENABLE_SYSTEM_INSTRUMENTATION. Enables OS-dependent event tracing
v8_enable_test_features
Current value (from the default) = ""
From //v8/BUILD.gn:210
Enables various testing features.
v8_enable_third_party_heap
Current value (from the default) = false
From //v8/BUILD.gn:261
Enable third party HEAP library
v8_enable_trace_baseline_exec
Current value (from the default) = false
From //v8/BUILD.gn:152
v8_enable_trace_feedback_updates
Current value (from the default) = false
From //v8/BUILD.gn:155
Sets -dV8_TRACE_FEEDBACK_UPDATES.
v8_enable_trace_ignition
Current value (from the default) = false
From //v8/BUILD.gn:151
v8_enable_trace_maps
Current value (from the default) = ""
From //v8/BUILD.gn:144
Sets -dV8_TRACE_MAPS.
v8_enable_trace_unoptimized
Current value (from the default) = ""
From //v8/BUILD.gn:150
Sets -dV8_TRACE_UNOPTIMIZED.
v8_enable_turbofan
Current value (from the default) = ""
From //v8/gni/v8.gni:69
Enable the Turbofan compiler.
Sets -dV8_ENABLE_TURBOFAN.
v8_enable_unconditional_write_barriers
Current value (from the default) = false
From //v8/BUILD.gn:275
Ensure that write barriers are always used.
Useful for debugging purposes.
v8_enable_v8_checks
Current value (from the default) = ""
From //v8/BUILD.gn:147
Sets -dV8_ENABLE_CHECKS.
v8_enable_verify_csa
Current value (from the default) = false
From //v8/BUILD.gn:133
Enable code-generation-time checking of types in the CodeStubAssembler.
v8_enable_verify_heap
Current value (from the default) = ""
From //v8/BUILD.gn:55
Sets -DVERIFY_HEAP.
v8_enable_verify_predictable
Current value (from the default) = false
From //v8/BUILD.gn:58
Sets -DVERIFY_PREDICTABLE
v8_enable_vtunejit
Current value (from the default) = false
From //v8/BUILD.gn:82
Sets -dENABLE_VTUNE_JIT_INTERFACE.
v8_enable_vtunetracemark
Current value (from the default) = false
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:60
Enable WebAssembly debugging via GDB-remote protocol.
v8_enable_wasm_simd256_revec
Current value (from the default) = false
From //v8/gni/v8.gni:83
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:80
Include support for WebAssembly. If disabled, the 'WebAssembly' global
will not be available, and embedder APIs to generate WebAssembly modules
will fail. Also, asm.js will not be translated to WebAssembly and will be
executed as standard JavaScript instead.
Sets -dV8_ENABLE_WEBASSEMBLY.
v8_enable_zone_compression
Current value (from the default) = ""
From //v8/BUILD.gn:320
Enable V8 zone compression experimental feature.
Sets -DV8_COMPRESS_ZONES.
v8_etw_guid
Current value (from the default) = ""
From //v8/BUILD.gn:52
Sets the GUID for the ETW provider
v8_expose_memory_corruption_api
Current value (from the default) = false
From //v8/BUILD.gn:329
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_symbols
Current value (from the default) = false
From //v8/gni/v8.gni:51
Expose symbols for dynamic linking.
v8_fuchsia_use_vmex_resource
Current value (from the default) = false
From //v8/BUILD.gn:380
Get VMEX priviledge at startup.
It allows to run V8 without "deprecated-ambient-replace-as-executable".
Sets -DV8_USE_VMEX_RESOURCE.
TODO(victorgomes): Remove this flag once Chormium no longer needs
the deprecated feature.
v8_fuzzilli
Current value (from the default) = false
From //v8/gni/v8.gni:89
Add fuzzilli fuzzer support.
v8_gcmole
Current value (from the default) = false
From //v8/gni/v8.gni:25
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:341
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:22
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:133
Location of icu.
v8_imminent_deprecation_warnings
Current value = false
From //.gn:37
Overridden from the default = true
From //v8/BUILD.gn:64
Enable compiler warnings when using V8_DEPRECATE_SOON apis.
v8_jitless
Current value (from the default) = false
From //v8/BUILD.gn:399
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:188
This build flag is used to input a builtin pgo file containing raw
execution counts (as opposed to branch hints), which are embedded into
the `--trace-turbo` .json file from `mksnapshot`.
v8_monolithic
Current value (from the default) = false
From //v8/gni/v8.gni:48
Enable monolithic static library for embedders.
v8_multi_arch_build
Current value (from the default) = false
From //v8/gni/v8.gni:18
Adds additional compile target for building multiple architectures at once.
v8_no_inline
Current value (from the default) = false
From //v8/BUILD.gn:230
Switches off inlining in V8.
v8_optimized_debug
Current value (from the default) = true
From //v8/gni/v8.gni:28
Turns on compiler optimizations in V8 in Debug build.
v8_os_page_size
Current value (from the default) = "0"
From //v8/BUILD.gn:233
Override OS page size when generating snapshot
v8_postmortem_support
Current value (from the default) = false
From //v8/BUILD.gn:224
With post mortem support enabled, metadata is embedded into libv8 that
describes various parameters of the VM for use by debuggers. See
tools/gen-postmortem-metadata.py for details.
v8_promise_internal_field_count
Current value (from the default) = 0
From //v8/BUILD.gn:76
Sets the number of internal fields on promise objects.
v8_scriptormodule_legacy_lifetime
Current value (from the default) = false
From //v8/BUILD.gn:369
TODO(cbruni, v8:12302): Remove once API is migrated
Enable legacy mode for ScriptOrModule's lifetime. By default it's a
temporary object, if enabled it will be kept alive by the parent Script.
This is only used by nodejs.
v8_snapshot_toolchain
Current value (from the default) = ""
From //v8/gni/snapshot_toolchain.gni:34
The v8 snapshot needs to be built by code that is compiled with a
toolchain that matches the bit-width of the target CPU, but runs on
the host.
v8_static_library
Current value (from the default) = false
From //v8/gni/v8.gni:45
Use static libraries instead of source_sets.
v8_symbol_level
Current value (from the default) = 2
From //v8/gni/v8.gni:57
Override global symbol level setting for v8.
v8_target_cpu
Current value (from the default) = ""
From //build/config/v8_target_cpu.gni:33
This arg is used when we want to tell the JIT-generating v8 code
that we want to have it generate for an architecture that is different
than the architecture that v8 will actually run on; we then run the
code under an emulator. For example, we might run v8 on x86, but
generate arm code and run that under emulation.
This arg is defined here rather than in the v8 project because we want
some of the common architecture-specific args (like arm_float_abi or
mips_arch_variant) to be set to their defaults either if the current_cpu
applies *or* if the v8_current_cpu applies.
As described below, you can also specify the v8_target_cpu to use
indirectly by specifying a `custom_toolchain` that contains v8_$cpu in the
name after the normal toolchain.
For example, `gn gen --args="custom_toolchain=...:clang_x64_v8_arm64"`
is equivalent to setting --args=`v8_target_cpu="arm64"`. Setting
`custom_toolchain` is more verbose but makes the toolchain that is
(effectively) being used explicit.
v8_target_cpu can only be used to target one architecture in a build,
so if you wish to build multiple copies of v8 that are targeting
different architectures, you will need to do something more
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:267
Source code used by third party heap
v8_third_party_heap_libs
Current value (from the default) = []
From //v8/BUILD.gn:264
Libaries used by third party heap
v8_typed_array_max_size_in_heap
Current value (from the default) = 64
From //v8/BUILD.gn:242
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:35
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:125
TODO: macros for determining endian type are clang specific.
v8_use_mips_abi_hardfloat
Current value (from the default) = true
From //v8/BUILD.gn:239
Similar to the ARM hard float ABI but on MIPS.
v8_use_perfetto
Current value (from the default) = false
From //v8/gni/v8.gni:54
Implement tracing using Perfetto (https://perfetto.dev).
v8_use_siphash
Current value (from the default) = false
From //v8/BUILD.gn:227
Use Siphash as added protection against hash flooding attacks.
v8_use_zlib
Current value (from the default) = true
From //v8/BUILD.gn:388
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:391
Make ValueDeserializer crash if the data to deserialize is invalid.
v8_verify_deterministic_mksnapshot
Current value (from the default) = false
From //v8/BUILD.gn:286
Check mksnapshot determinism by running it multiple times.
v8_verify_torque_generation_invariance
Current value (from the default) = false
From //v8/BUILD.gn:290
Enable additional targets necessary for verification of torque
file generation
v8_win64_unwinding_info
Current value (from the default) = true
From //v8/BUILD.gn:103
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:136
Location of zlib.
vma_vulkan_headers_dir
Current value (from the default) = "//third_party/vulkan-deps/vulkan-headers/src"
From //third_party/vulkan_memory_allocator/BUILD.gn:8
webview_devui_show_icon
Current value (from the default) = true
From //android_webview/variables.gni:14
Show a launcher icon to open WebView developer UI. This is enabled by
default for all prestable builds. The icon for Monochrome is shown
dynamically at runtime if Monochrome is the current selected system WebView
implementation or hidden otherwise.
webview_includes_weblayer
Current value (from the default) = true
From //weblayer/variables.gni:9
Include the //weblayer code in WebView implementation APKs.
widevine_root
Current value (from the default) = "."
From //third_party/widevine/cdm/widevine.gni:61
Relative root directory to //third_party/widevine/cdm for CDM files.
Can be overridden if the CDM files are located in other places.
win_console_app
Current value (from the default) = false
From //build/config/win/console_app.gni:12
If true, builds as a console app (rather than a windowed app), which allows
logging to be printed to the user. This will cause a terminal window to pop
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.
zlib_symbols_visible
Current value (from the default) = false
From //third_party/zlib/BUILD.gn:10
Expose zlib's symbols, used by Node.js to provide zlib APIs for its native
modules.