WARNING at build arg file (use "gn args " to edit):46:21: Build argument has no effect. use_system_ffmpeg = true ^--- The variable "use_system_ffmpeg" was set as a build argument but never appeared in a declare_args() block in any buildfile. To view all possible args, run "gn args --list " The build continued as if that argument was unspecified. 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:56 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_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:238 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. 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_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 angle_64bit_current_cpu Current value (from the default) = true From //third_party/angle/gni/angle.gni:112 angle_assert_always_on Current value (from the default) = false From //third_party/angle/gni/angle.gni:106 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_mesa Current value (from the default) = false From //third_party/angle/gni/angle.gni:286 angle_build_tests Current value (from the default) = true From //third_party/angle/gni/angle.gni:299 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:280 angle_debug_layers_enabled Current value (from the default) = false From //third_party/angle/gni/angle.gni:127 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:166 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) = false 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:294 angle_enable_cgl Current value (from the default) = false From //third_party/angle/gni/angle.gni:291 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:198 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:172 angle_enable_d3d11_compositor_native_window Current value (from the default) = false From //third_party/angle/gni/angle.gni:258 angle_enable_d3d9 Current value (from the default) = false From //third_party/angle/gni/angle.gni:171 angle_enable_desktop_glsl Current value (from the default) = false From //third_party/angle/gni/angle.gni:230 Translator frontend support: angle_enable_eagl Current value (from the default) = false From //third_party/angle/gni/angle.gni:264 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:234 angle_enable_gl Current value (from the default) = true From //third_party/angle/gni/angle.gni:174 angle_enable_gl_desktop_backend Current value (from the default) = true From //third_party/angle/gni/angle.gni:192 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_load_time_allocate Current value (from the default) = false From //third_party/angle/BUILD.gn:80 angle_enable_global_mutex_recursion Current value (from the default) = false From //third_party/angle/BUILD.gn:75 angle_enable_glsl Current value (from the default) = true From //third_party/angle/gni/angle.gni:235 angle_enable_hlsl Current value (from the default) = false From //third_party/angle/gni/angle.gni:233 Translator backend support: angle_enable_memory_alloc_logging Current value (from the default) = false From //third_party/angle/gni/angle.gni:246 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:195 http://anglebug.com/2634 angle_enable_msl_through_spirv Current value (from the default) = false From //third_party/angle/gni/angle.gni:158 By default, include the SPIR-V based MSL translator (in addition to the direct translator) angle_enable_null Current value (from the default) = false From //third_party/angle/gni/angle.gni:191 Disable null backend to save space for official build. angle_enable_overlay Current value (from the default) = false From //third_party/angle/gni/angle.gni:284 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:261 Disable performance counter output by default angle_enable_renderdoc Current value (from the default) = false From //third_party/angle/gni/angle.gni:303 angle_enable_share_context_lock Current value (from the default) = true From //third_party/angle/BUILD.gn:68 Enable share context lock. If it is false, the client need to use gl calls in a threadsafe way. angle_enable_swiftshader Current value (from the default) = false From //third_party/angle/gni/angle.gni:227 angle_enable_trace Current value (from the default) = false From //third_party/angle/gni/angle.gni:236 angle_enable_trace_android_logcat Current value (from the default) = false From //third_party/angle/gni/angle.gni:237 angle_enable_trace_events Current value (from the default) = false From //third_party/angle/gni/angle.gni:238 angle_enable_unwind_backtrace_support Current value (from the default) = false From //third_party/angle/gni/angle.gni:242 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:179 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:252 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:203 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:155 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:296 angle_has_rapidjson Current value (from the default) = true From //third_party/angle/gni/angle.gni:122 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:142 angle_is_winuwp Current value (from the default) = false From //third_party/angle/gni/angle.gni:141 There's no "is_winuwp" helper in BUILDCONFIG.gn, so we define one ourselves angle_libs_suffix Current value (from the default) = "" From //third_party/angle/gni/angle.gni:148 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:138 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:169 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:207 angle_use_custom_libvulkan Current value (from the default) = true 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:65 angle_use_vulkan_display Current value (from the default) = true From //third_party/angle/gni/angle.gni:69 angle_use_vulkan_null_display Current value (from the default) = false From //third_party/angle/gni/angle.gni:188 When set to true, ANGLE will not use VK_KHR_surface and VK_KHR_swapchain extensions. Content can be rendered only off-screen. angle_use_wayland Current value (from the default) = true From //third_party/angle/gni/angle.gni:68 angle_use_x11 Current value (from the default) = true From //third_party/angle/gni/angle.gni:66 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:272 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:274 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:276 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:278 angle_wayland_dir Current value (from the default) = "//third_party/angle/third_party/wayland" From //third_party/angle/gni/angle.gni:269 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. auto_profile_path Current value (from the default) = "" From //build/config/compiler/BUILD.gn:86 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:167 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 = false From //out/Release/args.gn:34 Overridden 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 = 0 From //out/Release/args.gn:31 Overridden 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) = false 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_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) = true 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) = true 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:43 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 = false From //out/Release/args.gn:1 Overridden 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:58 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) = false 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_pgo_phase Current value = 0 From //out/Release/args.gn:2 Overridden from the default = 2 From //build/config/compiler/pgo/pgo.gni:31 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) = true From //media/media_options.gni:330 chromeos_afdo_platform Current value (from the default) = "atom" From //build/config/compiler/BUILD.gn:106 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_embed_bitcode Current value (from the default) = false From //build/config/clang/clang.gni:25 Specifies whether or not bitcode should be embedded during compilation. This is used for creating a MLGO corpus from Chromium in the non-ThinLTO case. clang_emit_debug_info_for_profiling Current value (from the default) = false From //build/config/compiler/BUILD.gn:110 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:90 Path to an AFDO profile to use while building with clang, if any. Empty implies none. clang_use_chrome_plugins Current value = false From //out/Release/args.gn:3 Overridden from the default = false From //build/config/clang/clang.gni:14 clang_use_default_sample_profile Current value (from the default) = false From //build/config/compiler/BUILD.gn:99 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) = true From //sandbox/linux/BUILD.gn:17 compile_suid_client Current value (from the default) = true From //sandbox/linux/BUILD.gn:15 compile_syscall_broker Current value (from the default) = true From //sandbox/linux/BUILD.gn:19 compiler_timing Current value (from the default) = false From //build/config/compiler/BUILD.gn:113 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) = "Content 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:312 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:305 cppgc_enable_larger_cage Current value (from the default) = false From //v8/gni/v8.gni:121 Enable support for larger cages, up to 16GB. 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:309 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) = "libcurl" From //third_party/crashpad/crashpad/util/net/tls.gni:21 crashpad_use_boringssl_for_http_transport_socket Current value (from the default) = true 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. custom_vulkan_loader_library_name Current value (from the default) = "" From //third_party/vulkan-deps/vulkan-loader/src/BUILD.gn:20 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) = true 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) = false 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) = true From //third_party/dawn/scripts/dawn_features.gni:78 dawn_enable_spirv_validation Current value (from the default) = true 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) = true From //third_party/dawn/scripts/dawn_features.gni:101 dawn_enable_vulkan_validation_layers Current value (from the default) = true From //third_party/dawn/scripts/dawn_features.gni:96 dawn_use_angle Current value (from the default) = true 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) = true 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 = false From //out/Release/args.gn:26 Overridden from the default = false 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. 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) = false 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) = false 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_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) = false 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 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 = true From //out/Release/args.gn:4 Overridden 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_histogram_support Current value (from the default) = false From //components/cronet/BUILD.gn:16 If set to true, this will remove histogram manager to reduce binary size. 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:34 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_arcore Current value (from the default) = false From //device/vr/buildflags/buildflags.gni:17 Controls inclusion of code for ARCore that must be identical across configs. 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:126 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) = true From //chrome/common/features.gni:44 Enables support for background apps. enable_background_mode Current value (from the default) = true From //chrome/common/features.gni:45 enable_backup_ref_ptr_feature_flag Current value (from the default) = false From //base/allocator/partition_allocator/partition_alloc.gni:143 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:135 enable_backup_ref_ptr_support Current value (from the default) = true From //base/allocator/partition_allocator/partition_alloc.gni:92 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_basic_print_dialog Current value (from the default) = true From //printing/buildflags/buildflags.gni:33 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:24 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) = true From //components/signin/features.gni:10 Compile time flag for Bound Session Credentials. Warning: The feature is still under development. enable_browser_speech_service Current value (from the default) = true 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:155 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) = true 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:227 enable_cdm_storage_id Current value (from the default) = false From //media/media_options.gni:231 Enable Storage ID which is used by CDMs. This is only available with chrome branding, but may be overridden by other embedders. enable_cet_shadow_stack Current value (from the default) = true From //build/config/compiler/compiler.gni: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) = false From //build/config/clang/clang.gni:18 enable_chrome_notifications Current value (from the default) = true 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:146 enable_dangling_raw_ptr_feature_flag Current value (from the default) = false From //base/allocator/partition_allocator/partition_alloc.gni:154 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:164 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) = true From //chrome/browser/downgrade/buildflags.gni:9 enable_downstream_media_tests Current value (from the default) = false From //chrome/test/media_router/BUILD.gn:10 Many of the targets defined in this file have dependencies that cannot be satisfied without additional downstream resources. Explicitly guard them them behind this flag so that we do not attempt to build or isolate targets in public chromium checkouts. enable_dsyms Current value (from the default) = true 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) = false From //build/config/dcheck_always_on.gni:33 enable_extensions Current value (from the default) = true From //extensions/buildflags/buildflags.gni:8 enable_extractors Current value (from the default) = true 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_ffmpeg_video_decoders Current value (from the default) = true From //media/media_options.gni:211 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_grpc_ares Current value (from the default) = false From //third_party/grpc/BUILD.gn:9 Compiles with ares. enable_gvr_services Current value (from the default) = false From //device/vr/buildflags/buildflags.gni:11 enable_gwp_asan Current value (from the default) = true From //components/gwp_asan/buildflags/buildflags.gni:26 Convenience definition enable_gwp_asan_malloc Current value (from the default) = true 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) = true From //components/gwp_asan/buildflags/buildflags.gni:21 enable_hangout_services_extension Current value = false From //out/Release/args.gn:5 Overridden 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) = true From //media/media_options.gni:114 enable_hidpi Current value (from the default) = true 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_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) = false From //ipc/features.gni:7 Enabling debug builds automatically sets enable_ipc_logging to true. enable_iterator_debugging Current value = false From //out/Release/args.gn:25 Overridden 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_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_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) = true 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) = true 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) = true From //media/media_options.gni:219 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_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) = true From //chrome/services/file_util/public/features.gni:14 Enables analysis of Office documents for malicious macros enable_mdns Current value = false From //out/Release/args.gn:6 Overridden from the default = true 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) = false 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:51 enable_media_remoting Current value (from the default) = true From //media/media_options.gni:314 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) = true From //media/media_options.gni:320 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) = true 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 = true From //out/Release/args.gn:7 Overridden from the default = false From //media/media_options.gni:137 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 = false From //out/Release/args.gn:27 Overridden from the default = true From //components/nacl/features.gni:28 enable_nocompile_tests Current value (from the default) = false From //build/nocompile.gni:72 TODO(crbug.com/1442625): Enable for Windows. enable_offline_pages Current value (from the default) = false 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:63 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) = true From //printing/buildflags/buildflags.gni:47 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= 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:24 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) = true 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:316 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:310 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:333 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:322 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:326 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:303 enable_pkeys Current value (from the default) = true From //base/allocator/partition_allocator/partition_alloc.gni:294 pkeys support is explicitly disabled in all Cronet builds, as some test dependencies that use partition_allocator are compiled in AOSP against a version of glibc that does not include pkeys syscall numbers. 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) = true From //media/media_options.gni:133 enable_platform_mpeg_h_audio Current value (from the default) = false From //media/media_options.gni:74 enable_platform_vvc Current value (from the default) = false From //media/media_options.gni:119 Enable inclusion of VVC/H.266 parser/demuxer, and also enable VVC/H.266 decoding with hardware acceleration provided by platform. Disabled by default for all builds. enable_plugins Current value (from the default) = true 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:73 Introduces pointer compression support in PA. These are 4-byte pointers that can point within the core pools (regular and BRP). 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:77 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) = true From //ppapi/buildflags/buildflags.gni:19 Enables Pepper API (PPAPI) plugin support. enable_precompiled_headers Current value (from the default) = false From //build/config/pch.gni:14 enable_print_content_analysis Current value (from the default) = false From //printing/buildflags/buildflags.gni:51 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) = true From //printing/buildflags/buildflags.gni:29 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_printing_unittests Current value (from the default) = false From //printing/buildflags/buildflags.gni:18 TODO(crbug.com/1432082): iOS blink port only enables printing_unittests for now because the port does not enable the printing feature yet. 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_pseudolocales Current value (from the default) = false 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_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_reading_list Current value = false From //out/Release/args.gn:9 Overridden 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 = false From //out/Release/args.gn:10 Overridden from the default = true From //remoting/remoting_enable.gni:12 enable_reporting Current value = false From //out/Release/args.gn:11 Overridden 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:27 enable_rust_base_conversions Current value (from the default) = false From //build/config/rust.gni:83 Conversions between Rust types and C++ types. enable_rust_boringssl Current value (from the default) = false From //build/config/rust.gni:101 Enable Boringssl Rust bindings generation enable_rust_crash Current value (from the default) = false From //build/config/rust.gni:89 Support for chrome://crash-rust to check crash dump collection works. enable_rust_gnrt Current value (from the default) = true From //build/config/rust.gni:95 Support for the 'gnrt' Rust tool. enable_rust_gtest_interop Current value (from the default) = false From //build/config/rust.gni:98 Rust gtest interop enable_rust_json Current value (from the default) = false From //build/config/rust.gni:86 The base::JSONReader implementation. Requires base conversions. enable_rust_mojo Current value (from the default) = false From //build/config/rust.gni:92 Support for Rust mojo bindings. enable_screen_ai_service Current value (from the default) = true 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 = false From //out/Release/args.gn:12 Overridden from the default = false From //chrome/common/features.gni:61 enable_session_service Current value (from the default) = true 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_call_stack Current value (from the default) = false From //build/config/compiler/BUILD.gn:190 Enable ShadowCallStack for compiled binaries. SCS stores a pointer to a shadow call stack in register x18. Hence, x18 must not be used by the OS or libraries. We assume that to be the case for high end Android configurations. For more details see https://clang.llvm.org/docs/ShadowCallStack.html enable_shadow_metadata Current value (from the default) = false From //base/allocator/partition_allocator/partition_alloc.gni:173 Shadow metadata is still under development and only supports Linux for now. enable_skia_graphite_gtests Current value (from the default) = false From //skia/features.gni:20 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) = true 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) = true 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) = true From //ui/gl/features.gni:36 enable_swiftshader_vulkan Current value (from the default) = true From //gpu/vulkan/features.gni:16 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) = true From //printing/buildflags/buildflags.gni:56 Enables exporting to tagged PDF. 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_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) = true From //third_party/blink/renderer/bindings/bindings.gni:188 Enable V8 to produce hints regarding which functions to compile eagerly. enable_validating_command_decoder Current value (from the default) = false From //ui/gl/features.gni:30 enable_vr Current value = false From //out/Release/args.gn:45 Overridden from the default = true From //device/vr/buildflags/buildflags.gni:34 enable_vulkan Current value (from the default) = true From //gpu/vulkan/features.gni:11 Enable experimental vulkan backend. 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) = true 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:19 Whether to inline source maps during build. Cannot be enabled when `optimize_webui=true`. enable_webui_tab_strip Current value (from the default) = true From //ui/webui/webui_features.gni:15 Enable the WebUI version of the browser's tab strip. enable_widevine Current value = true From //out/Release/args.gn:13 Overridden from the default = false 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 = true From //out/Release/args.gn:14 Overridden from the default = true 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. 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:64 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. fatal_linker_warnings Current value (from the default) = true From //build/config/compiler/BUILD.gn:75 Enable fatal linker warnings. Building Chromium with certain versions of binutils can cause linker warning. ffmpeg_branding Current value = "Chrome" From //out/Release/args.gn:48 Overridden from the default = "Chromium" From //third_party/ffmpeg/ffmpeg_options.gni:32 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:50 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:96 RAW_PTR_EXCLUSION macro is disabled on official builds because it increased binary size. This flag can be used to enable it for official builds too. force_rustc_color_output Current value (from the default) = false From //build/config/rust.gni:74 Force-enable `--color=always` for rustc, even when it would be disabled for a platform. Mostly applicable to Windows, where new versions can handle ANSI escape sequences but it's not reliable in general. 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:178 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:65 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 //out/Release/args.gn:15 Overridden 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 //out/Release/args.gn:16 Overridden from the default = "" From //google_apis/BUILD.gn:46 See google_api_key. google_default_client_secret Current value = "" From //out/Release/args.gn:17 Overridden from the default = "" From //google_apis/BUILD.gn:49 See google_api_key. grpc_use_static_linking Current value (from the default) = false From //third_party/grpc/BUILD.gn:18 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) = true From //ui/base/ui_features.gni:18 Whether the platform provides a native accessibility toolkit, in other words the platform has a C/C++ interface for accessibility that Chrome implements/subclasses in some way - win, mac, linux. 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) = true 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(). 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_extra_compile_flags Current value (from the default) = [] From //third_party/icu/config.gni:39 Fuchsia sometimes requires extra compilation flags for ICU to adapt it to its current toolchain. Since it takes a while for ICU to roll through Fuchsia, it can take a long time from an ICU commit to a fix rolling into Fuchsia. This flag allows us to define the flag ahead of time in //build/icu.gni, and remove the rollout issues. 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) = false From //third_party/widevine/cdm/widevine.gni:77 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) = true 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:39 Whether to include VR extras like test APKs in non-VR-specific targets init_stack_vars Current value (from the default) = true From //build/config/compiler/BUILD.gn:138 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:142 Zero init has favorable performance/size tradeoffs for Chrome OS but was not evaluated for other platforms. internal_gles2_conform_tests Current value (from the default) = false From //gpu/gles2_conform_support/BUILD.gn:7 Set to true to compile with the OpenGL ES 2.0 conformance tests. internal_khronos_glcts_tests Current value (from the default) = false From //gpu/khronos_glcts_support/BUILD.gn:8 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 = false From //out/Release/args.gn:29 Overridden 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_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 = false From //out/Release/args.gn:24 Overridden from the default = true From //build/config/BUILDCONFIG.gn:139 Set to true when compiling with the Clang compiler. is_component_build Current value = false From //out/Release/args.gn:35 Overridden from the default = false 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) = false From //third_party/ffmpeg/ffmpeg_options.gni:39 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:9 Certificate transparency is not supported on iOS. 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 = false From //out/Release/args.gn:23 Overridden from the default = false 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_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 = true From //out/Release/args.gn:22 Overridden 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:15 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) = false 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:152 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) = false 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) = "f8279b01085b800724f5c5629dc365b9f040dc53" 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_disable_rvv Current value (from the default) = false From //third_party/libyuv/libyuv.gni:16 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:23 libyuv_use_msa Current value (from the default) = false From //third_party/libyuv/libyuv.gni:21 libyuv_use_neon Current value (from the default) = false From //third_party/libyuv/libyuv.gni:18 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 = false From //out/Release/args.gn:38 Overridden 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. lld_emit_indexes_and_imports Current value (from the default) = false From //build/config/clang/clang.gni:29 Set to true to enable output of ThinLTO index and import files used for creating a Chromium MLGO corpus in the ThinLTO case. lld_path Current value (from the default) = "../../third_party/llvm-build/Release+Asserts/bin" From //build/config/compiler/BUILD.gn:50 This allows overriding the location of lld. 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) = true From //media/media_options.gni:62 Enable usage of OpenH264 within the media library. Used for software based encoding of H264 content. 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:307 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) = ["video_decoder", "cdm"] From //media/media_options.gni:295 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:130 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) = false From //build/config/compiler/compiler.gni:43 optimize_webui Current value = true From //out/Release/args.gn:49 Overridden from the default = true From //ui/webui/webui_features.gni:12 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) = true From //base/trace_event/tracing.gni:20 ozone_auto_platforms Current value (from the default) = true 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) = "x11" From //build/config/ozone.gni:91 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) = true From //build/config/ozone.gni:66 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) = true From //build/config/ozone.gni:92 ozone_platform_x11 Current value (from the default) = true From //build/config/ozone.gni:93 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) = true 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:340 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:344 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:346 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:35 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) = true From //media/media_options.gni:143 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 = true From //out/Release/args.gn:47 Overridden 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) = true From //base/allocator/partition_allocator/partition_alloc.gni:132 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) = "/root/kocsog_gugli/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:60 Any removed std rlibs in your Rust toolchain, relative to the standard Rust toolchain. Typically used with 'rust_sysroot_absolute' restricted_traces_outside_of_apk Current value (from the default) = false From //third_party/angle/gni/angle.gni:43 Only bundle traces in the APK if we're building a subset 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) = false 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) = false From //third_party/webrtc/webrtc.gni:289 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) = true 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) = false From //third_party/webrtc/webrtc.gni:166 Selects fixed-point code where possible. 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) = true 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) = true 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) = true 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:42 Chromium provides a Rust toolchain in //third_party/rust-toolchain when checkout_rust is True (which is being rolled out by default over time). To use a custom toolchain instead, specify an absolute path to the root of a Rust sysroot, which will have a 'bin' directory and others. Commonly /.rustup/toolchains/nightly-- rust_toolchain_supports_nacl Current value (from the default) = false From //build/config/rust.gni:52 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:48 If you're using a Rust toolchain as specified by rust_sysroot_absolute, set this to the output of `rustc -V`. Changing this string will cause all Rust targets to be rebuilt, which allows you to update your toolchain and not break incremental builds. safe_browsing_mode Current value = 0 From //out/Release/args.gn:18 Overridden from the default = 1 From //components/safe_browsing/buildflags.gni:20 sample_profile_is_accurate Current value (from the default) = false 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:179 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/Release/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:170 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 skia_use_dawn Current value (from the default) = false From //skia/features.gni:11 Enable experimental Skia Graphite Dawn backend. Currently enabled for Mac only. skia_use_metal Current value (from the default) = false From //skia/features.gni:15 Enable experimental Skia Graphite Metal backend. Intended only for debugging on non-official developer builds. skip_buildtools_check Current value (from the default) = false From //third_party/perfetto/gn/perfetto.gni:336 Skip buildtools dependency checks (needed for ChromeOS). 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_llvm Current value (from the default) = true From //third_party/swiftshader/src/Reactor/reactor.gni:17 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. supports_subzero Current value (from the default) = true From //third_party/swiftshader/src/Reactor/reactor.gni:13 Subzero doesn't support ARM64, MIPS64, PPC64, and RISCV64 (only x86 and ARMv7a). swiftshader_optimized_debug_build Current value (from the default) = true From //third_party/swiftshader/src/swiftshader.gni:23 By default, build SwiftShader with optimizations enabled in debug for performance reasons. Set to false to build as unoptimized. swiftshader_startup_dialog Current value (from the default) = false From //third_party/swiftshader/src/swiftshader.gni:27 If enabled, debug builds on Windows will pop up a dialog when the SwiftShader DLL gets loaded, to facilitate attaching a debugger. symbol_level Current value = 0 From //out/Release/args.gn:30 Overridden 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 /usr/share/pkgconfig and one of /usr/lib/pkgconfig or /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. target_cpu Current value (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:133 iOS device does not support executable code pages. Not we use target_os == "ios" here because it isn't equivalent to is_ios (is_ios is based on host_os). target_os Current value (from the default) = "" (Internally set; try `gn help target_os`.) 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) = true From //build/config/compiler/BUILD.gn:127 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_ir Current value (from the default) = false From //third_party/dawn/tint_overrides_with_defaults.gni:82 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:87 toolchain_for_rust_host_build_tools Current value (from the default) = false From //build/toolchain/toolchain.gni:26 Whether this toolchain is to be used for building host tools that are consumed during the build process. That includes proc macros and Cargo build scripts. toolkit_views Current value (from the default) = true From //build/config/ui.gni:33 True means the UI is built using the "views" framework. treat_warnings_as_errors Current value = false From //out/Release/args.gn:19 Overridden 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 use_afl Current value (from the default) = false From //build/config/sanitizers/sanitizers.gni:76 Compile for fuzzing with AFL. 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) = true From //media/media_options.gni:188 use_amdgpu_minigbm Current value (from the default) = false From //third_party/minigbm/BUILD.gn:17 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:39 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:111 use_asan_unowned_ptr Current value (from the default) = false From //base/allocator/partition_allocator/partition_alloc.gni:114 Use probe-on-destruct unowned ptr detection with ASAN. use_aura Current value (from the default) = true 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) = true 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) = true From //device/bluetooth/cast_bluetooth.gni:5 use_bundled_fontconfig Current value (from the default) = true From //third_party/fontconfig/fontconfig.gni:11 use_bundled_weston Current value (from the default) = false From //ui/ozone/platform/wayland/wayland.gni:14 Checks if Weston must be compiled 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) = true 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:44 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:35 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_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:192 use_command_buffer Current value (from the default) = false From //device/vr/buildflags/buildflags.gni:20 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 = true From //out/Release/args.gn:39 Overridden from the default = true From //printing/buildflags/buildflags.gni:39 use_cups_ipp Current value (from the default) = false From //printing/buildflags/buildflags.gni:69 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:183 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) = true 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:158 Enable DWARF v5. use_egl Current value (from the default) = true From //ui/gl/features.gni:17 use_evdev_gestures Current value (from the default) = false From //ui/events/ozone/evdev/BUILD.gn:15 Support ChromeOS touchpad gestures with ozone. 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) = false From //content/common/features.gni:10 Whether or not to use external popup menu. use_exynos_minigbm Current value (from the default) = false From //third_party/minigbm/BUILD.gn:18 use_freeslot_bitmap Current value (from the default) = false From //base/allocator/partition_allocator/partition_alloc.gni:61 use_full_pdb_paths Current value (from the default) = false From //build/config/compiler/BUILD.gn:166 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) = false 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:117 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 = true From //out/Release/args.gn:42 Overridden from the default = true From //build/config/features.gni:38 use_glib Current value (from the default) = true From //build/config/ui.gni:36 use_gnome_keyring Current value = false From //out/Release/args.gn:36 Overridden from the default = true 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) = true From //build/config/compiler/compiler.gni:245 Whether to use the gold linker from binutils instead of lld or bfd. use_goma Current value = false From //out/Release/args.gn:40 Overridden 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:69 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) = true From //build/config/linux/gtk/gtk.gni:9 Whether or not we should use libgtk. use_icf Current value (from the default) = false From //build/config/compiler/BUILD.gn:203 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) = true 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_intel_minigbm Current value (from the default) = false From //third_party/minigbm/BUILD.gn:19 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_javascript_coverage Current value (from the default) = false From //build/config/coverage/coverage.gni:39 Enables TypeScript/JavaScript code coverage. use_kerberos Current value = false From //out/Release/args.gn:41 Overridden 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) = true 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) = true From //third_party/angle/BUILD.gn:31 Use the PCI lib to collect GPU information on Linux. use_lld Current value (from the default) = false 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_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) = false From //third_party/blink/renderer/config.gni:43 If true, defaults image interpolation to low quality. use_marvell_minigbm Current value (from the default) = false From //third_party/minigbm/BUILD.gn:20 use_mediatek_minigbm Current value (from the default) = false From //third_party/minigbm/BUILD.gn:21 use_meson_minigbm Current value (from the default) = false From //third_party/minigbm/BUILD.gn:22 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) = false 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) = true 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_msm_minigbm Current value (from the default) = false From //third_party/minigbm/BUILD.gn:23 use_nss_certs Current value (from the default) = true 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 = false From //out/Release/args.gn:20 Overridden 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_ozone Current value (from the default) = true 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) = true 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:51 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) = true From //base/allocator/partition_allocator/partition_alloc.gni:57 use_perfetto_client_library Current value (from the default) = true 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_profi Current value (from the default) = false From //build/config/compiler/BUILD.gn:175 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 = false From //out/Release/args.gn:37 Overridden from the default = true From //media/media_options.gni:199 use_qt Current value (from the default) = true From //ui/qt/qt.gni:12 TODO(https://crbug.com/1424435): Allow QT in MSAN builds once QT is added to the instrumented libraries. use_qt6 Current value (from the default) = false From //ui/qt/qt.gni:16 use_radeon_minigbm Current value (from the default) = false From //third_party/minigbm/BUILD.gn:24 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_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_rockchip_minigbm Current value (from the default) = false From //third_party/minigbm/BUILD.gn:25 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:80 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:181 use_static_angle Current value (from the default) = false From //ui/gl/features.gni:12 Should ANGLE be linked statically? use_swiftshader_with_subzero Current value (from the default) = true From //third_party/swiftshader/src/Reactor/reactor.gni:27 Subzero produces much smaller binaries, so always use it when available, except for MSan builds which only get Reactor code instrumented with LLVM. use_synaptics_minigbm Current value (from the default) = false From //third_party/minigbm/BUILD.gn:26 use_sysroot Current value = false From //out/Release/args.gn:43 Overridden 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_libffi Current value (from the default) = false From //build/config/linux/libffi/BUILD.gn:13 Controls whether the build should use the version of libffi library shipped with the system. By default, we only use the system version on Chrome OS: on Linux, libffi must be statically linked to prevent a situation where the runtime version of libffi is different from the build-time version from the sysroot. 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_minigbm Current value (from the default) = true From //third_party/minigbm/BUILD.gn:15 Controls whether the build should use the version of minigbm library shipped with the system. In release builds of desktop Linux and Chrome OS we use the system version. use_system_zlib Current value (from the default) = false From //third_party/pdfium/pdfium.gni:74 Don't build against bundled zlib. use_tegra_minigbm Current value (from the default) = false From //third_party/minigbm/BUILD.gn:27 use_text_section_splitting Current value (from the default) = false From //build/config/compiler/BUILD.gn:151 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 = false From //out/Release/args.gn:28 Overridden from the default = false From //build/config/compiler/compiler.gni:93 use_udev Current value (from the default) = true From //build/config/features.gni:34 libudev usage. This currently only affects the content layer. use_unofficial_version_number Current value = false From //out/Release/args.gn:21 Overridden 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_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) = true From //tools/v8_context_snapshot/v8_context_snapshot.gni:19 use_vaapi Current value = true From //out/Release/args.gn:44 Overridden from the default = true From //media/gpu/args.gni:28 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:64 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) = true 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_vc4_minigbm Current value (from the default) = false From //third_party/minigbm/BUILD.gn:28 use_viz_debugger Current value (from the default) = false 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_wayland_gbm Current value (from the default) = true From //ui/ozone/platform/wayland/wayland.gni:11 Checks if Wayland must be compiled with dmabuf/gbm feature, which allows a multi-process hardware accelerated mode. 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) = true From //ui/base/ui_features.gni:10 using_mismatched_sample_profile Current value (from the default) = false 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) = true From //v8/gni/v8.gni:125 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:359 Enable global allocation site tracking. v8_android_log_stdout Current value (from the default) = false From //v8/BUILD.gn:29 Print to stdout on Android. v8_annotate_torque_ir Current value (from the default) = false From //v8/BUILD.gn:289 Generate comments describing the Torque intermediate representation. v8_builtins_profiling_log_file Current value (from the default) = "default" From //v8/BUILD.gn:203 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:232 Similar to vfp but on MIPS. v8_check_header_includes Current value (from the default) = false From //v8/BUILD.gn:247 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:108 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.bin" From //tools/v8_context_snapshot/v8_context_snapshot.gni:43 v8_control_flow_integrity Current value (from the default) = false From //v8/BUILD.gn:300 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) = "x64" 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:32 Dynamically set an additional dependency from v8/custom_deps. v8_deprecation_warnings Current value (from the default) = true From //v8/BUILD.gn:57 Enable compiler warnings when using V8_DEPRECATED apis. v8_dict_property_const_tracking Current value (from the default) = false From //v8/BUILD.gn:343 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:267 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:63 Embeds the given script into the snapshot. v8_embedder_string Current value (from the default) = "" From //v8/BUILD.gn:66 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:134 v8_enable_allocation_folding Current value (from the default) = true From //v8/BUILD.gn:353 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:155 Sets -dV8_ATOMIC_OBJECT_FIELD_WRITES and turns all field write operations into relaxed atomic operations. v8_enable_backtrace Current value = false From //out/Release/args.gn:33 Overridden 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:173 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:179 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:369 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:159 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:113 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) = false From //v8/BUILD.gn:36 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:69 Sets -dENABLE_DISASSEMBLER. v8_enable_etw_stack_walking Current value (from the default) = false From //v8/BUILD.gn:45 Sets -DV8_ENABLE_ETW_STACK_WALKING. Enables ETW Stack Walking v8_enable_external_code_space Current value (from the default) = "" From //v8/BUILD.gn:215 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:93 Enable fast mksnapshot runs. v8_enable_fast_torque Current value (from the default) = "" From //v8/BUILD.gn:96 Optimize code for Torque executable, even during a debug build. v8_enable_future Current value (from the default) = false From //v8/BUILD.gn:39 Sets -DV8_ENABLE_FUTURE. v8_enable_gdbjit Current value = false From //.gn:36 Overridden from the default = true From //v8/BUILD.gn:240 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) = false From //v8/BUILD.gn:87 Sets -dENABLE_HANDLE_ZAPPING. v8_enable_heap_snapshot_verify Current value (from the default) = "" From //v8/BUILD.gn:356 Enable runtime verification of heap snapshots produced for devtools. v8_enable_hugepage Current value (from the default) = false From //v8/BUILD.gn:84 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:168 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:349 Allow for JS promise hooks (instead of just C++). v8_enable_lazy_source_positions Current value (from the default) = true From //v8/BUILD.gn:254 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:346 Enable map packing & unpacking (sets -dV8_MAP_PACKING). v8_enable_object_print Current value (from the default) = "" From //v8/BUILD.gn:137 Sets -dOBJECT_PRINT. v8_enable_pointer_compression Current value (from the default) = "" From //v8/BUILD.gn:132 Enable pointer compression (sets -dV8_COMPRESS_POINTERS). v8_enable_pointer_compression_8gb Current value (from the default) = "" From //v8/BUILD.gn:380 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:133 v8_enable_precise_zone_stats Current value (from the default) = false From //v8/BUILD.gn:329 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:279 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:320 Enable the experimental V8 sandbox. Sets -DV8_ENABLE_SANDBOX. v8_enable_shared_ro_heap Current value (from the default) = "" From //v8/BUILD.gn:251 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:210 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:275 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:90 Enable slow dchecks. v8_enable_snapshot_code_comments Current value (from the default) = false From //v8/BUILD.gn:103 Enable code comments for builtins in the snapshot (impacts performance). This also enables v8_code_comments. v8_enable_snapshot_compression Current value (from the default) = false From //v8/BUILD.gn:293 v8_enable_snapshot_native_code_counters Current value (from the default) = "" From //v8/BUILD.gn:119 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:122 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:126 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:333 Experimental feature that uses SwissNameDictionary instead of NameDictionary as the backing store for all dictionary mode objects. v8_enable_system_instrumentation Current value (from the default) = false From //v8/BUILD.gn:42 Sets -DENABLE_SYSTEM_INSTRUMENTATION. Enables OS-dependent event tracing v8_enable_test_features Current value (from the default) = "" From //v8/BUILD.gn:206 Enables various testing features. v8_enable_third_party_heap Current value (from the default) = false From //v8/BUILD.gn:257 Enable third party HEAP library v8_enable_trace_baseline_exec Current value (from the default) = false From //v8/BUILD.gn:148 v8_enable_trace_feedback_updates Current value (from the default) = false From //v8/BUILD.gn:151 Sets -dV8_TRACE_FEEDBACK_UPDATES. v8_enable_trace_ignition Current value (from the default) = false From //v8/BUILD.gn:147 v8_enable_trace_maps Current value (from the default) = "" From //v8/BUILD.gn:140 Sets -dV8_TRACE_MAPS. v8_enable_trace_unoptimized Current value (from the default) = "" From //v8/BUILD.gn:146 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:271 Ensure that write barriers are always used. Useful for debugging purposes. v8_enable_v8_checks Current value (from the default) = "" From //v8/BUILD.gn:143 Sets -dV8_ENABLE_CHECKS. v8_enable_verify_csa Current value (from the default) = false From //v8/BUILD.gn:129 Enable code-generation-time checking of types in the CodeStubAssembler. v8_enable_verify_heap Current value (from the default) = "" From //v8/BUILD.gn:51 Sets -DVERIFY_HEAP. v8_enable_verify_predictable Current value (from the default) = false From //v8/BUILD.gn:54 Sets -DVERIFY_PREDICTABLE v8_enable_vtunejit Current value (from the default) = false From //v8/BUILD.gn:78 Sets -dENABLE_VTUNE_JIT_INTERFACE. v8_enable_vtunetracemark Current value (from the default) = false From //v8/BUILD.gn:81 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:316 Enable V8 zone compression experimental feature. Sets -DV8_COMPRESS_ZONES. v8_etw_guid Current value (from the default) = "" From //v8/BUILD.gn:48 Sets the GUID for the ETW provider v8_expose_memory_corruption_api Current value (from the default) = false From //v8/BUILD.gn:325 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:376 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:337 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:136 Location of icu. v8_imminent_deprecation_warnings Current value = false From //.gn:37 Overridden from the default = true From //v8/BUILD.gn:60 Enable compiler warnings when using V8_DEPRECATE_SOON apis. v8_jitless Current value (from the default) = false From //v8/BUILD.gn:395 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:184 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:226 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:229 Override OS page size when generating snapshot v8_postmortem_support Current value (from the default) = false From //v8/BUILD.gn:220 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:72 Sets the number of internal fields on promise objects. v8_scriptormodule_legacy_lifetime Current value (from the default) = false From //v8/BUILD.gn:365 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 = 0 From //out/Release/args.gn:32 Overridden from the default = 0 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:263 Source code used by third party heap v8_third_party_heap_libs Current value (from the default) = [] From //v8/BUILD.gn:260 Libaries used by third party heap v8_typed_array_max_size_in_heap Current value (from the default) = 64 From //v8/BUILD.gn:238 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) = false From //v8/gni/v8.gni:128 TODO: macros for determining endian type are clang specific. v8_use_mips_abi_hardfloat Current value (from the default) = true From //v8/BUILD.gn:235 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:223 Use Siphash as added protection against hash flooding attacks. v8_use_zlib Current value (from the default) = true From //v8/BUILD.gn:384 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:387 Make ValueDeserializer crash if the data to deserialize is invalid. v8_verify_deterministic_mksnapshot Current value (from the default) = false From //v8/BUILD.gn:282 Check mksnapshot determinism by running it multiple times. v8_verify_torque_generation_invariance Current value (from the default) = false From //v8/BUILD.gn:286 Enable additional targets necessary for verification of torque file generation v8_win64_unwinding_info Current value (from the default) = true From //v8/BUILD.gn:99 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:139 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 widevine_root Current value (from the default) = "." From //third_party/widevine/cdm/widevine.gni:62 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.