====== args.gn で設定可能な項目一覧 ====== action_pool_depth Current value (from the default) = -1 From //build/toolchain/BUILD.gn:10 Pool for non goma tasks. aec_untrusted_delay_for_testing Current value (from the default) = false From //third_party/webrtc/modules/audio_processing/BUILD.gn:18 Disables the usual mode where we trust the reported system delay values the AEC receives. The corresponding define is set appropriately in the code, but it can be force-enabled here for testing. allow_critical_memory_pressure_handling_in_foreground Current value (from the default) = false From //content/common/features.gni:13 Whether to perform critical memory pressure handling when in foreground (if false, critical memory pressure is treated like moderate pressure in foreground). alternate_cdm_storage_id_key Current value (from the default) = "" From //media/media_options.gni:170 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 //chrome/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:49 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:33 angle_enable_d3d11 Current value (from the default) = false From //third_party/angle/gni/angle.gni:57 angle_enable_d3d9 Current value (from the default) = false From //third_party/angle/gni/angle.gni:56 angle_enable_essl Current value (from the default) = true From //third_party/angle/gni/angle.gni:67 angle_enable_gl Current value (from the default) = true From //third_party/angle/gni/angle.gni:58 angle_enable_gl_null Current value (from the default) = true From //third_party/angle/gni/angle.gni:73 angle_enable_glsl Current value (from the default) = true From //third_party/angle/gni/angle.gni:68 angle_enable_hlsl Current value (from the default) = false From //third_party/angle/gni/angle.gni:74 angle_enable_null Current value (from the default) = true From //third_party/angle/gni/angle.gni:66 angle_enable_trace Current value (from the default) = false From //third_party/angle/gni/angle.gni:75 angle_enable_vulkan Current value (from the default) = true From //third_party/angle/gni/angle.gni:64 ANGLE Vulkan backend on Android requires API level 26, i.e. Oreo, due to Vulkan Validation Layers compatibility issues, see http://crrev/c/1405714. Otherwise, API level 24 would have been enough. angle_enable_vulkan_gpu_trace_events Current value (from the default) = false From //third_party/angle/gni/angle.gni:83 Enable Vulkan GPU trace event capability angle_enable_vulkan_validation_layers Current value (from the default) = true From //third_party/angle/gni/angle.gni:79 angle_force_thread_safety Current value (from the default) = false From //third_party/angle/gni/angle.gni:69 angle_libs_suffix Current value (from the default) = "" From //third_party/angle/gni/angle.gni:52 angle_link_glx Current value (from the default) = false From //third_party/angle/BUILD.gn:24 Link in system libGL, to work with apitrace. See doc/DebuggingTips.md. angle_shared_libvulkan Current value (from the default) = false From //third_party/angle/gni/angle.gni:51 apm_debug_dump Current value (from the default) = false From //third_party/webrtc/webrtc.gni:97 Selects whether debug dumps for the audio processing module should be generated. asan_globals Current value (from the default) = true From //build/config/sanitizers/sanitizers.gni:158 Detect overflow/underflow for global objects. Mac: http://crbug.com/352073 asan_use_blacklist Current value (from the default) = true From //build/config/sanitizers/sanitizers.gni:114 Use blacklists from tools/memory/asan when compiling with asan. audio_processing_in_audio_service_supported Current value (from the default) = true From //media/webrtc/audio_processing.gni:3 Note: the audio service must be sandboxed for us to use the APM there. auto_profile_path Current value (from the default) = "" From //build/config/compiler/BUILD.gn:93 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. binutils_path Current value (from the default) = "../../third_party/binutils/Linux_x64/Release/bin" From //build/config/compiler/BUILD.gn:58 blink_animation_use_time_delta Current value (from the default) = false From //third_party/blink/renderer/core/core.gni:132 Use base::TimeDelta to represent time in renderer/core/animations. See http://crbug.com/737867 blink_gc_plugin Current value (from the default) = true From //third_party/blink/renderer/BUILD.gn:17 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:21 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:26 Set to true to have the clang Blink GC plugin additionally check if a class has an empty destructor which would be unnecessarily invoked when finalized. blink_symbol_level Current value (from the default) = -1 From //third_party/blink/renderer/config.gni:32 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 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. build_angle_deqp_tests Current value (from the default) = false From //third_party/angle/src/tests/BUILD.gn:12 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:13 build_contextual_search Current value (from the default) = false From //components/contextual_search/features.gni:6 build_display_configuration Current value (from the default) = false From //ui/display/display.gni:7 Build Chrome OS display configuration code. 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_sfntly_samples Current value (from the default) = false From //third_party/sfntly/BUILD.gn:9 Flip to true to build sfntly sample programs. build_with_mozilla Current value (from the default) = false From //third_party/webrtc/webrtc.gni:121 Enable to use the Mozilla internal settings. cc_wrapper Current value (from the default) = "" From //build/toolchain/cc_wrapper.gni:36 Set to "ccache", "icecc" or "distcc". Probably doesn't work on windows. chrome_pgo_phase Current value (from the default) = 0 From //build/config/compiler/pgo/pgo.gni:13 Specify the current PGO phase. Here's the different values that can be used: 0 : Means that PGO is turned off. 1 : Used during the PGI (instrumentation) phase. 2 : Used during the PGO (optimization) phase. TODO(sebmarchand): Add support for the PGU (update) phase. chromecast_branding Current value (from the default) = "public" From //build/config/chromecast_build.gni:15 chromecast_branding is used to include or exclude Google-branded components. Set it to "public" for a Chromium build. clang_base_path Current value (from the default) = "//third_party/llvm-build/Release+Asserts" From //build/config/clang/clang.gni:14 clang_format_svn_revision Current value (from the default) = "346566" From //buildtools/deps_revisions.gni:8 The svn revisions that belong to the git hashes in DEPS. Used to cause full rebuilds on libc++ rolls. clang_sample_profile_path Current value (from the default) = "" From //build/config/compiler/BUILD.gn:110 Path to an AFDO profile to use while building with clang, if any. Empty implies none. clang_use_chrome_plugins Current value (from the default) = true From //build/config/clang/clang.gni:12 Indicates if the build should use the Chrome-specific plugins for enforcing coding guidelines, etc. Only used when compiling with Clang. clang_use_default_sample_profile Current value (from the default) = false From //build/config/compiler/BUILD.gn:118 Some configurations have default sample profiles. If this is true and clang_sample_profile_path is empty, we'll fall back to the default. We currently only have default profiles for Chromium in-tree, so we disable this by default for all downstream projects, since these profiles are likely nonsensical for said projects. clang_version Current value (from the default) = "9.0.0" From //build/toolchain/toolchain.gni:49 Clang compiler version. Clang files are placed at version-dependent paths. closure_compile Current value (from the default) = true From //ui/webui/webui_features.gni:14 Enable closure type-checking for Chrome's web technology-based UI. This enables the webui_closure_compile target which does a no-op without this flag enabled. Requires Java. com_init_check_hook_disabled Current value (from the default) = false From //base/BUILD.gn:48 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 compiler_timing Current value (from the default) = false From //build/config/compiler/BUILD.gn:122 Turn this on to have the compiler output extra timing information. 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:19 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_product_name Current value (from the default) = "Content Shell" From //content/shell/BUILD.gn:27 content_shell_version Current value (from the default) = "99.77.34.5" From //content/shell/BUILD.gn:28 coverage_instrumentation_input_file Current value (from the default) = "" From //build/config/coverage/coverage.gni:22 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'. crashpad_dependencies Current value = "chromium" From //.gn:69 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_use_boringssl_for_http_transport_socket Current value (from the default) = false From //third_party/crashpad/crashpad/util/net/tls.gni:21 TODO(scottmg): https://crbug.com/crashpad/266 fuchsia:DX-690: BoringSSL was removed from the Fuchsia SDK. Re-enable it when we have a way to acquire a BoringSSL lib again. 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:144 Allows the path to a custom target toolchain to be injected as a single argument, and set as the default toolchain. dawn_always_assert Current value (from the default) = false From //third_party/dawn/scripts/dawn_features.gni:17 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:22 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_d3d12 Current value (from the default) = false From //third_party/dawn/scripts/dawn_features.gni:25 Enables the compilation of Dawn's D3D12 backend dawn_enable_metal Current value (from the default) = false From //third_party/dawn/scripts/dawn_features.gni:28 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:32 Enables the compilation of Dawn's Null backend (required for unittests, obviously non-conformant) dawn_enable_opengl Current value (from the default) = true From //third_party/dawn/scripts/dawn_features.gni:36 Enables the compilation of Dawn's OpenGL backend (best effort, non-conformant) dawn_enable_vulkan Current value (from the default) = true From //third_party/dawn/scripts/dawn_features.gni:39 Enables the compilation of Dawn's Vulkan backend dcheck_always_on Current value = true From //out/Default/args.gn:9 Overridden from the default = false From //build/config/dcheck_always_on.gni:14 Set to true to enable dcheck in Release builds. dcheck_is_configurable Current value (from the default) = false From //build/config/dcheck_always_on.gni:9 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 crbug.com/596231 for details on how this is used. debug_devtools Current value (from the default) = false From //third_party/blink/public/public_features.gni:12 If debug_devtools is set to true, JavaScript files for DevTools are stored as is and loaded from disk. Otherwise, a concatenated file is stored in resources.pak. It is still possible to load JS files from disk by passing --debug-devtools cmdline switch. disable_brotli_filter Current value (from the default) = false From //net/features.gni:27 Do not disable brotli filter by default. disable_file_support Current value (from the default) = false From //net/features.gni:12 Disables support for file URLs. File URL support requires use of icu. disable_ftp_support Current value (from the default) = false From //net/features.gni:17 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:97 Helper variable for testing builds with disabled libfuzzer. Not for client use. enable_ac3_eac3_audio_demuxing Current value (from the default) = false From //media/media_options.gni:58 Enables AC3/EAC3 audio demuxing. This is enabled only on Chromecast, since it only provides demuxing, and is only useful for AC3/EAC3 audio pass-through to HDMI sink on Chromecast. enable_app_list Current value (from the default) = false From //chrome/common/features.gni:23 enable_app_shell_installer Current value (from the default) = false From //extensions/shell/installer/BUILD.gn:15 enable_arcore Current value (from the default) = false From //device/vr/buildflags/buildflags.gni:50 Controls inclusion of code for ARCore that must be identical across configs. Once crbug.com/920424 is resolved, this will exactly control whether ARCore is supported. TODO(crbug.com/843374): AR should not depend on |enable_vr|. enable_av1_decoder Current value (from the default) = true From //third_party/libaom/options.gni:6 enable_background_contents Current value (from the default) = true From //chrome/common/features.gni:26 Enables support for background apps. enable_background_mode Current value (from the default) = true From //chrome/common/features.gni:27 enable_basic_print_dialog Current value (from the default) = true From //chrome/common/features.gni:31 Enable 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:10 Enable basic printing support and UI. enable_blink_heap_incremental_marking Current value (from the default) = true From //third_party/blink/renderer/platform/heap/BUILD.gn:15 Build Blink with incremental marking infrastructure for Oilpan. To turn on incremental marking also use --enable-blink-features=HeapIncrementalMarking enable_blink_heap_verification Current value (from the default) = false From //third_party/blink/renderer/platform/heap/BUILD.gn:18 Enables heap verification. enable_callgrind Current value (from the default) = false From //third_party/pdfium/pdfium.gni:57 Enable callgrind for performance profiling enable_captive_portal_detection Current value (from the default) = true From //chrome/common/features.gni:33 enable_cbcs_encryption_scheme Current value (from the default) = true From //media/media_options.gni:67 Enable parsing for the 'cbcs' encryption scheme added by MPEG Common Encryption 3rd Edition (ISO/IEC 23001-7), published 02/15/2016. enable_cdm_host_verification Current value (from the default) = false From //media/media_options.gni:159 enable_cdm_storage_id Current value (from the default) = false From //media/media_options.gni:163 Enable Storage ID which is used by CDMs. This is only available with chrome branding, but may be overridden by other embedders. enable_cros_assistant Current value (from the default) = false From //chromeos/assistant/assistant.gni:6 Enable assistant features. Assistant related code is compiled only when true. The default assistant implementation is a stub. enable_cros_libassistant Current value (from the default) = false From //chromeos/assistant/assistant.gni:12 Enable assistant implementation based on libassistant. This requires enable_cros_assistant also enabled. enable_dav1d_decoder Current value (from the default) = true From //media/media_options.gni:89 Dav1d is only enabled when av1 decoding is enabled. enable_debugallocation Current value (from the default) = false From //base/allocator/BUILD.gn:13 Provide a way to force disable debugallocation in Debug builds, e.g. for profiling (it's more rare to profile Debug builds, but people sometimes need to do that). enable_desktop_in_product_help Current value (from the default) = true From //components/feature_engagement/features.gni:8 In-Product Help is only available in Windows and Linux OS for desktop. enable_dolby_vision_demuxing Current value (from the default) = false From //media/media_options.gni:76 Enable Dolby Vision demuxing. Enable by default for Chromecast. Actual decoding must be provided by the platform. Note some Dolby Vision profiles which are encoded using HEVC require |enable_hevc_demuxing| to be enabled. 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_extensions Current value (from the default) = true From //extensions/buildflags/buildflags.gni:8 enable_feed_in_chrome Current value (from the default) = false From //components/feed/features.gni:6 enable_ffmpeg_video_decoders Current value (from the default) = true From //media/media_options.gni:127 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:66 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:9 Enable GPU client logging without DCHECK being on. enable_gpu_service_logging Current value (from the default) = false From //ui/gl/BUILD.gn:23 Whether service side logging (actual calls into the GL driver) is enabled or not. enable_gvr_services Current value (from the default) = false From //device/vr/buildflags/buildflags.gni:11 enable_gwp_asan Current value (from the default) = false From //components/gwp_asan/buildflags/buildflags.gni:9 Is the GWP-ASan client enabled for chrome/ on a given platform. enable_hangout_services_extension Current value (from the default) = false From //chrome/common/features.gni:37 Hangout services is an extension that adds extra features to Hangouts. It is enableable separately to facilitate testing. enable_hevc_demuxing Current value (from the default) = false From //media/media_options.gni:71 Enable HEVC/H265 demuxing. Actual decoding must be provided by the platform. Enable by default for Chromecast. enable_hls_sample_aes Current value (from the default) = false From //media/media_options.gni:79 Enable HLS with SAMPLE-AES decryption. enable_internal_app_remoting_targets Current value (from the default) = false From //remoting/remoting_options.gni:18 Set this to enable building internal AppRemoting apps. enable_ipc_fuzzer Current value (from the default) = false From //tools/ipc_fuzzer/ipc_fuzzer.gni:15 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_isolated_xr_service Current value (from the default) = false From //device/vr/buildflags/buildflags.gni:56 When enabled, host Desktop VR devices (OpenVR and Oculus) in a separate process. When disabled, and Oculus/OpenVR are enabled, they are hosted in the browser process. enable_iterator_debugging Current value (from the default) = false From //build/config/BUILD.gn:38 When set (the default) enables C++ iterator debugging in debug builds. Iterator debugging is always off in release builds (technically, this flag affects the "debug" config, which is always available but applied by default only in debug builds). 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_keystone_registration_framework Current value (from the default) = true From //chrome/BUILD.gn:51 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_linux_installer Current value (from the default) = false From //chrome/installer/BUILD.gn:11 enable_location_source Current value (from the default) = true From //base/BUILD.gn:40 Indicates if the Location object contains the source code information (file, function, line). False means only the program counter (and currently file name) is saved. enable_logging_override Current value (from the default) = false From //media/media_options.gni:82 Enable logging override, e.g. enable DVLOGs at build time. enable_mdns Current value (from the default) = true From //net/features.gni:30 Multicast DNS. enable_media_remoting Current value (from the default) = true From //media/media_options.gni:263 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:269 Media Remoting RPC is disabled on Android since it's unused but increases the native binary size by ~70Kb. enable_media_router_jscompile Current value (from the default) = false From //chrome/browser/resources/media_router/extension/BUILD.gn:12 Determines whether JSCompiler should be used to typecheck JavaScript code for the Media Router extension. enable_message_center Current value (from the default) = true From //ui/base/ui_features.gni:15 Whether the message center should be included for displaying notifications. enable_mojo_media Current value (from the default) = true From //media/media_options.gni:141 enable_mojo_tracing Current value (from the default) = false From //mojo/public/cpp/bindings/BUILD.gn:10 enable_mojom_closure_compile Current value (from the default) = true From //mojo/public/tools/bindings/mojom.gni:41 Enables Closure compilation of generated JS lite bindings. In environments where compilation is supported, any mojom target "foo" will also have a corresponding "foo_js_library_for_compile" target generated. enable_mojom_message_id_scrambling Current value (from the default) = true From //mojo/public/tools/bindings/mojom.gni:36 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:30 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_mpeg_h_audio_demuxing Current value (from the default) = false From //media/media_options.gni:60 enable_mse_mpeg2ts_stream_parser Current value (from the default) = false From //media/media_options.gni:63 enable_mus Current value (from the default) = false From //ui/base/ui_features.gni:18 Set to true to if mus (aka the window service) is enabled. enable_mutex_priority_inheritance Current value (from the default) = false From //base/BUILD.gn:53 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/Default/args.gn:20 Overridden from the default = true From //components/nacl/features.gni:13 enable_nacl_nonsfi Current value (from the default) = true From //components/nacl/features.gni:18 Non-SFI is not yet supported on mipsel enable_native_notifications Current value (from the default) = true From //chrome/common/features.gni:40 Enables usage of the system-provided notification center. enable_native_window_nav_buttons Current value (from the default) = true From //ui/views/features.gni:10 Whether we should draw the minimize, maximize/restore, and close buttons using the system theme. Only used on Linux. enable_nocompile_tests Current value (from the default) = true From //build/nocompile.gni:64 enable_oculus_vr Current value (from the default) = false From //device/vr/buildflags/buildflags.gni:21 To build with Oculus support, the Oculus SDK for Windows will need to be installed in third_party/libovr/src. See third_party/libovr/README.chromium for details. 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_one_click_signin Current value (from the default) = true From //chrome/common/features.gni:44 enable_openvr Current value (from the default) = false From //device/vr/buildflags/buildflags.gni:14 enable_pdf Current value (from the default) = true From //pdf/features.gni:12 enable_plugins Current value (from the default) = true From //ppapi/buildflags/buildflags.gni:10 enable_precompiled_headers Current value (from the default) = true From //build/config/pch.gni:11 Precompiled header file support is by default available, but for distributed build system uses (like goma) or when doing official builds. enable_print_media_l10n Current value (from the default) = false From //components/printing/browser/BUILD.gn:9 For now, we only enable print media localization on Chrome OS. enable_print_preview Current value (from the default) = true From //printing/buildflags/buildflags.gni:16 Enable printing with print preview. It implies enable_basic_printing. Note: It would be convenient to not repeat many of the same conditions in enable_basic_printing below. However, GN does not allow the use of enable_basic_printing within the same declare_args() block. enable_profiling Current value (from the default) = false From //build/config/compiler/compiler.gni:44 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_random_mojo_delays Current value (from the default) = false From //mojo/public/cpp/bindings/BUILD.gn:16 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 (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_remote_navigable_contents_view Current value (from the default) = false From //services/content/public/features.gni:17 Determines whether or not the Content Service should support remote (i.e., out-of-process) clients embedding NavigableContentsViews within their UI. If this is false, only clients in the same process as the Content Service may use NavigableContentsView. Currently only supported on Chrome OS, where |toolkit_views| is implied and the UI service (i.e. Mus) is available. enable_remoting Current value (from the default) = true From //remoting/remoting_enable.gni:12 enable_remoting_jscompile Current value (from the default) = false From //remoting/remoting_options.gni:15 Set this to run the jscompile checks after building the webapp. enable_reporting Current value (from the default) = true From //net/features.gni:33 Reporting not used on iOS. enable_resource_whitelist_generation Current value (from the default) = false From //build/toolchain/gcc_toolchain.gni:28 enable_runtime_media_renderer_selection Current value (from the default) = false From //media/media_options.gni:154 When enabled, this feature allows developers to use a runtime flag to choose the implementation of the renderer that is used. On a build which enables the mojo renderer, if --disable-mojo-renderer is passed at start-up, the "default" renderer will be used instead. Both renderer implementations will be linked if this feature is enabled, increasing the binary size. This feature does not make sense if the mojo renderer is not enabled. enable_service_discovery Current value (from the default) = true From //chrome/common/features.gni:46 enable_session_service Current value (from the default) = true From //chrome/common/features.gni:50 Enables use of the session service, which is enabled by default. Android stores them separately on the Java side. enable_simple_browser_service_in_process Current value (from the default) = true From //chrome/common/features.gni:56 enable_simple_browser_service_out_of_process Current value (from the default) = false From //chrome/common/features.gni:58 enable_supervised_users Current value (from the default) = true From //chrome/common/features.gni:60 enable_swiftshader Current value (from the default) = true From //ui/gl/BUILD.gn:15 enable_test_mojo_media_client Current value (from the default) = false From //media/media_options.gni:146 Enable the TestMojoMediaClient to be used in mojo MediaService. This is for testing only and will override the default platform MojoMediaClient, if any. enable_vr Current value (from the default) = true From //device/vr/buildflags/buildflags.gni:29 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:63 Indicates if Wayland display server support is enabled. enable_websockets Current value (from the default) = true From //net/features.gni:16 WebSockets and socket stream code are not used on iOS and are optional in cronet. enable_widevine Current value (from the default) = false From //third_party/widevine/cdm/widevine.gni:13 Enables Widevine key system support. Enabled by default in Google Chrome and on Android. Can be optionally enabled in Chromium on non-Android platforms. Please see //src/third_party/widevine/LICENSE file for details. enable_wifi_display Current value (from the default) = false From //extensions/buildflags/buildflags.gni:12 Enables Wi-Fi Display functionality WARNING: This enables MPEG Transport Stream (MPEG-TS) encoding! enable_windows_mr Current value (from the default) = false From //device/vr/buildflags/buildflags.gni:16 fatal_linker_warnings Current value (from the default) = true From //build/config/compiler/BUILD.gn:82 Enable fatal linker warnings. Building Chromium with certain versions of binutils can cause linker warning. See: https://bugs.chromium.org/p/chromium/issues/detail?id=457359 ffmpeg_branding Current value (from the default) = "Chromium" From //third_party/ffmpeg/ffmpeg_options.gni:34 Controls whether we build the Chromium or Google Chrome version of FFmpeg. The Google Chrome version contains additional codecs. Typical values are Chromium, Chrome, and ChromeOS. ffmpeg_use_atomics_fallback Current value (from the default) = false From //third_party/ffmpeg/ffmpeg_options.gni:51 Set to true to force the use of ffmpeg's stdatomic fallback code. 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 fieldtrial_testing_like_official_build Current value (from the default) = false From //components/variations/service/BUILD.gn:14 Set to true make a build that disables activation of field trial tests specified in testing/variations/fieldtrial_testing_config.json. Note: this setting is ignored if is_chrome_branded. TODO(thakis): It's strange this is called "_like_official_build" but then checks is_chrome_branded, not is_official_build. force_local_build_id Current value (from the default) = false From //build/config/compiler/BUILD.gn:144 By default only the binaries in official builds get build IDs. full_wpo_on_official Current value (from the default) = false From //build/config/compiler/compiler.gni:167 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_linker_map Current value (from the default) = false From //build/toolchain/toolchain.gni:26 Used for binary size analysis. generate_order_files Current value (from the default) = false From //build/config/chrome_build.gni:17 Turn this on to generate order files. See https://chromium.googlesource.com/chromium/src/+/master/docs/win_order_files.md gold_path Current value (from the default) = false From //build/config/compiler/BUILD.gn:70 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) = "/home/tomoyan/goma" From //build/toolchain/goma.gni:26 Absolute directory containing the gomacc binary. google_api_key Current value (from the default) = "" From //google_apis/BUILD.gn:46 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 you are building an official build or if use_official_google_api_keys has been set to trie (explicitly or implicitly), these values will be ignored and the official keys will be used instead. google_default_client_id Current value (from the default) = "" From //google_apis/BUILD.gn:49 See google_api_key. google_default_client_secret Current value (from the default) = "" From //google_apis/BUILD.gn:52 See google_api_key. gtest_enable_absl_printers Current value (from the default) = false From //third_party/googletest/BUILD.gn:9 If true, it assumes that //third_party/abseil-cpp is an available dependency. gtk_version Current value (from the default) = 3 From //build/config/linux/gtk/gtk.gni:7 The (major) version of GTK to build against. has_gomacc_path Current value (from the default) = false From //build/toolchain/goma.gni:14 This flag is for ChromeOS compiler wrapper. By passing gomacc path via GOMACC_PATH environment variable, ChromeOS' compiler wrapper invokes gomacc inside it. has_native_accessibility Current value (from the default) = true From //ui/base/ui_features.gni:12 Whether the platform provides a native accessibility toolkit. headless_fontconfig_utils Current value (from the default) = false From //headless/headless.gni:10 Provide bindings for font loading for headless embedders. 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. 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:148 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_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. This flag is a bit confusing. As of this writing, icu.gyp set the value to 0 but common.gypi sets the value to 1 for most platforms (and the 1 takes precedence). TODO(GYP) We'll probably need to enhance this logic to set the value to true or false in similar circumstances. ignore_elf32_limitations Current value (from the default) = false From //build_overrides/build.gni:39 Android 32-bit non-component, non-clang builds cannot have symbol_level=2 due to 4GiB file size limit, see https://crbug.com/648948. Set this flag to true to skip the assertion. include_transport_security_state_preload_list Current value (from the default) = true From //net/features.gni:41 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:33 Whether to include VR extras like test APKs in non-VR-specific targets 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 ios_deployment_target Current value (from the default) = "11.0" From //build/config/ios/ios_sdk_overrides.gni:10 Version of iOS that we're targeting. is_asan Current value (from the default) = false From //build/config/sanitizers/sanitizers.gni:12 Compile for Address Sanitizer to find memory bugs. is_cast_audio_only Current value (from the default) = false From //build/config/chromecast_build.gni:18 Set this true for an audio-only Chromecast build. is_cast_desktop_build Current value (from the default) = false From //build/config/chromecast_build.gni:30 True if Chromecast build is targeted for linux desktop. This type of build is useful for testing and development, but currently supports only a subset of Cast functionality. Though this defaults to true for x86 Linux devices, this should be overriden manually for an embedded x86 build. TODO(slan): Remove instances of this when x86 is a fully supported platform. is_cast_using_cma_backend Current value (from the default) = true From //media/media_options.gni:86 If true, use cast CMA backend instead of default chromium media pipeline. TODO(sanfin): Remove this flag when all builds enable CMA. is_cfi Current value (from the default) = false From //build/config/sanitizers/sanitizers.gni:59 Compile with Control Flow Integrity to protect virtual calls and casts. See http://clang.llvm.org/docs/ControlFlowIntegrity.html TODO(pcc): Remove this flag if/when CFI is enabled in all official builds. 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_chromecast Current value (from the default) = false From //build/config/chromecast_build.gni:11 Set this true for a Chromecast build. Chromecast builds are supported on Linux and Android. is_clang Current value (from the default) = false From //build/config/BUILDCONFIG.gn:137 Set to true when compiling with the Clang compiler. is_component_build Current value = true From //out/Default/args.gn:17 Overridden from the default = false From //build/config/BUILDCONFIG.gn:165 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/+/master/docs/component_build.md is_component_ffmpeg Current value (from the default) = true From //third_party/ffmpeg/ffmpeg_options.gni:41 Set true to build ffmpeg as a shared library. NOTE: this means we should always consult is_component_ffmpeg instead of is_component_build for 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_ct_supported Current value (from the default) = true From //services/network/public/cpp/features.gni:10 Certificate transparency is not supported on iOS. TODO(mmenke): It's actually not supported on Android, either. is_debug Current value = false From //out/Default/args.gn:5 Overridden from the default = true From //build/config/BUILDCONFIG.gn:155 Debug build. Enabling official builds automatically sets is_debug to false. is_desktop_linux Current value (from the default) = true From //build/config/BUILDCONFIG.gn:134 Whether we're a traditional desktop unix. is_hwasan Current value (from the default) = false From //build/config/sanitizers/sanitizers.gni:17 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:20 Compile for Leak Sanitizer to find leaks. is_msan Current value (from the default) = false From //build/config/sanitizers/sanitizers.gni:23 Compile for Memory Sanitizer to find uninitialized reads. is_multi_dll_chrome Current value (from the default) = false From //build/config/chrome_build.gni:13 Break chrome.dll into multple pieces based on process type. Only available on Windows. is_nacl_glibc Current value (from the default) = false From //build/config/nacl/config.gni:9 Native Client supports both Newlib and Glibc C libraries where Newlib is assumed to be the default one; use this to determine whether Glibc is being used instead. is_official_build Current value (from the default) = false From //build/config/BUILDCONFIG.gn:131 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. is_proto_quic Current value (from the default) = false From //net/features.gni:9 If true, prune things down as needed for proto-quic build. is_tsan Current value (from the default) = false From //build/config/sanitizers/sanitizers.gni:26 Compile for Thread Sanitizer to find threading bugs. is_ubsan Current value (from the default) = false From //build/config/sanitizers/sanitizers.gni:30 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:33 Halt the program if a problem is detected. is_ubsan_null Current value (from the default) = false From //build/config/sanitizers/sanitizers.gni:36 Compile for Undefined Behaviour Sanitizer's null pointer checks. is_ubsan_security Current value (from the default) = false From //build/config/sanitizers/sanitizers.gni:89 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:39 Compile for Undefined Behaviour Sanitizer's vptr checks. is_unsafe_developer_build Current value (from the default) = true From //base/BUILD.gn:45 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_fastlink Current value (from the default) = false From //build/config/compiler/compiler.gni:65 Tell VS to create a PDB that references information in .obj files rather than copying it all. This should improve linker performance. mspdbcmf.exe can be used to convert a fastlink pdb to a normal one. jumbo_build_excluded Current value (from the default) = [] From //build/config/jumbo.gni:26 A list of build targets to exclude from jumbo builds, for optimal round trip time when frequently changing a set of cpp files. The targets can be just the short name (in which case it matches any target with that name), a directory prefixed with the root specifier //, or a full build target label. Example: These would all exclude the "browser" target in a file content/browser/BUILD.gn, and potentially more. jumbo_build_excluded = [ "browser" ] jumbo_build_excluded = [ "//content/browser" ] jumbo_build_excluded = [ "//content/browser:browser" ] jumbo_file_merge_limit Current value (from the default) = -1 From //build/config/jumbo.gni:42 How many files to group on average. Smaller numbers give more parallellism, higher numbers give less total CPU usage. Higher numbers also give longer single-file recompilation times. Recommendations: Higher numbers than 100 does not reduce wall clock compile times even for 4 cores or less so no reason to go higher than 100. Going from 50 to 100 with a 4 core CPU saves about 3% CPU time and 3% wall clock time in a tree with blink, v8 and content jumbofied. At the same time it increases the compile time for the largest jumbo chunks by 10-20% and reduces the chance to use all available CPU cores. So set the default to 50 to balance between high and low-core build performance. -1 means do the default which varies depending on whether goma is enabled. ldso_path Current value (from the default) = "" From //build/config/gcc/BUILD.gn:20 libcxx_abi_unstable Current value (from the default) = true From //build/config/c++/BUILD.gn:17 lldb pretty printing only works when libc++ is built in the __1 (or __ndk1) namespaces. For pretty printing to work out-of-the-box on Mac (where lldb is primarily used), this flag is set to false to build with the __1 namespace (to maintain ABI compatibility, this implies building without _LIBCPP_ABI_UNSTABLE). This is not necessary on non-component builds because we leave the ABI version set to __1 in that case because libc++ symbols are not exported. TODO(thomasanderson): Set this to true by default once rL352899 is available in MacOS's lldb. libcxx_svn_revision Current value (from the default) = "349080" From //buildtools/deps_revisions.gni:9 libcxxabi_svn_revision Current value (from the default) = "347903" From //buildtools/deps_revisions.gni:10 libunwind_svn_revision Current value (from the default) = "348981" From //buildtools/deps_revisions.gni:11 libyuv_disable_jpeg Current value (from the default) = false From //third_party/libyuv/libyuv.gni:15 libyuv_include_tests Current value (from the default) = false From //third_party/libyuv/libyuv.gni:14 libyuv_symbols_visible Current value (from the default) = false From //third_party/libyuv/BUILD.gn:19 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_gflags Current value (from the default) = true From //third_party/libyuv/BUILD.gn:14 Set to false to disable building with gflags. libyuv_use_mmi Current value (from the default) = false From //third_party/libyuv/libyuv.gni:22 libyuv_use_msa Current value (from the default) = false From //third_party/libyuv/libyuv.gni:20 libyuv_use_neon Current value (from the default) = false From //third_party/libyuv/libyuv.gni:17 link_pulseaudio Current value (from the default) = false From //media/media_options.gni:35 Allows distributions to link pulseaudio directly (DT_NEEDED) instead of using dlopen. This helps with automated detection of ABI mismatches and prevents silent errors. linux_use_bundled_binutils Current value (from the default) = true From //build/config/compiler/BUILD.gn:56 llvm_force_head_revision Current value (from the default) = false From //build/toolchain/toolchain.gni:18 If this is set to true, or if LLVM_FORCE_HEAD_REVISION is set to 1 in the environment, 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 LLVM_FORCE_HEAD_REVISION in the environment when `gclient runhooks` is run as well. mac_sdk_min Current value (from the default) = "10.12" From //build/config/mac/mac_sdk_overrides.gni:12 media_use_ffmpeg Current value (from the default) = true From //media/media_options.gni:40 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:44 Enable usage of libvpx within the media library. Used for software based decoding of VP9 and VP8A type content. mips_use_mmi Current value (from the default) = false From //build/config/mips.gni:13 MIPS MultiMedia Instruction compilation flag. modularize_ar Current value (from the default) = false From //device/vr/buildflags/buildflags.gni:63 modularize_vr Current value (from the default) = true From //device/vr/buildflags/buildflags.gni:62 Whether to create a VR/AR module when building bundles. If false, VR/AR code will become part of the base module. mojo_media_host Current value (from the default) = "gpu" From //media/media_options.gni:256 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: - "none": Do not use mojo media service. - "browser": Use mojo media service hosted in the browser process. - "gpu": Use mojo media service hosted in the gpu process. - "utility": Use mojo media service hosted in the utility process. mojo_media_services Current value (from the default) = ["cdm"] From //media/media_options.gni:243 A list of mojo media services that should be used in the media pipeline. Must not be empty if |enable_mojo_media| is true. 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. mojom_message_id_salt_path Current value (from the default) = "//chrome/VERSION" From //mojo/public/tools/bindings/mojom.gni:88 The path to a file whose contents can be used as the basis for a message ID scrambling salt. mojom_message_id_salt_suffix_path Current value (from the default) = "" From //mojo/public/tools/bindings/mojom.gni:98 monolithic_binaries Current value (from the default) = false From //third_party/perfetto/BUILD.gn:35 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. msan_track_origins Current value (from the default) = 2 From //build/config/sanitizers/sanitizers.gni:44 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_absolute_paths Current value (from the default) = false From //build/toolchain/toolchain.gni:30 Use absolute file paths in the compiler diagnostics and __FILE__ macro if needed. ndk_api_level_at_least_26 Current value (from the default) = false From //third_party/angle/gni/angle.gni:45 optimize_for_fuzzing Current value (from the default) = false From //build/config/sanitizers/sanitizers.gni:101 Optimize for coverage guided fuzzing (balance between speed and number of branches). Can be also used to remove non-determinism and other issues. optimize_webui Current value (from the default) = true From //ui/webui/webui_features.gni:9 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). ozone_auto_platforms Current value (from the default) = false From //ui/ozone/ozone.gni:14 Select platforms automatically. Turn this off for manual control. ozone_extra_path Current value (from the default) = "//ui/ozone/ozone_extra.gni" From //ui/ozone/ozone.gni:11 Ozone extra platforms file path. Can be overridden to build out of tree ozone platforms. ozone_platform Current value (from the default) = "" From //ui/ozone/ozone.gni:20 The platform that will used at runtime by default. This can be overridden with the command line flag --ozone-platform=. ozone_platform_cast Current value (from the default) = false From //ui/ozone/ozone.gni:23 Compile the 'cast' platform. ozone_platform_gbm Current value (from the default) = false From //ui/ozone/ozone.gni:26 Compile the 'gbm' platform. ozone_platform_headless Current value (from the default) = false From //ui/ozone/ozone.gni:29 Compile the 'headless' platform. ozone_platform_magma Current value (from the default) = false From //ui/ozone/ozone.gni:44 Compile the 'magma' platform. ozone_platform_scenic Current value (from the default) = false From //ui/ozone/ozone.gni:32 Compile the 'scenic' platform. ozone_platform_wayland Current value (from the default) = false From //ui/ozone/ozone.gni:38 Compile the 'wayland' platform. ozone_platform_windows Current value (from the default) = false From //ui/ozone/ozone.gni:41 Compile the 'windows' platform. ozone_platform_x11 Current value (from the default) = false From //ui/ozone/ozone.gni:35 Compile the 'x11' platform. package_arcore Current value (from the default) = false From //device/vr/buildflags/buildflags.gni:41 Controls whether the ARCore SDK is packaged into the APK. It is not used for bundle builds. TODO(crbug.com/920424): Remove this variable once it is no longer necessary. TODO(crbug.com/843374): AR should not depend on |enable_vr|. pdf_bundle_freetype Current value (from the default) = false From //third_party/pdfium/pdfium.gni:16 Build PDFium either: 1) When set to true, with a bundled FreeType, built from FreeType source code in //third_party/freetype and PDFium's FreeType configs in third_party/freetype/include. 2) When set to false, use whatever FreeType target is defined in //build/config/freetype. pdf_enable_click_logging Current value (from the default) = false From //third_party/pdfium/pdfium.gni:19 Generate logging messages for click events that reach PDFium pdf_enable_v8 Current value (from the default) = true From //third_party/pdfium/pdfium.gni:22 Build PDFium either with or without v8 support. pdf_enable_xfa Current value (from the default) = false From //third_party/pdfium/pdfium.gni:25 Build PDFium either with or without XFA Forms support. pdf_enable_xfa_bmp Current value (from the default) = true From //third_party/pdfium/pdfium.gni:28 If XFA, also support bmp codec. Ignored if not XFA. pdf_enable_xfa_gif Current value (from the default) = true From //third_party/pdfium/pdfium.gni:31 If XFA, also support gif codec. Ignored if not XFA. pdf_enable_xfa_png Current value (from the default) = true From //third_party/pdfium/pdfium.gni:34 If XFA, also support png codec. Ignored if not XFA. pdf_enable_xfa_tiff Current value (from the default) = true From //third_party/pdfium/pdfium.gni:37 If XFA, also support png codec. Ignored if not XFA. pdf_is_complete_lib Current value (from the default) = false From //third_party/pdfium/pdfium.gni:54 Build a complete static library pdf_is_standalone Current value (from the default) = false From //third_party/pdfium/pdfium.gni:51 Build PDFium standalone pdf_use_skia Current value (from the default) = false From //third_party/pdfium/pdfium.gni:41 Build PDFium against Skia (experimental) rather than AGG. Use Skia to draw everything. pdf_use_skia_paths Current value (from the default) = false From //third_party/pdfium/pdfium.gni:45 Build PDFium against Skia (experimental) rather than AGG. Use Skia to draw paths. pdf_use_win32_gdi Current value (from the default) = true From //third_party/pdfium/pdfium.gni:48 Build PDFium with or without experimental win32 GDI APIs. perfetto_build_with_android Current value (from the default) = false From //third_party/perfetto/gn/perfetto.gni:48 The Android blueprint file generator overrides this to true. perfetto_force_dlog Current value (from the default) = "off" From //third_party/perfetto/gn/perfetto.gni:74 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. pgo_build Current value (from the default) = false From //chrome/common/features.gni:66 Indicates if the build is using PGO. pgo_data_path Current value (from the default) = "" From //build/config/compiler/pgo/pgo.gni:16 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. print_unsymbolized_stack_traces Current value (from the default) = false From //base/third_party/symbolize/BUILD.gn:13 Stack traces will not include function names. Instead they will contain file and offset information that can be used with tools/valgrind/asan/asan_symbolize.py. By piping stderr through this script, and also enabling symbol_level = 2, you can get much more detailed stack traces with file names and line numbers, even in non-ASAN builds. proprietary_codecs Current value (from the default) = false From //build/config/features.gni:29 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. remove_webcore_debug_symbols Current value (from the default) = false From //third_party/blink/renderer/config.gni:21 TODO : send a PSA out to tell people to switch to blink_symbol_level and remove this. If true, doesn't compile debug symbols into webcore reducing the size of the binary and increasing the speed of gdb. ro_segment_workaround_for_valgrind Current value (from the default) = false From //build/config/compiler/BUILD.gn:127 Set to true to pass --no-rosegment to lld. This is a workaround for a KI issue in Valgrind, https://bugs.kde.org/show_bug.cgi?id=384727 root_extra_deps Current value (from the default) = [] From //BUILD.gn:39 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:173 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_examples Current value (from the default) = true From //third_party/webrtc/webrtc.gni:103 Set this to false to skip building examples. rtc_build_json Current value (from the default) = true From //third_party/webrtc/webrtc.gni:200 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:216 rtc_build_libsrtp Current value (from the default) = true From //third_party/webrtc/webrtc.gni:201 rtc_build_libvpx Current value (from the default) = true From //third_party/webrtc/webrtc.gni:202 rtc_build_opus Current value (from the default) = true From //third_party/webrtc/webrtc.gni:204 rtc_build_ssl Current value (from the default) = true From //third_party/webrtc/webrtc.gni:205 rtc_build_tools Current value (from the default) = true From //third_party/webrtc/webrtc.gni:106 Set this to false to skip building tools. rtc_build_usrsctp Current value (from the default) = true From //third_party/webrtc/webrtc.gni:206 rtc_build_with_neon Current value (from the default) = false From //third_party/webrtc/webrtc.gni:150 rtc_builtin_ssl_root_certificates Current value (from the default) = true From //third_party/webrtc/webrtc.gni:65 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_enable_android_aaudio Current value (from the default) = false From //third_party/webrtc/webrtc.gni:125 Enable use of Android AAudio which requires Android SDK 26 or above and NDK r16 or above. rtc_enable_bwe_test_logging Current value (from the default) = false From //third_party/webrtc/webrtc.gni:100 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:93 Enable when an external authentication mechanism is used for performing packet authentication for RTP packets instead of libsrtp. rtc_enable_libevent Current value (from the default) = true From //third_party/webrtc/webrtc.gni:215 rtc_enable_protobuf Current value (from the default) = true From //third_party/webrtc/webrtc.gni:194 Enables the use of protocol buffers for debug recordings. rtc_enable_sctp Current value (from the default) = true From //third_party/webrtc/webrtc.gni:197 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:41 Setting this to true will make RTC_EXPORT (see rtc_base/system/rtc_export.h) expand to code that will manage symbols visibility. rtc_exclude_field_trial_default Current value (from the default) = true From //third_party/webrtc/webrtc.gni:51 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:60 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_include_ilbc Current value = false From //.gn:65 Overridden from the default = true From //third_party/webrtc/webrtc.gni:68 Include the iLBC audio codec? rtc_include_internal_audio_device Current value (from the default) = false From //third_party/webrtc/webrtc.gni:228 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:71 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:224 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:231 Include tests in standalone checkout. rtc_jsoncpp_root Current value (from the default) = "//third_party/jsoncpp/source/include" From //third_party/webrtc/webrtc.gni:82 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:203 rtc_link_pipewire Current value (from the default) = false From //third_party/webrtc/webrtc.gni:118 Set this to link PipeWire directly instead of using the dlopen. rtc_link_task_queue_impl Current value = false From //.gn:60 Overridden from the default = true From //third_party/webrtc/webrtc.gni:142 Links a default implementation of task queues to targets that depend on the target rtc_task_queue. Set to false to use an external implementation. rtc_opus_support_120ms_ptime Current value (from the default) = true From //third_party/webrtc/webrtc.gni:75 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:78 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:89 Selects fixed-point code where possible. rtc_sanitize_coverage Current value (from the default) = "" From //third_party/webrtc/webrtc.gni:137 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:86 Used to specify an external OpenSSL include path when not compiling the library that comes with WebRTC (i.e. rtc_build_ssl == 0). rtc_use_dummy_audio_file_devices Current value (from the default) = false From //third_party/webrtc/webrtc.gni:167 By default, use normal platform audio support or dummy audio, but don't use file-based audio playout and record. rtc_use_gtk Current value (from the default) = false From //third_party/webrtc/webrtc.gni:221 Build sources requiring GTK. NOTICE: This is not present in Chrome OS build environments, even if available for Chromium builds. rtc_use_h264 Current value (from the default) = false From //third_party/webrtc/webrtc.gni:163 rtc_use_lto Current value (from the default) = false From //third_party/webrtc/webrtc.gni:130 Link-Time Optimizations. Executes code generation at link-time instead of compile-time. https://gcc.gnu.org/wiki/LinkTimeOptimization rtc_use_metal_rendering Current value (from the default) = false From //third_party/webrtc/webrtc.gni:182 Determines whether Metal is available on iOS/macOS. rtc_use_pipewire Current value (from the default) = true From //third_party/webrtc/webrtc.gni:115 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:109 Set this to false to skip building code that requires X11. runtime_call_stats_count_everything Current value (from the default) = false From //third_party/blink/renderer/platform/BUILD.gn:210 safe_browsing_mode Current value (from the default) = 1 From //build/config/features.gni:40 sample_profile_is_accurate Current value (from the default) = false From //build/config/compiler/compiler.gni:101 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:111 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 should_build_heapprofd Current value (from the default) = false From //third_party/perfetto/BUILD.gn:39 skia_whitelist_serialized_typefaces Current value (from the default) = false From //skia/BUILD.gn:27 start_daemons_for_testing Current value (from the default) = true From //third_party/perfetto/gn/perfetto.gni:52 Whether the ftrace producer and the service should be started by the integration test or assumed to be running. strip_absolute_paths_from_debug_symbols Current value (from the default) = false From //build/config/compiler/BUILD.gn:103 strip_debug_info Current value (from the default) = false From //build/config/compiler/compiler.gni:40 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. support_webgl2_compute_context Current value (from the default) = true From //third_party/blink/renderer/config.gni:41 If true, webgl2-compute context will be supported. symbol_level Current value (from the default) = -1 From //build/config/compiler/compiler.gni:35 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/BUILD.gn:13 Controls the product part of the user agent calculated in sync_util.cc. 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_os Current value (from the default) = "" (Internally set; try `gn help target_os`.) target_sysroot Current value (from the default) = "" From //build/config/sysroot.gni:13 The absolute 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:16 The absolute path to directory containing linux sysroot images thin_lto_enable_optimizations Current value (from the default) = false From //build/config/compiler/BUILD.gn:141 toolkit_views Current value (from the default) = true From //build/config/ui.gni:38 True means the UI is built using the "views" framework. treat_warnings_as_errors Current value (from the default) = true From //build/config/compiler/BUILD.gn:45 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:45 Platforms where the cert verifier comparison trial is supported. See https://crbug.com/649026. use_afl Current value (from the default) = false From //build/config/sanitizers/sanitizers.gni:85 Compile for fuzzing with AFL. use_allocator Current value (from the default) = "tcmalloc" From //build/config/allocator.gni:28 Memory allocator to use. Set to "none" to use default allocator. use_allocator_shim Current value (from the default) = true From //build/config/allocator.gni:31 Causes all the allocations to be routed via allocator_shim.cc. use_alsa Current value (from the default) = true From //media/media_options.gni:111 use_aura Current value (from the default) = true From //build/config/ui.gni:30 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:20 On Android, use plain GTest. use_bundled_fontconfig Current value (from the default) = true From //third_party/fontconfig/fontconfig.gni:10 use_cfi_cast Current value (from the default) = false From //build/config/sanitizers/sanitizers.gni:65 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:74 Print detailed diagnostics when Control Flow Integrity detects a violation. use_cfi_icall Current value (from the default) = false From //build/config/sanitizers/sanitizers.gni:70 Enable checks for indirect function calls via a function pointer. TODO(pcc): remove this when we're ready to add these checks by default. https://crbug.com/701919 use_cfi_recover Current value (from the default) = false From //build/config/sanitizers/sanitizers.gni:78 Let Control Flow Integrity continue execution instead of crashing when printing diagnostics (use_cfi_diag = true). use_clang_coverage Current value (from the default) = false From //build/config/coverage/coverage.gni:15 Enable Clang's Source-based Code Coverage. use_clang_static_analyzer Current value (from the default) = false From //build/toolchain/clang_static_analyzer.gni:10 Uses the Clang static analysis tools during compilation. use_cras Current value (from the default) = false From //media/media_options.gni:53 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:9 If set to true, this will stub out and disable the entire crash key system. use_cups Current value (from the default) = true From //printing/buildflags/buildflags.gni:18 use_custom_libcxx Current value (from the default) = true From //build/config/c++/c++.gni:14 use_custom_libcxx_for_host Current value (from the default) = false From //build/config/c++/c++.gni:24 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_cxx11 Current value (from the default) = false From //build/config/compiler/BUILD.gn:106 Allow projects that wish to stay on C++11 to override Chromium's default. use_cxx11_on_android Current value (from the default) = false From //build/config/compiler/BUILD.gn:149 C++11 may not be an option if Android test infrastructure is used. use_dbus Current value (from the default) = true From //build/config/features.gni:46 use_debug_fission Current value (from the default) = "default" From //build/config/compiler/compiler.gni:56 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_drfuzz Current value (from the default) = false From //build/config/sanitizers/sanitizers.gni:93 Compile for fuzzing with Dr. Fuzz See http://www.chromium.org/developers/testing/dr-fuzz use_dummy_lastchange Current value (from the default) = false From //build/util/lastchange.gni:9 use_egl Current value (from the default) = true From //ui/gl/features.gni:12 Should EGL support be compiled. Can be overriden to test during bring up of EGL support on other platforms use_evdev_gestures Current value (from the default) = false From //ui/events/ozone/BUILD.gn:12 Support ChromeOS touchpad gestures with ozone. use_external_popup_menu Current value (from the default) = false From //content/common/features.gni:9 Whether or not to use external popup menu. 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) = false From //build/config/compiler/BUILD.gn:131 Turn this on to use ghash feature of lld for faster debug link on Windows. http://blog.llvm.org/2018/01/improving-link-time-on-windows-with.html use_gio Current value (from the default) = true From //build/config/features.gni:48 use_glib Current value (from the default) = true From //build/config/ui.gni:33 Whether we should use glib, a low level C utility library. use_gnome_keyring Current value (from the default) = true From //components/os_crypt/features.gni:10 Whether to use libgnome-keyring (deprecated by libsecret). See http://crbug.com/466975 and http://crbug.com/355223. use_gold Current value (from the default) = false From //build/config/compiler/compiler.gni:184 use_goma Current value (from the default) = false From //build/toolchain/goma.gni:9 Set to true to enable distributed compilation using Goma. use_icf Current value (from the default) = true From //build/config/compiler/BUILD.gn:165 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 See also https://crbug.com/663886 `linux_use_bundled_binutils` is to avoid breaking Linux distros which may still have a buggy gold. 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_incremental_wpo Current value (from the default) = false From //build/config/compiler/compiler.gni:69 Whether or not we should turn on incremental WPO. Only affects the VS Windows build. use_jumbo_build Current value (from the default) = false From //build/config/jumbo.gni:11 If true, use a jumbo build (files compiled together) to speed up compilation. use_kerberos Current value (from the default) = true From //net/features.gni:24 Enable Kerberos authentication. It is disabled by default on iOS, Fuchsia and Chromecast, at least for now. This feature needs configuration (krb5.conf and so on). On Chrome OS it is only supported on Active Directory managed devices. TODO(fuchsia): Enable kerberos on Fuchsia when it's implemented there. use_libfuzzer Current value (from the default) = false From //build/config/sanitizers/sanitizers.gni:82 Compile for fuzzing with LLVM LibFuzzer. See http://www.chromium.org/developers/testing/libfuzzer 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:20 Use the PCI lib to collect GPU information on Linux. use_lld Current value (from the default) = true From //build/config/compiler/compiler.gni:175 Set to true to use lld, the LLVM linker. https://crbug.com/911658 for using lld on 32-bit linux. https://crbug.com/917504 for arm chromeos use_locally_built_instrumented_libraries Current value (from the default) = false From //build/config/sanitizers/sanitizers.gni:53 Use dynamic libraries instrumented by one of the sanitizers instead of the standard system libraries. Set this flag to build the libraries from source. use_low_quality_image_interpolation Current value (from the default) = false From //third_party/blink/renderer/config.gni:35 If true, defaults image interpolation to low quality. use_mpris Current value (from the default) = true From //components/mpris/features.gni:8 use_new_tcmalloc Current value (from the default) = false From //build/config/allocator.gni:37 Use the new tcmalloc. It's relevant only when use_allocator == "tcmalloc". use_official_google_api_keys Current value (from the default) = "" From //google_apis/BUILD.gn:31 You can set the variable 'use_official_google_api_keys' to true to use the Google-internal file containing official API keys for Google Chrome even in a developer build. Setting this variable explicitly to true will cause your build to fail if the internal file is missing. The variable is documented here, but not handled in this file; see //google_apis/determine_use_official_keys.gypi for the implementation. Set the variable to false to not use the internal file, even when it exists in your checkout. Leave it unset or set to "" to have the variable implicitly set to true if you have src/google_apis/internal/google_chrome_api_keys.h in your checkout, and implicitly set to false if not. 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_openh264 Current value (from the default) = false From //third_party/openh264/openh264_args.gni:11 Enable this to build OpenH264 (for encoding, not decoding). CHECK THE OPENH264 LICENSE/PATENT BEFORE BUILDING, see http://www.openh264.org/. use_ozone Current value (from the default) = false From //build/config/ui.gni:26 Indicates if Ozone is enabled. Ozone is a low-level library layer for Linux that does not require X11. Enabling this feature disables use of glib, x11, Pango, and Cairo. use_partition_alloc Current value (from the default) = true From //build/config/allocator.gni:34 Partition alloc is included by default except iOS. 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_prebuilt_instrumented_libraries Current value (from the default) = false From //build/config/sanitizers/sanitizers.gni:49 Use dynamic libraries instrumented by one of the sanitizers instead of the standard system libraries. Set this flag to download prebuilt binaries from GCS. use_pulseaudio Current value (from the default) = true From //media/media_options.gni:115 use_rtti Current value (from the default) = false From //build/config/compiler/BUILD.gn:87 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_sanitizer_coverage Current value (from the default) = false From //build/config/sanitizers/sanitizers.gni:152 use_static_angle Current value (from the default) = false From //ui/gl/features.gni:8 Whether ANGLE should be linked statically False by default, enabling currently supported only on Android use_swiftshader_with_subzero Current value (from the default) = true From //third_party/swiftshader/src/Reactor/BUILD.gn:20 use_sysroot Current value (from the default) = true From //build/config/sysroot.gni:18 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:63 Don't build against bundled lcms2. use_system_libdrm Current value (from the default) = false 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 Chrome OS we use the system version, but when building on dev workstations we bundle it because Ubuntu doesn't ship a usable version. Chromecast will use this as well. use_system_libjpeg Current value (from the default) = false From //third_party/libjpeg.gni:7 Uses system libjpeg. If true, overrides use_libjpeg_turbo. use_system_libpng Current value (from the default) = false From //third_party/pdfium/pdfium.gni:66 Don't build against bundled libpng. use_system_libsync Current value (from the default) = false From //third_party/libsync/BUILD.gn:12 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_xcode Current value (from the default) = "" From //build_overrides/build.gni:46 Use the system install of Xcode for tools like ibtool, libtool, etc. This does not affect the compiler. When this variable is false, targets will instead use a hermetic install of Xcode. [The hermetic install can be obtained with gclient sync after setting the environment variable FORCE_MAC_TOOLCHAIN]. use_system_zlib Current value (from the default) = false From //third_party/pdfium/pdfium.gni:60 Don't build against bundled zlib. use_tcmalloc_small_but_slow Current value (from the default) = false From //base/allocator/BUILD.gn:16 Provide a way to build tcmalloc with a low memory footprint. use_thin_lto Current value (from the default) = false From //build/config/compiler/compiler.gni:60 Enables support for ThinLTO, which links 3x-10x faster than full LTO. See also http://blog.llvm.org/2016/06/thinlto-scalable-and-incremental-lto.html use_udev Current value (from the default) = true From //build/config/features.gni:44 libudev usage. This currently only affects the content layer. use_unofficial_version_number Current value (from the default) = true From //components/version_info/BUILD.gn:11 use_v4l2_codec Current value (from the default) = false From //media/gpu/args.gni:11 Indicates if Video4Linux2 codec is used. This is used for all CrOS platforms which have v4l2 hardware encoder / decoder. use_v4lplugin Current value (from the default) = false From //media/gpu/args.gni:7 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:18 use_vaapi Current value (from the default) = false From //media/gpu/args.gni:15 Indicates if VA-API-based hardware acceleration is to be used. This is typically the case on x86-based ChromeOS devices. use_viz_devtools Current value (from the default) = true From //components/ui_devtools/devtools.gni:8 Indicates if the Viz Devtools server is enabled. This is disabled on iOS, and on official Android builds to reduce binary size. use_vr_assets_component Current value (from the default) = false From //chrome/browser/vr/features.gni:12 Whether to register, download, etc. the VR assets component. use_webaudio_ffmpeg Current value (from the default) = true From //third_party/blink/renderer/config.gni:38 If true, ffmpeg will be used for decoding audio. use_xcode_clang Current value (from the default) = false From //build/toolchain/toolchain.gni:23 Compile with Xcode version of clang instead of hermetic version shipped with the build. Used on iOS to ship official builds (as they are built with the version of clang shipped with Xcode). use_xkbcommon Current value (from the default) = false From //ui/base/ui_features.gni:9 Optional system library. using_mismatched_sample_profile Current value (from the default) = false From //build/config/compiler/compiler.gni:76 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_android_log_stdout Current value (from the default) = false From //v8/BUILD.gn:32 Print to stdout on Android. v8_can_use_fpu_instructions Current value (from the default) = true From //v8/BUILD.gn:137 Similar to vfp but on MIPS. v8_check_header_includes Current value (from the default) = false From //v8/BUILD.gn:173 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_check_microtasks_scopes_consistency Current value = false From //.gn:57 Overridden from the default = "" From //v8/BUILD.gn:157 Temporary flag to allow embedders to update their microtasks scopes while rolling in a new version of V8. v8_code_coverage Current value (from the default) = false From //v8/gni/v8.gni:13 Set flags for tracking code coverage. Uses gcov with gcc and sanitizer coverage with clang. v8_correctness_fuzzer Current value (from the default) = false From //v8/gni/v8.gni:16 Includes files needed for correctness fuzzing. v8_current_cpu Current value (from the default) = "x64" From //build/config/v8_target_cpu.gni:60 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:35 Dynamically set an additional dependency from v8/custom_deps. v8_deprecation_warnings Current value (from the default) = true From //v8/BUILD.gn:56 Enable compiler warnings when using V8_DEPRECATED apis. v8_embed_script Current value (from the default) = "" From //v8/BUILD.gn:62 Embeds the given script into the snapshot. v8_embedder_string Current value (from the default) = "" From //v8/BUILD.gn:65 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:99 v8_enable_backtrace Current value (from the default) = "" From //v8/gni/v8.gni:32 Support for backtrace_symbols on linux. v8_enable_concurrent_marking Current value (from the default) = true From //v8/BUILD.gn:117 Sets -dV8_CONCURRENT_MARKING v8_enable_debugging_features Current value (from the default) = false From //v8/BUILD.gn:39 Turns on all V8 debug features. Enables running V8 in a pseudo debug mode within a release Chrome. v8_enable_disassembler Current value (from the default) = "" From //v8/BUILD.gn:68 Sets -dENABLE_DISASSEMBLER. v8_enable_embedded_builtins Current value (from the default) = true From //v8/BUILD.gn:89 Enable embedded builtins. v8_enable_fast_mksnapshot Current value (from the default) = false From //v8/BUILD.gn:86 Enable fast mksnapshot runs. v8_enable_future Current value (from the default) = false From //v8/BUILD.gn:42 Sets -DV8_ENABLE_FUTURE. v8_enable_gdbjit Current value = false From //.gn:52 Overridden from the default = true From //v8/BUILD.gn:152 v8_enable_handle_zapping Current value (from the default) = true From //v8/BUILD.gn:80 Sets -dENABLE_HANDLE_ZAPPING. v8_enable_i18n_support Current value (from the default) = true From //v8/gni/v8.gni:49 Enable ECMAScript Internationalization API. Enabling this feature will add a dependency on the ICU library. v8_enable_lite_mode Current value (from the default) = false From //v8/BUILD.gn:47 Lite mode disables a number of performance optimizations to reduce memory at the cost of performance. Sets --DV8_LITE_MODE. v8_enable_minor_mc Current value (from the default) = true From //v8/BUILD.gn:168 Enable minor mark compact. v8_enable_object_print Current value (from the default) = "" From //v8/BUILD.gn:102 Sets -dOBJECT_PRINT. v8_enable_pointer_compression Current value (from the default) = false From //v8/BUILD.gn:98 Enable pointer compression (sets -dV8_COMPRESS_POINTERS). v8_enable_slow_dchecks Current value (from the default) = false From //v8/BUILD.gn:83 Enable slow dchecks. v8_enable_snapshot_code_comments Current value (from the default) = false From //v8/BUILD.gn:92 Enable code comments for builtins in the snapshot (impacts performance). v8_enable_test_features Current value (from the default) = "" From //v8/BUILD.gn:120 Enables various testing features. v8_enable_trace_feedback_updates Current value (from the default) = false From //v8/BUILD.gn:114 Sets -dV8_TRACE_FEEDBACK_UPDATES. v8_enable_trace_ignition Current value (from the default) = false From //v8/BUILD.gn:111 Sets -dV8_TRACE_IGNITION. v8_enable_trace_maps Current value (from the default) = "" From //v8/BUILD.gn:105 Sets -dV8_TRACE_MAPS. v8_enable_v8_checks Current value (from the default) = "" From //v8/BUILD.gn:108 Sets -dV8_ENABLE_CHECKS. v8_enable_verify_csa Current value (from the default) = false From //v8/BUILD.gn:95 Enable code-generation-time checking of types in the CodeStubAssembler. v8_enable_verify_heap Current value (from the default) = "" From //v8/BUILD.gn:50 Sets -DVERIFY_HEAP. v8_enable_verify_predictable Current value (from the default) = false From //v8/BUILD.gn:53 Sets -DVERIFY_PREDICTABLE v8_enable_vtunejit Current value (from the default) = false From //v8/BUILD.gn:77 Sets -dENABLE_VTUNE_JIT_INTERFACE. v8_extra_library_files Current value = ["//third_party/blink/renderer/core/streams/CommonOperations.js", "//third_party/blink/renderer/core/streams/CommonStrings.js", "//third_party/blink/renderer/core/streams/SimpleQueue.js", "//third_party/blink/renderer/core/streams/ByteLengthQueuingStrategy.js", "//third_party/blink/renderer/core/streams/CountQueuingStrategy.js", "//third_party/blink/renderer/core/streams/ReadableStream.js", "//third_party/blink/renderer/core/streams/WritableStream.js", "//third_party/blink/renderer/core/streams/TransformStream.js"] From //.gn:37 Overridden from the default = ["//test/cctest/test-extra.js"] From //v8/BUILD.gn:149 List of extra files to snapshot. They will be snapshotted in order so if files export symbols used by later files, they should go first. This default is used by cctests. Projects using V8 will want to override. v8_gcmole Current value (from the default) = false From //v8/gni/v8.gni:26 Indicate if gcmole was fetched as a hook to make it available on swarming. v8_has_valgrind Current value (from the default) = false From //v8/gni/v8.gni:23 Indicate if valgrind was fetched as a custom deps to make it available on swarming. v8_imminent_deprecation_warnings Current value = false From //.gn:53 Overridden from the default = true From //v8/BUILD.gn:59 Enable compiler warnings when using V8_DEPRECATE_SOON apis. v8_monolithic Current value (from the default) = false From //v8/gni/v8.gni:55 Enable monolithic static library for embedders. v8_multi_arch_build Current value (from the default) = false From //v8/gni/v8.gni:19 Adds additional compile target for building multiple architectures at once. v8_no_inline Current value (from the default) = false From //v8/BUILD.gn:131 Switches off inlining in V8. v8_optimized_debug Current value (from the default) = true From //v8/gni/v8.gni:29 Turns on compiler optimizations in V8 in Debug build. v8_os_page_size Current value (from the default) = "0" From //v8/BUILD.gn:134 Override OS page size when generating snapshot v8_postmortem_support Current value (from the default) = false From //v8/BUILD.gn:125 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:71 Sets the number of internal fields on promise objects. v8_snapshot_toolchain Current value (from the default) = "" From //v8/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:52 Use static libraries instead of source_sets. 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_typed_array_max_size_in_heap Current value (from the default) = 64 From //v8/BUILD.gn:143 Controls the threshold for on-heap/off-heap Typed Arrays. v8_untrusted_code_mitigations Current value (from the default) = false From //v8/BUILD.gn:165 v8_use_external_startup_data Current value (from the default) = "" From //v8/gni/v8.gni:45 Use external files for startup data blobs: the JS builtins sources and the start snapshot. v8_use_mips_abi_hardfloat Current value (from the default) = true From //v8/BUILD.gn:140 Similar to the ARM hard float ABI but on MIPS. v8_use_multi_snapshots Current value (from the default) = false From //v8/gni/v8.gni:41 Enable several snapshots side-by-side (e.g. default and for trusted code). v8_use_siphash Current value (from the default) = false From //v8/BUILD.gn:128 Use Siphash as added protection against hash flooding attacks. v8_use_snapshot Current value (from the default) = true From //v8/gni/v8.gni:38 Enable the snapshot feature, for fast context creation. https://v8.dev/blog/custom-startup-snapshots TODO(thakis): Make snapshots work in 64-bit win/cross builds, https://803591 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.