前言

查资料时,看到如何看gn都提供什么参数列表了.
这样,编译chromium工程时,可以编译的更精细。

实验

可以将参数写到 Z:\chromium\src\out\my_x86_d\args.gn 中
编译时,执行 gn --ide=vs args out\my_x86_d
e.g.

# @file Z:\chromium\src\out\my_x86_d\args.gn
# @brief build chromium x86 release version
# @ref  https://www.chromium.org/developers/gn-build-configuration
#       https://blog.csdn.net/Vincent95/article/details/78477822
# @note
# cd /d Z:\chromium\src\
# gn --ide=vs args out\my_x86_d
# autoninja -C out\my_x86_d chrome
#
#
# args.gn begin
#
target_os="win"
target_cpu = "x86"
is_component_build = truedcheck_always_on = true
enable_nacl = falseuse_goma = false
symbol_level = 2
is_debug = true
is_win_fastlink = false
remove_webcore_debug_symbols = false# proprietary_codecs 和 media_use_ffmpeg 不兼容, 只能定义一个
# proprietary_codecs = true
# media_use_ffmpeg = true
# rtc_initialize_ffmpeg = true
# rtc_use_h264 = true
# use_openh264 = true
# ffmpeg_branding = "Chrome"
#
# args.gn end
#

得到gn支持的全部参数列表

gn --ide=vs args out\my_x86_d --list
action_pool_depthCurrent value (from the default) = -1From //build/toolchain/BUILD.gn:10Pool for non goma tasks.aec_untrusted_delay_for_testingCurrent value (from the default) = falseFrom //third_party/webrtc/modules/audio_processing/BUILD.gn:19Disables the usual mode where we trust the reported system delayvalues the AEC receives. The corresponding define is set appropriatelyin the code, but it can be force-enabled here for testing.allow_critical_memory_pressure_handling_in_foregroundCurrent value (from the default) = falseFrom //content/common/features.gni:13Whether to perform critical memory pressure handling when in foreground (iffalse, critical memory pressure is treated like moderate pressure in foreground).alternate_cdm_storage_id_keyCurrent value (from the default) = ""From //media/media_options.gni:160If |enable_cdm_storage_id| is set, then an implementation specific keymust 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_channelCurrent value (from the default) = "default"From //chrome/android/channel.gni:8The channel to build on Android: stable, beta, dev, canary, work, ordefault. "default" should be used on non-official builds.android_full_debugCurrent value (from the default) = falseFrom //build/config/compiler/BUILD.gn:47Normally, Android builds are lightly optimized, even for debug builds, tokeep binary size down. Setting this flag to true disables such optimizationangle_64bit_current_cpuCurrent value (from the default) = falseFrom //third_party/angle/gni/angle.gni:33angle_enable_d3d11Current value (from the default) = trueFrom //third_party/angle/gni/angle.gni:57angle_enable_d3d9Current value (from the default) = trueFrom //third_party/angle/gni/angle.gni:56angle_enable_esslCurrent value (from the default) = trueFrom //third_party/angle/gni/angle.gni:63angle_enable_glCurrent value (from the default) = trueFrom //third_party/angle/gni/angle.gni:58angle_enable_gl_nullCurrent value (from the default) = trueFrom //third_party/angle/gni/angle.gni:68angle_enable_glslCurrent value (from the default) = trueFrom //third_party/angle/gni/angle.gni:64angle_enable_hlslCurrent value (from the default) = trueFrom //third_party/angle/gni/angle.gni:69angle_enable_nullCurrent value (from the default) = trueFrom //third_party/angle/gni/angle.gni:62angle_enable_vulkanCurrent value (from the default) = trueFrom //third_party/angle/gni/angle.gni:60angle_enable_vulkan_validation_layersCurrent value (from the default) = trueFrom //third_party/angle/gni/angle.gni:73angle_libs_suffixCurrent value (from the default) = ""From //third_party/angle/gni/angle.gni:52angle_link_glxCurrent value (from the default) = falseFrom //third_party/angle/BUILD.gn:22Link in system libGL, to work with apitrace.  See doc/DebuggingTips.md.angle_shared_libvulkanCurrent value (from the default) = falseFrom //third_party/angle/gni/angle.gni:51apm_debug_dumpCurrent value (from the default) = falseFrom //third_party/webrtc/webrtc.gni:72Selects whether debug dumps for the audio processing moduleshould be generated.asan_globalsCurrent value (from the default) = trueFrom //build/config/sanitizers/sanitizers.gni:150Detect overflow/underflow for global objects.Mac: http://crbug.com/352073auto_profile_pathCurrent value (from the default) = ""From //build/config/compiler/BUILD.gn:91AFDO (Automatic Feedback Directed Optimizer) is a form of profile-guidedoptimization that GCC supports. It used by ChromeOS in their officialbuilds. To use it, set auto_profile_path to the path to a file containingthe needed gcov profiling data.binutils_pathCurrent value (from the default) = "../../third_party/binutils/Linux_x64/Release/bin"From //build/config/compiler/BUILD.gn:56blink_gc_pluginCurrent value (from the default) = trueFrom //third_party/blink/renderer/BUILD.gn:17Set to true to enable the clang plugin that checks the usage of the  Blinkgarbage-collection infrastructure during compilation.blink_gc_plugin_option_do_dump_graphCurrent value (from the default) = falseFrom //third_party/blink/renderer/BUILD.gn:21Set 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_trace_wrappers_missing_base_dispatchCurrent value (from the default) = falseFrom //third_party/blink/renderer/BUILD.gn:30Set to true to have the clang Blink GC plugin additionally check if aTraceWrappers method also dispatches to all its base classes.blink_gc_plugin_option_warn_unneeded_finalizerCurrent value (from the default) = falseFrom //third_party/blink/renderer/BUILD.gn:26Set to true to have the clang Blink GC plugin additionally check ifa class has an empty destructor which would be unnecessarily invokedwhen finalized.blink_symbol_levelCurrent value (from the default) = -1From //third_party/blink/renderer/config.gni:32How many symbols to include in the build of blink. This affectsthe performance of the build since the symbols are large and dealing withthem is slow.2 means regular build with symbols.1 means minimal symbols, usually enough for backtraces only. Symbols withinternal linkage (static functions or those in anonymous namespaces) may notappear when using this level.0 means no symbols.-1 means auto-set according to debug/release and platform.build_angle_deqp_testsCurrent value (from the default) = falseFrom //third_party/angle/src/tests/BUILD.gn:19Don't build dEQP by default.build_angle_gles1_conform_testsCurrent value (from the default) = falseFrom //third_party/angle/src/tests/BUILD.gn:20build_devil_arm_depsCurrent value (from the default) = falseFrom //build/secondary/third_party/catapult/devil/devil_arm.gni:8Whether to build Devil host dependencies for Linux arm, e.g. for use onRaspberry Pis.build_display_configurationCurrent value (from the default) = falseFrom //ui/display/display.gni:7Build Chrome OS display configuration code.build_libsrtp_testsCurrent value (from the default) = falseFrom //third_party/libsrtp/BUILD.gn:10Tests 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_samplesCurrent value (from the default) = falseFrom //third_party/sfntly/BUILD.gn:9Flip to true to build sfntly sample programs.build_with_mozillaCurrent value (from the default) = falseFrom //third_party/webrtc/webrtc.gni:87Enable to use the Mozilla internal settings.cc_wrapperCurrent value (from the default) = ""From //build/toolchain/cc_wrapper.gni:36Set to "ccache", "icecc" or "distcc".  Probably doesn't work on windows.chrome_pgo_phaseCurrent value (from the default) = 0From //build/config/compiler/pgo/pgo.gni:13Specify 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.clang_base_pathCurrent value (from the default) = "//third_party/llvm-build/Release+Asserts"From //build/config/clang/clang.gni:14clang_sample_profile_pathCurrent value (from the default) = ""From //build/config/compiler/BUILD.gn:112Path to an AFDO profile to use while building with clang, if any. Emptyimplies none.clang_use_chrome_pluginsCurrent value (from the default) = trueFrom //build/config/clang/clang.gni:12Indicates if the build should use the Chrome-specific plugins for enforcingcoding guidelines, etc. Only used when compiling with Clang.clang_use_default_sample_profileCurrent value (from the default) = falseFrom //build/config/compiler/BUILD.gn:120Some configurations have default sample profiles. If this is true andclang_sample_profile_path is empty, we'll fall back to the default.We currently only have default profiles for Chromium in-tree, so we disablethis by default for all downstream projects, since these profiles are likelynonsensical for said projects.clang_versionCurrent value (from the default) = "7.0.0"From //build/toolchain/toolchain.gni:51Clang compiler version. Clang files are placed at version-dependent paths.closure_compileCurrent value (from the default) = falseFrom //ui/webui/webui_features.gni:14Enable closure type-checking for Chrome's web technology-based UI. Thisenables the webui_closure_compile target which does a no-op without thisflag enabled. Requires Java.com_init_check_hook_disabledCurrent value (from the default) = falseFrom //base/BUILD.gn:52Set to true to disable COM init check hooks.compiler_timingCurrent value (from the default) = falseFrom //build/config/compiler/BUILD.gn:124Turn this on to have the compiler output extra timing information.compute_grit_inputs_for_analyzeCurrent value (from the default) = falseFrom //tools/grit/grit_rule.gni:106When set, this will fork out to grit at GN-time to get all inputsreferenced by the .grd file.Normal builds don't need this since proper incremental builds are handledby grit writing out the inputs in .d files at build-time. But for analyzeto work on the bots, it needs to know about all input files at GN-time soit knows which tests to trigger when something changes. This option willslow down the GN run.concurrent_linksCurrent value (from the default) = -1From //build/toolchain/concurrent_links.gni:19Limit the number of concurrent links; we often want to run fewerlinks at once than we do compiles, because linking is memory-intensive.The default to use varies by platform and by the amount of memoryavailable, so we call out to a script to get the right value.content_shell_product_nameCurrent value (from the default) = "Content Shell"From //content/shell/BUILD.gn:28content_shell_versionCurrent value (from the default) = "99.77.34.5"From //content/shell/BUILD.gn:29crashpad_dependenciesCurrent value = "chromium"From //.gn:69Overridden from the default = "standalone"From //third_party/crashpad/crashpad/build/crashpad_buildconfig.gni:19Determines various flavors of build configuration, and which concretetargets to use for dependencies. Valid values are "standalone", "chromium",and "fuchsia".current_cpuCurrent value (from the default) = ""(Internally set; try `gn help current_cpu`.)current_osCurrent value (from the default) = ""(Internally set; try `gn help current_os`.)custom_toolchainCurrent value (from the default) = ""From //build/config/BUILDCONFIG.gn:144Allows the path to a custom target toolchain to be injected as a singleargument, and set as the default toolchain.dcheck_always_onCurrent value = trueFrom //out/my_x86_d/args.gn:17Overridden from the default = falseFrom //build/config/dcheck_always_on.gni:14Set to true to enable dcheck in Release builds.dcheck_is_configurableCurrent value (from the default) = falseFrom //build/config/dcheck_always_on.gni:9Enables 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_devtoolsCurrent value (from the default) = falseFrom //third_party/blink/public/public_features.gni:12If debug_devtools is set to true, JavaScript files for DevTools are storedas is and loaded from disk. Otherwise, a concatenated file is stored inresources.pak. It is still possible to load JS files from disk by passing--debug-devtools cmdline switch.disable_brotli_filterCurrent value (from the default) = falseFrom //net/features.gni:27Do not disable brotli filter by default.disable_file_supportCurrent value (from the default) = falseFrom //net/features.gni:12Disables support for file URLs.  File URL support requires use of icu.disable_ftp_supportCurrent value (from the default) = falseFrom //net/features.gni:17disable_libfuzzerCurrent value (from the default) = falseFrom //build/config/sanitizers/sanitizers.gni:91Helper variable for testing builds with disabled libfuzzer.Not for client use.enable_ac3_eac3_audio_demuxingCurrent value (from the default) = falseFrom //media/media_options.gni:56Enables AC3/EAC3 audio demuxing. This is enabled only on Chromecast, sinceit only provides demuxing, and is only useful for AC3/EAC3 audiopass-through to HDMI sink on Chromecast.enable_app_listCurrent value (from the default) = falseFrom //chrome/common/features.gni:23enable_app_shell_installerCurrent value (from the default) = falseFrom //extensions/shell/installer/BUILD.gn:15enable_arcoreCurrent value (from the default) = falseFrom //device/vr/buildflags/buildflags.gni:44TODO(crbug.com/841389): We should eventually have a single flag forenabling arcore, but we currently don't support ARCore in 64bit, and we donot support all channels. This flag governs the inclusion of code that mustbe identical across configs.enable_av1_decoderCurrent value (from the default) = falseFrom //third_party/libaom/options.gni:5Enable decoding AV1 video files.enable_background_contentsCurrent value (from the default) = trueFrom //chrome/common/features.gni:26Enables support for background apps.enable_background_modeCurrent value (from the default) = trueFrom //chrome/common/features.gni:27enable_basic_print_dialogCurrent value (from the default) = trueFrom //chrome/common/features.gni:31Enable the printing system dialog for platforms that support printingand have a system dialog.enable_basic_printingCurrent value (from the default) = trueFrom //printing/buildflags/buildflags.gni:10Enable basic printing support and UI.enable_blink_heap_incremental_markingCurrent value (from the default) = trueFrom //third_party/blink/renderer/platform/heap/BUILD.gn:15Build Blink with incremental marking infrastructure for Oilpan.To turn on incremental marking also use--enable-blink-features=HeapIncrementalMarkingenable_blink_heap_verificationCurrent value (from the default) = falseFrom //third_party/blink/renderer/platform/heap/BUILD.gn:18Enables heap verification.enable_callgrindCurrent value (from the default) = falseFrom //third_party/pdfium/pdfium.gni:54Enable callgrind for performance profilingenable_captive_portal_detectionCurrent value (from the default) = trueFrom //chrome/common/features.gni:33enable_cbcs_encryption_schemeCurrent value (from the default) = trueFrom //media/media_options.gni:65Enable parsing for the 'cbcs' encryption scheme added by MPEG CommonEncryption 3rd Edition (ISO/IEC 23001-7), published 02/15/2016.enable_cdm_host_verificationCurrent value (from the default) = falseFrom //media/media_options.gni:149enable_cdm_storage_idCurrent value (from the default) = falseFrom //media/media_options.gni:153Enable Storage ID which is used by CDMs. This is only available with chromebranding, but may be overridden by other embedders.enable_cros_assistantCurrent value (from the default) = falseFrom //chromeos/assistant/assistant.gni:4Enable assistant features. Assistant related code is compiled only whentrue. The default assistant implementation is a stub.enable_cros_libassistantCurrent value (from the default) = falseFrom //chromeos/assistant/assistant.gni:8Enable assistant implementation based on libassistant. This requiresenable_cros_assistant also enabled.enable_cros_libassistant_soCurrent value (from the default) = falseFrom //chromeos/assistant/assistant.gni:12Enable building libassistant.so shared library from local checkout. This isfor development purposes only.enable_debugallocationCurrent value (from the default) = trueFrom //base/allocator/BUILD.gn:13Provide 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_helpCurrent value (from the default) = trueFrom //components/feature_engagement/features.gni:9In-Product Help is only available in Windows and Linux OS fordesktop. Other platforms such as Mac OS currently does not supportViews and there have been no strong feelings about CrOS.enable_dolby_vision_demuxingCurrent value (from the default) = falseFrom //media/media_options.gni:74Enable Dolby Vision demuxing. Enable by default for Chromecast. Actualdecoding must be provided by the platform. Note some Dolby Vision profileswhich are encoded using HEVC require |enable_hevc_demuxing| to be enabled.enable_extensionsCurrent value (from the default) = trueFrom //extensions/buildflags/buildflags.gni:8enable_feed_in_chromeCurrent value (from the default) = falseFrom //components/feed/features.gni:6enable_ffmpeg_video_decodersCurrent value (from the default) = trueFrom //media/media_options.gni:118On Android, FFMpeg is built without video decoders by default.This flag gives the option to override that decision in case there are nohardware decoders. To do so, you will also need to update ffmpeg build filesin order to define which decoders to build in.enable_full_stack_frames_for_profilingCurrent value (from the default) = falseFrom //build/config/compiler/BUILD.gn:64Compile in such a way as to make it possible for the profiler to unwind fullstack frames. Setting this flag has a large effect on the performance of thegenerated code than just setting profiling, but gives the profiler moreinformation to analyze.Requires profiling to be set to true.enable_google_nowCurrent value (from the default) = falseFrom //chrome/common/features.gni:37Google Now is disabled to prepare for its removal.http://crbug.com/539674enable_gvr_servicesCurrent value (from the default) = falseFrom //device/vr/buildflags/buildflags.gni:13TODO(733935): Enable for other Android architectures too. Currently we onlysupport arm and arm64.enable_hangout_services_extensionCurrent value (from the default) = falseFrom //chrome/common/features.gni:41Hangout services is an extension that adds extra features to Hangouts.It is enableable separately to facilitate testing.enable_hevc_demuxingCurrent value (from the default) = falseFrom //media/media_options.gni:69Enable HEVC/H265 demuxing. Actual decoding must be provided by theplatform. Enable by default for Chromecast.enable_hls_sample_aesCurrent value (from the default) = falseFrom //media/media_options.gni:77Enable HLS with SAMPLE-AES decryption.enable_internal_app_remoting_targetsCurrent value (from the default) = falseFrom //remoting/remoting_options.gni:18Set this to enable building internal AppRemoting apps.enable_ipc_fuzzerCurrent value (from the default) = falseFrom //tools/ipc_fuzzer/ipc_fuzzer.gni:15enable_ipc_loggingCurrent value (from the default) = trueFrom //ipc/features.gni:7Enabling debug builds automatically sets enable_ipc_logging to true.enable_iterator_debuggingCurrent value (from the default) = trueFrom //build/config/BUILD.gn:36When set (the default) enables C++ iterator debugging in debug builds.Iterator debugging is always off in release builds (technically, this flagaffects the "debug" config, which is always available but applied bydefault only in debug builds).Iterator debugging is generally useful for catching bugs. But it canintroduce extra locking to check the state of an iterator against the stateof the current object. For iterator- and thread-heavy code, this cansignificantly slow execution.enable_linux_installerCurrent value (from the default) = falseFrom //chrome/installer/BUILD.gn:11enable_location_sourceCurrent value (from the default) = trueFrom //base/BUILD.gn:44Indicates if the Location object contains the source code information(file, function, line). False means only the program counter (and currentlyfile name) is saved.enable_mdnsCurrent value (from the default) = trueFrom //net/features.gni:30Multicast DNS.enable_media_remotingCurrent value (from the default) = trueFrom //media/media_options.gni:241This switch defines whether the Media Remoting implementation will be built.When enabled, media is allowed to be renderer and played back on remotedevices when the tab is being casted and other conditions are met.enable_media_remoting_rpcCurrent value (from the default) = trueFrom //media/media_options.gni:247Media Remoting RPC is disabled on Android since it's unused but increasesthe native binary size by ~70Kb.enable_media_router_jscompileCurrent value (from the default) = falseFrom //chrome/browser/resources/media_router/extension/BUILD.gn:12Determines whether JSCompiler should be used to typecheckJavaScript code for the Media Router extension.enable_message_centerCurrent value (from the default) = trueFrom //ui/base/ui_features.gni:18Whether the message center should be included for displaying notifications.enable_mojo_mediaCurrent value (from the default) = trueFrom //media/media_options.gni:132enable_mojo_tracingCurrent value (from the default) = falseFrom //mojo/public/cpp/bindings/BUILD.gn:7enable_mojom_message_id_scramblingCurrent value (from the default) = trueFrom //mojo/public/tools/bindings/mojom.gni:33Controls message ID scrambling behavior. If |true|, message IDs arescrambled (i.e. randomized based on the contents of //chrome/VERSION) onnon-Chrome OS desktop platforms. Set to |false| to disable message IDscrambling on all platforms.enable_mojom_typemappingCurrent value (from the default) = trueFrom //mojo/public/tools/bindings/mojom.gni:27Indicates whether typemapping should be supported in this buildconfiguration. This may be disabled when building external projects whichdepend on //mojo but which do not need/want all of the Chromium treedependencies that come with typemapping.Note that (perhaps obviously) a huge amount of Chromium code will not buildwith typemapping disabled, so it is never valid to set this to |false| inany Chromium build configuration.enable_mpeg_h_audio_demuxingCurrent value (from the default) = falseFrom //media/media_options.gni:58enable_mse_mpeg2ts_stream_parserCurrent value (from the default) = falseFrom //media/media_options.gni:61enable_musCurrent value (from the default) = falseFrom //ui/base/ui_features.gni:21Set to true to if mus (aka the window service) is enabled.enable_mutex_priority_inheritanceCurrent value (from the default) = falseFrom //base/BUILD.gn:57Set to true to enable mutex priority inheritance. See the comments inLockImpl::PriorityInheritanceAvailable() in lock_impl_posix.cc for theplatform requirements to safely enable priority inheritance.enable_naclCurrent value = falseFrom //out/my_x86_d/args.gn:18Overridden from the default = trueFrom //components/nacl/features.gni:13enable_nacl_nonsfiCurrent value (from the default) = trueFrom //components/nacl/features.gni:18Non-SFI is not yet supported on mipselenable_native_notificationsCurrent value (from the default) = trueFrom //chrome/common/features.gni:44Enables usage of the system-provided notification center.enable_native_window_nav_buttonsCurrent value (from the default) = falseFrom //ui/views/features.gni:12enable_net_mojoCurrent value (from the default) = trueFrom //net/features.gni:45enable_nocompile_testsCurrent value (from the default) = falseFrom //build/nocompile.gni:63enable_oculus_vrCurrent value (from the default) = falseFrom //device/vr/buildflags/buildflags.gni:20To build with Oculus support, the Oculus SDK for Windows will need to beinstalled in third_party/libovr/src.  Seethird_party/libovr/README.chromium for details.enable_offline_pagesCurrent value (from the default) = falseFrom //components/offline_pages/buildflags/features.gni:8Whether to enable OfflinePages support. Currently user-visible featuresare Android-only.enable_offline_pages_harnessCurrent value (from the default) = falseFrom //components/offline_pages/buildflags/features.gni:12This enables test API for locally-built harness which is used for qualityevaluations. Requires setting this variable manually at local environment.enable_one_click_signinCurrent value (from the default) = trueFrom //chrome/common/features.gni:48enable_openvrCurrent value (from the default) = trueFrom //device/vr/buildflags/buildflags.gni:15enable_pdfCurrent value (from the default) = trueFrom //pdf/features.gni:12enable_pluginsCurrent value (from the default) = trueFrom //ppapi/buildflags/buildflags.gni:10enable_precompiled_headersCurrent value (from the default) = trueFrom //build/config/pch.gni:11Precompiled header file support is by default available,but for distributed build system uses (like goma) or whendoing official builds.enable_print_previewCurrent value (from the default) = trueFrom //printing/buildflags/buildflags.gni:16Enable printing with print preview. It implies enable_basic_printing.Note: It would be convenient to not repeat many of the same conditions inenable_basic_printing below. However, GN does not allow the use ofenable_basic_printing within the same declare_args() block.enable_profilingCurrent value (from the default) = falseFrom //build/config/compiler/compiler.gni:30Compile in such a way as to enable profiling of the generated code. Forexample, don't omit the frame pointer and leave in symbols.enable_reading_listCurrent value (from the default) = trueFrom //components/reading_list/features/reading_list.gni:8Controls whether reading list support is active or not. Currently onlysupported on iOS (on other platforms, the feature is always disabled).enable_remotingCurrent value (from the default) = trueFrom //remoting/remoting_enable.gni:12enable_remoting_jscompileCurrent value (from the default) = falseFrom //remoting/remoting_options.gni:15Set this to run the jscompile checks after building the webapp.enable_reportingCurrent value (from the default) = trueFrom //net/features.gni:33Reporting not used on iOS.enable_resource_whitelist_generationCurrent value (from the default) = falseFrom //build/config/android/config.gni:373Enables used resource whitelist generation. Set for official builds onlyas a large amount of build output is generated.enable_runtime_media_renderer_selectionCurrent value (from the default) = falseFrom //media/media_options.gni:144When enabled, this feature allows developers to use a runtime flag tochoose the implementation of the renderer that is used. On a build whichenables the mojo renderer, if --disable-mojo-renderer is passed at start-up,the "default" renderer will be used instead. Both renderer implementationswill be linked if this feature is enabled, increasing the binary size. Thisfeature does not make sense if the mojo renderer is not enabled.enable_service_discoveryCurrent value (from the default) = trueFrom //chrome/common/features.gni:50enable_session_serviceCurrent value (from the default) = trueFrom //chrome/common/features.gni:54Enables use of the session service, which is enabled by default.Android stores them separately on the Java side.enable_supervised_usersCurrent value (from the default) = trueFrom //chrome/common/features.gni:56enable_swiftshaderCurrent value (from the default) = trueFrom //ui/gl/BUILD.gn:15enable_test_mojo_media_clientCurrent value (from the default) = falseFrom //media/media_options.gni:136Enable the TestMojoMediaClient to be used in mojo MediaService. This is fortesting only and will override the default platform MojoMediaClient, if any.enable_vrCurrent value (from the default) = trueFrom //device/vr/buildflags/buildflags.gni:28enable_vulkanCurrent value (from the default) = falseFrom //gpu/vulkan/features.gni:9Enable experimental vulkan backend.enable_wayland_serverCurrent value (from the default) = falseFrom //chrome/common/features.gni:59Indicates if Wayland display server support is enabled.enable_websocketsCurrent value (from the default) = trueFrom //net/features.gni:16WebSockets and socket stream code are not used on iOS and are optional incronet.enable_widevineCurrent value (from the default) = falseFrom //third_party/widevine/cdm/widevine.gni:10Allow Widevine key system support in Chromium.enable_wifi_displayCurrent value (from the default) = falseFrom //extensions/buildflags/buildflags.gni:12Enables Wi-Fi Display functionalityWARNING: This enables MPEG Transport Stream (MPEG-TS) encoding!fatal_linker_warningsCurrent value (from the default) = trueFrom //build/config/compiler/BUILD.gn:80Enable fatal linker warnings. Building Chromium with certain versionsof binutils can cause linker warning.See: https://bugs.chromium.org/p/chromium/issues/detail?id=457359ffmpeg_brandingCurrent value (from the default) = "Chromium"From //third_party/ffmpeg/ffmpeg_options.gni:34Controls whether we build the Chromium or Google Chrome version of FFmpeg.The Google Chrome version contains additional codecs. Typical values areChromium, Chrome, and ChromeOS.ffmpeg_use_atomics_fallbackCurrent value (from the default) = falseFrom //third_party/ffmpeg/ffmpeg_options.gni:51Set 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 uponclang's -frewrite-includes flag which is broken with #include_nextdirectives as used in chromium's clang stdatomic.h.Some background: https://bugs.llvm.org/show_bug.cgi?id=26828fieldtrial_testing_like_official_buildCurrent value (from the default) = falseFrom //build/config/features.gni:46Set to true make a build that disables activation of field trial testsspecified in testing/variations/fieldtrial_testing_config_*.json.Note: this setting is ignored if is_chrome_branded.full_wpo_on_officialCurrent value (from the default) = falseFrom //build/config/compiler/compiler.gni:156generate_linker_mapCurrent value (from the default) = falseFrom //build/toolchain/toolchain.gni:28Used for binary size analysis.Currently disabled on LLD because of a bug (fixed upstream).See https://crbug.com/716209.generate_order_filesCurrent value (from the default) = falseFrom //build/config/chrome_build.gni:17Turn this on to generate order files. Seehttps://chromium.googlesource.com/chromium/src/+/master/docs/win_order_files.mdgold_pathCurrent value (from the default) = falseFrom //build/config/compiler/BUILD.gn:68When we are going to use gold we need to find it.This is initialized below, after use_gold might have been overridden.goma_dirCurrent value (from the default) = "C:\src\goma\goma-win64"From //build/toolchain/goma.gni:14Absolute directory containing the gomacc.exe binary.google_api_keyCurrent value (from the default) = ""From //google_apis/BUILD.gn:46Set these to bake the specified API keys and OAuth clientIDs/secrets into your build.If you create a build without values baked in, you can insteadset environment variables to provide the keys at runtime (seesrc/google_apis/google_api_keys.h for details).  Features thatrequire server-side APIs may fail to work if no keys areprovided.Note that if you are building an official build or ifuse_official_google_api_keys has been set to trie (explicitly orimplicitly), these values will be ignored and the officialkeys will be used instead.google_default_client_idCurrent value (from the default) = ""From //google_apis/BUILD.gn:49See google_api_key.google_default_client_secretCurrent value (from the default) = ""From //google_apis/BUILD.gn:52See google_api_key.has_native_accessibilityCurrent value (from the default) = trueFrom //ui/base/ui_features.gni:15Whether the platform provides a native accessibility toolkit.headless_fontconfig_utilsCurrent value (from the default) = falseFrom //headless/headless.gni:10Provide bindings for font loading for headless embedders.headless_use_embedded_resourcesCurrent value (from the default) = falseFrom //headless/headless.gni:7Embed resource.pak file into the binary for easier distribution.host_byteorderCurrent value (from the default) = "undefined"From //build/config/host_byteorder.gni:9host_cpuCurrent value (from the default) = "x64"(Internally set; try `gn help host_cpu`.)host_osCurrent value (from the default) = "win"(Internally set; try `gn help host_os`.)host_pkg_configCurrent value (from the default) = ""From //build/config/linux/pkg_config.gni:36A optional pkg-config wrapper to use for tools built on the host.host_toolchainCurrent value (from the default) = ""From //build/config/BUILDCONFIG.gn:148This should not normally be set as a build argument.  It's here so thatevery toolchain can pass through the "global" value via toolchain_args().icu_use_data_fileCurrent value (from the default) = trueFrom //third_party/icu/config.gni:15Tells icu to load an external data file rather than rely on the icudatabeing linked directly into the binary.This flag is a bit confusing. As of this writing, icu.gyp set the value to0 but common.gypi sets the value to 1 for most platforms (and the 1 takesprecedence).TODO(GYP) We'll probably need to enhance this logic to set the value totrue or false in similar circumstances.ignore_elf32_limitationsCurrent value (from the default) = falseFrom //build_overrides/build.gni:41Android 32-bit non-component, non-clang builds cannot have symbol_level=2due to 4GiB file size limit, see https://crbug.com/648948.Set this flag to true to skip the assertion.include_transport_security_state_preload_listCurrent value (from the default) = trueFrom //net/features.gni:41Includes the transport security state preload list. This list includesmechanisms (e.g. HSTS, HPKP) to enforce trusted connections to a significantset of hardcoded domains. While this list has a several hundred KB of binarysize footprint, this flag should not be disabled unless the embedder iswilling to take the responsibility to make sure that all importantconnections use HTTPS.include_vr_dataCurrent value (from the default) = falseFrom //device/vr/buildflags/buildflags.gni:32Whether to include VR extras like test APKs in non-VR-specific targetsinternal_gles2_conform_testsCurrent value (from the default) = falseFrom //gpu/gles2_conform_support/BUILD.gn:7Set to true to compile with the OpenGL ES 2.0 conformance tests.internal_khronos_glcts_testsCurrent value (from the default) = falseFrom //gpu/khronos_glcts_support/BUILD.gn:8ios_deployment_targetCurrent value (from the default) = "10.0"From //build/config/ios/ios_sdk_overrides.gni:10Version of iOS that we're targeting.is_asanCurrent value (from the default) = falseFrom //build/config/sanitizers/sanitizers.gni:11Compile for Address Sanitizer to find memory bugs.is_cast_audio_onlyCurrent value (from the default) = falseFrom //build/config/chromecast_build.gni:14Set this true for an audio-only Chromecast build.is_cast_desktop_buildCurrent value (from the default) = falseFrom //build/config/chromecast_build.gni:26True if Chromecast build is targeted for linux desktop. This type of buildis useful for testing and development, but currently supports only a subsetof 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_backendCurrent value (from the default) = trueFrom //media/media_options.gni:80If true, use cast CMA backend instead of default chromium media pipeline.is_cfiCurrent value (from the default) = falseFrom //build/config/sanitizers/sanitizers.gni:53Compile with Control Flow Integrity to protect virtual calls and casts.See http://clang.llvm.org/docs/ControlFlowIntegrity.htmlTODO(pcc): Remove this flag if/when CFI is enabled in all official builds.is_chrome_brandedCurrent value (from the default) = falseFrom //build/config/chrome_build.gni:9Select the desired branding flavor. False means normal Chromium branding,true means official Google Chrome branding (requires extra Google-internalresources).is_chromecastCurrent value (from the default) = falseFrom //build/config/chromecast_build.gni:11Set this true for a Chromecast build. Chromecast builds are supported onLinux and Android.is_clangCurrent value (from the default) = trueFrom //build/config/BUILDCONFIG.gn:137Set to true when compiling with the Clang compiler.is_component_buildCurrent value = trueFrom //out/my_x86_d/args.gn:15Overridden from the default = trueFrom //build/config/BUILDCONFIG.gn:165Component 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 seehttps://chromium.googlesource.com/chromium/src/+/master/docs/component_build.mdis_component_ffmpegCurrent value (from the default) = trueFrom //third_party/ffmpeg/ffmpeg_options.gni:41Set true to build ffmpeg as a shared library. NOTE: this means we shouldalways consult is_component_ffmpeg instead of is_component_build forffmpeg targets. This helps linux chromium packagers that swap out ourffmpeg.so with their own. See discussion herehttps://groups.google.com/a/chromium.org/forum/#!msg/chromium-packagers/R5rcZXWxBEQ/B6k0zzmJbvcJis_debugCurrent value = trueFrom //out/my_x86_d/args.gn:22Overridden from the default = trueFrom //build/config/BUILDCONFIG.gn:155Debug build. Enabling official builds automatically sets is_debug to false.is_desktop_linuxCurrent value (from the default) = falseFrom //build/config/BUILDCONFIG.gn:134Whether we're a traditional desktop unix.is_lsanCurrent value (from the default) = falseFrom //build/config/sanitizers/sanitizers.gni:14Compile for Leak Sanitizer to find leaks.is_msanCurrent value (from the default) = falseFrom //build/config/sanitizers/sanitizers.gni:17Compile for Memory Sanitizer to find uninitialized reads.is_multi_dll_chromeCurrent value (from the default) = falseFrom //build/config/chrome_build.gni:13Break chrome.dll into multple pieces based on process type. Only availableon Windows.is_nacl_glibcCurrent value (from the default) = falseFrom //build/config/nacl/config.gni:9Native Client supports both Newlib and Glibc C libraries where Newlibis assumed to be the default one; use this to determine whether Glibcis being used instead.is_official_buildCurrent value (from the default) = falseFrom //build/config/BUILDCONFIG.gn:131Set to enable the official build level of optimization. This has nothingto do with branding, but enables an additional level of optimization aboverelease (!is_debug). This might be better expressed as a tri-state(debug, release, official) but for historical reasons there are twoseparate flags.is_proto_quicCurrent value (from the default) = falseFrom //net/features.gni:9If true, prune things down as needed for proto-quic build.is_tsanCurrent value (from the default) = falseFrom //build/config/sanitizers/sanitizers.gni:20Compile for Thread Sanitizer to find threading bugs.is_ubsanCurrent value (from the default) = falseFrom //build/config/sanitizers/sanitizers.gni:24Compile for Undefined Behaviour Sanitizer to find various types ofundefined behaviour (excludes vptr checks).is_ubsan_no_recoverCurrent value (from the default) = falseFrom //build/config/sanitizers/sanitizers.gni:27Halt the program if a problem is detected.is_ubsan_nullCurrent value (from the default) = falseFrom //build/config/sanitizers/sanitizers.gni:30Compile for Undefined Behaviour Sanitizer's null pointer checks.is_ubsan_securityCurrent value (from the default) = falseFrom //build/config/sanitizers/sanitizers.gni:83Enables core ubsan security features. Will later be removed once it matchesis_ubsan.is_ubsan_vptrCurrent value (from the default) = falseFrom //build/config/sanitizers/sanitizers.gni:33Compile for Undefined Behaviour Sanitizer's vptr checks.is_unsafe_developer_buildCurrent value (from the default) = trueFrom //base/BUILD.gn:49Unsafe developer build. Has developer-friendly features that may weaken ordisable security measures like sandboxing or ASLR.IMPORTANT: Unsafe developer builds should never be distributed to end users.is_win_fastlinkCurrent value = falseFrom //out/my_x86_d/args.gn:23Overridden from the default = falseFrom //build/config/compiler/compiler.gni:51Tell VS to create a PDB that references information in .obj files ratherthan copying it all. This should improve linker performance. mspdbcmf.execan be used to convert a fastlink pdb to a normal one.jumbo_build_excludedCurrent value (from the default) = []From //build/config/jumbo.gni:15A list of targets to exclude from jumbo builds, for optimal round trip timewhen frequently changing a set of cpp files.jumbo_file_merge_limitCurrent value (from the default) = -1From //build/config/jumbo.gni:31How many files to group at most. Smaller numbers give moreparallellism, higher numbers give less total CPU usage. Highernumbers also give longer single-file recompilation times.Recommendations:Higher numbers than 100 does not reduce wall clock compile timeseven 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 and3% wall clock time in a tree with blink, v8 and contentjumbofied. At the same time it increases the compile time for thelargest jumbo chunks by 10-20% and reduces the chance to use allavailable CPU cores. So set the default to 50 to balance betweenhigh and low-core build performance. -1 means do the default whichvaries depending on whether goma is enabled.libcpp_is_staticCurrent value (from the default) = falseFrom //build/config/c++/c++.gni:33ASan, MSan and TSan builds need to override operator new, operator delete,and some exception handling symbols, so libc++ must be a shared library toprevent duplicate symbol errors when linking.Additionally, -fsanitize=vptr requires libc++ to be a shared librarybecause the ubsan runtime library that implements -fsanitize=vptr callsdynamic_cast with the ABI type info classes, which won't return the rightanswer if each DSO has its own copy of the ABI classes.libyuv_disable_jpegCurrent value (from the default) = falseFrom //third_party/libyuv/libyuv.gni:15libyuv_include_testsCurrent value (from the default) = falseFrom //third_party/libyuv/libyuv.gni:14libyuv_symbols_visibleCurrent value (from the default) = falseFrom //third_party/libyuv/BUILD.gn:19When building a shared library using a target in WebRTC orChromium projects that depends on libyuv, setting this flagto true makes libyuv symbols visible inside that library.libyuv_use_gflagsCurrent value (from the default) = trueFrom //third_party/libyuv/BUILD.gn:14Set to false to disable building with gflags.libyuv_use_msaCurrent value (from the default) = falseFrom //third_party/libyuv/libyuv.gni:18libyuv_use_neonCurrent value (from the default) = falseFrom //third_party/libyuv/libyuv.gni:16link_pulseaudioCurrent value (from the default) = falseFrom //media/media_options.gni:33Allows distributions to link pulseaudio directly (DT_NEEDED) instead ofusing dlopen. This helps with automated detection of ABI mismatches andprevents silent errors.linux_use_bundled_binutilsCurrent value (from the default) = falseFrom //build/config/compiler/BUILD.gn:54llvm_force_head_revisionCurrent value (from the default) = falseFrom //build/toolchain/toolchain.gni:18If this is set to true, or if LLVM_FORCE_HEAD_REVISION is set to 1in the environment, we use the revision in the llvm repo to determinethe CLANG_REVISION to use, instead of the version hard-coded into//tools/clang/scripts/update.py. This should only be used inconjunction with setting LLVM_FORCE_HEAD_REVISION in theenvironment when `gclient runhooks` is run as well.mac_sdk_minCurrent value (from the default) = "10.12"From //build/config/mac/mac_sdk_overrides.gni:12mac_views_browserCurrent value (from the default) = falseFrom //ui/base/ui_features.gni:12Whether the entire browser uses toolkit-views on Mac instead of Cocoa.media_use_ffmpegCurrent value (from the default) = trueFrom //media/media_options.gni:38Enable usage of FFmpeg within the media library. Used for most softwarebased decoding, demuxing, and sometimes optimized FFTs. If disabled,implementors must provide their own demuxers and decoders.media_use_libvpxCurrent value (from the default) = trueFrom //media/media_options.gni:42Enable usage of libvpx within the media library. Used for software baseddecoding of VP9 and VP8A type content.mojo_media_hostCurrent value (from the default) = "none"From //media/media_options.gni:198The process that the mojo MediaService runs in. By default, all servicesregistered in |mojo_media_services| are hosted in the MediaService, with theexception that when |enable_library_cdms| is true, the "cdm" service willrun in a separate CdmService in the CDM (utility) process, while other|mojo_media_services| still run in the MediaService in the process specifiedby "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_servicesCurrent value (from the default) = []From //media/media_options.gni:185A 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 mediaRenderer. Cannot be used with the mojo Renderer above.- "video_decoder": Use mojo-based video decoder in the default mediaRenderer. Cannot be used with the mojo Renderer above.mojom_message_id_salt_pathCurrent value (from the default) = "//chrome/VERSION"From //mojo/public/tools/bindings/mojom.gni:80The path to a file whose contents can be used as the basis for a messageID scrambling salt.mojom_message_id_salt_suffix_pathCurrent value (from the default) = ""From //mojo/public/tools/bindings/mojom.gni:90msan_track_originsCurrent value (from the default) = 2From //build/config/sanitizers/sanitizers.gni:38Track where uninitialized memory originates from. From fastest to slowest:0 - no tracking, 1 - track only the initial allocation site, 2 - track thechain of stores leading from allocation site to use site.msvc_use_absolute_pathsCurrent value (from the default) = falseFrom //build/toolchain/toolchain.gni:32Use absolute file paths in the compiler diagnostics and __FILE__ macroif needed.msvs_xtree_patchedCurrent value (from the default) = falseFrom //build/config/compiler/BUILD.gn:74Whether the VS xtree header has been patched to disable warning 4702. Ifit has, then we don't need to disable 4702 (unreachable code warning).The patch is preapplied to the internal toolchain and hence all bots.ndk_supports_nativewindowCurrent value (from the default) = falseFrom //third_party/angle/gni/angle.gni:42ndk_supports_vulkanCurrent value (from the default) = falseFrom //third_party/angle/gni/angle.gni:41optimize_for_fuzzingCurrent value (from the default) = falseFrom //build/config/compiler/BUILD.gn:95Optimize for coverage guided fuzzing (balance between speed and number ofbranches)optimize_webuiCurrent value (from the default) = falseFrom //ui/webui/webui_features.gni:9Optimize parts of Chrome's UI written with web technologies (HTML/CSS/JS)for runtime performance purposes. This does more work at compile time forspeed benefits at runtime (so we skip in debug builds).override_build_dateCurrent value (from the default) = "N/A"From //base/BUILD.gn:39Override this value to give a specific build date.See //base/build_time.cc and //build/write_build_date_header.py for moredetails and the expected format.ozone_auto_platformsCurrent value (from the default) = falseFrom //ui/ozone/ozone.gni:10Select platforms automatically. Turn this off for manual control.ozone_platformCurrent value (from the default) = ""From //ui/ozone/ozone.gni:16The platform that will used at runtime by default. This can be overriddenwith the command line flag --ozone-platform=<platform>.ozone_platform_castCurrent value (from the default) = falseFrom //ui/ozone/ozone.gni:19Compile the 'cast' platform.ozone_platform_gbmCurrent value (from the default) = falseFrom //ui/ozone/ozone.gni:22Compile the 'gbm' platform.ozone_platform_headlessCurrent value (from the default) = falseFrom //ui/ozone/ozone.gni:25Compile the 'headless' platform.ozone_platform_waylandCurrent value (from the default) = falseFrom //ui/ozone/ozone.gni:31Compile the 'wayland' platform.ozone_platform_windowsCurrent value (from the default) = falseFrom //ui/ozone/ozone.gni:34Compile the 'windows' platform.ozone_platform_x11Current value (from the default) = falseFrom //ui/ozone/ozone.gni:28Compile the 'x11' platform.package_arcoreCurrent value (from the default) = falseFrom //device/vr/buildflags/buildflags.gni:37TODO(crbug.com/837999, crbug.com/841389): We currently only support arm andwe are limiting to canary and dev until binary size issues are resolved.TODO(crbug.com/845080): add android_channel == "dev" || "canary"pdf_bundle_freetypeCurrent value (from the default) = falseFrom //third_party/pdfium/pdfium.gni:16Build PDFium either:1) When set to true, with a bundled FreeType, built from FreeType sourcecode in //third_party/freetype and PDFium's FreeType configs inthird_party/freetype/include.2) When set to false, use whatever FreeType target is defined in//build/config/freetype.pdf_enable_v8Current value (from the default) = trueFrom //third_party/pdfium/pdfium.gni:19Build PDFium either with or without v8 support.pdf_enable_xfaCurrent value (from the default) = falseFrom //third_party/pdfium/pdfium.gni:22Build PDFium either with or without XFA Forms support.pdf_enable_xfa_bmpCurrent value (from the default) = trueFrom //third_party/pdfium/pdfium.gni:25If XFA, also support bmp codec. Ignored if not XFA.pdf_enable_xfa_gifCurrent value (from the default) = trueFrom //third_party/pdfium/pdfium.gni:28If XFA, also support gif codec. Ignored if not XFA.pdf_enable_xfa_pngCurrent value (from the default) = trueFrom //third_party/pdfium/pdfium.gni:31If XFA, also support png codec. Ignored if not XFA.pdf_enable_xfa_tiffCurrent value (from the default) = trueFrom //third_party/pdfium/pdfium.gni:34If XFA, also support png codec. Ignored if not XFA.pdf_is_complete_libCurrent value (from the default) = falseFrom //third_party/pdfium/pdfium.gni:51Build a complete static librarypdf_is_standaloneCurrent value (from the default) = falseFrom //third_party/pdfium/pdfium.gni:48Build PDFium standalonepdf_use_skiaCurrent value (from the default) = falseFrom //third_party/pdfium/pdfium.gni:38Build PDFium against Skia (experimental) rather than AGG. Use Skia to draweverything.pdf_use_skia_pathsCurrent value (from the default) = falseFrom //third_party/pdfium/pdfium.gni:42Build PDFium against Skia (experimental) rather than AGG. Use Skia to drawpaths.pdf_use_win32_gdiCurrent value (from the default) = trueFrom //third_party/pdfium/pdfium.gni:45Build PDFium with or without experimental win32 GDI APIs.pgo_buildCurrent value (from the default) = falseFrom //chrome/common/features.gni:62Indicates if the build is using PGO.pgo_data_pathCurrent value (from the default) = ""From //build/config/compiler/pgo/pgo.gni:16When using chrome_pgo_phase = 2, read profile data from this path.pkg_configCurrent value (from the default) = ""From //build/config/linux/pkg_config.gni:33A pkg-config wrapper to call instead of trying to find and call the rightpkg-config directly. Wrappers like this are common in cross-compilationenvironments.Leaving it blank defaults to searching PATH for 'pkg-config' and relying onthe sysroot mechanism to find the right .pc files.proprietary_codecsCurrent value (from the default) = falseFrom //build/config/features.gni:29Enables 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 itout of //build will require using the build_overrides directory.remove_webcore_debug_symbolsCurrent value = falseFrom //out/my_x86_d/args.gn:24Overridden from the default = falseFrom //third_party/blink/renderer/config.gni:21TODO: send a PSA out to tell people to switch to blink_symbol_leveland remove this.If true, doesn't compile debug symbols into webcore reducing thesize of the binary and increasing the speed of gdb.ro_segment_workaround_for_valgrindCurrent value (from the default) = falseFrom //build/config/compiler/BUILD.gn:129Set to true to pass --no-rosegment to lld. This is a workaroundfor a KI issue in Valgrind,https://bugs.kde.org/show_bug.cgi?id=384727root_extra_depsCurrent value (from the default) = []From //BUILD.gn:37A list of extra dependencies to add to the root target. This allows acheckout to add additional targets without explicitly changing any checked-in files.rtc_audio_device_plays_sinus_toneCurrent value (from the default) = falseFrom //third_party/webrtc/webrtc.gni:139When 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 realaudio samples from NetEQ, a sinus tone will be generated and replace thereal audio samples.rtc_build_examplesCurrent value (from the default) = trueFrom //third_party/webrtc/webrtc.gni:78Set this to false to skip building examples.rtc_build_jsonCurrent value (from the default) = trueFrom //third_party/webrtc/webrtc.gni:171Disable these to not build components which can be externally provided.rtc_build_libeventCurrent value (from the default) = falseFrom //third_party/webrtc/webrtc.gni:184rtc_build_libsrtpCurrent value (from the default) = trueFrom //third_party/webrtc/webrtc.gni:172rtc_build_libvpxCurrent value (from the default) = trueFrom //third_party/webrtc/webrtc.gni:173rtc_build_opusCurrent value (from the default) = trueFrom //third_party/webrtc/webrtc.gni:175rtc_build_sslCurrent value (from the default) = trueFrom //third_party/webrtc/webrtc.gni:176rtc_build_toolsCurrent value (from the default) = trueFrom //third_party/webrtc/webrtc.gni:81Set this to false to skip building tools.rtc_build_usrsctpCurrent value (from the default) = trueFrom //third_party/webrtc/webrtc.gni:177rtc_build_with_neonCurrent value (from the default) = falseFrom //third_party/webrtc/webrtc.gni:119rtc_builtin_ssl_root_certificatesCurrent value (from the default) = trueFrom //third_party/webrtc/webrtc.gni:37Setting this to false will require the API user to pass in their ownSSLCertificateVerifier to verify the certificates presented from aTLS-TURN server. In return disabling this saves around 100kb in the binary.rtc_enable_android_aaudioCurrent value (from the default) = falseFrom //third_party/webrtc/webrtc.gni:91Enable use of Android AAudio which requires Android SDK 26 or above andNDK r16 or above.rtc_enable_android_openslCurrent value (from the default) = falseFrom //third_party/webrtc/webrtc.gni:94TODO(henrika): can this flag be removed?rtc_enable_bwe_test_loggingCurrent value (from the default) = falseFrom //third_party/webrtc/webrtc.gni:75Set this to true to enable BWE test logging.rtc_enable_external_authCurrent value (from the default) = trueFrom //third_party/webrtc/webrtc.gni:68Enable when an external authentication mechanism is used for performingpacket authentication for RTP packets instead of libsrtp.rtc_enable_intelligibility_enhancerCurrent value (from the default) = falseFrom //third_party/webrtc/webrtc.gni:64Disable the code for the intelligibility enhancer by default.rtc_enable_libeventCurrent value (from the default) = falseFrom //third_party/webrtc/webrtc.gni:183rtc_enable_protobufCurrent value (from the default) = trueFrom //third_party/webrtc/webrtc.gni:165Enables the use of protocol buffers for debug recordings.rtc_enable_sctpCurrent value (from the default) = trueFrom //third_party/webrtc/webrtc.gni:168Set this to disable building with support for SCTP data channels.rtc_include_ilbcCurrent value = falseFrom //.gn:65Overridden from the default = trueFrom //third_party/webrtc/webrtc.gni:40Include the iLBC audio codec?rtc_include_internal_audio_deviceCurrent value (from the default) = falseFrom //third_party/webrtc/webrtc.gni:199Chromium uses its own IO handling, so the internal ADM is only built forstandalone WebRTC.rtc_include_opusCurrent value (from the default) = trueFrom //third_party/webrtc/webrtc.gni:43Disable this to avoid building the Opus audio codec.rtc_include_pulse_audioCurrent value (from the default) = falseFrom //third_party/webrtc/webrtc.gni:195Excluded in Chromium since its prerequisites don't require Pulse Audio.rtc_include_testsCurrent value (from the default) = falseFrom //third_party/webrtc/webrtc.gni:202Include tests in standalone checkout.rtc_initialize_ffmpegCurrent value (from the default) = falseFrom //third_party/webrtc/webrtc.gni:150FFmpeg must be initialized for |H264DecoderImpl| to work. This can be doneby WebRTC during |H264DecoderImpl::InitDecode| or externally. FFmpeg mustonly be initialized once. Projects that initialize FFmpeg externally, suchas Chromium, must turn this flag off so that WebRTC does not alsoinitialize.rtc_jsoncpp_rootCurrent value (from the default) = "//third_party/jsoncpp/source/include"From //third_party/webrtc/webrtc.gni:54Used to specify an external Jsoncpp include path when not compiling thelibrary that comes with WebRTC (i.e. rtc_build_json == 0).rtc_libvpx_build_vp9Current value (from the default) = trueFrom //third_party/webrtc/webrtc.gni:174rtc_link_task_queue_implCurrent value = falseFrom //.gn:60Overridden from the default = trueFrom //third_party/webrtc/webrtc.gni:111Links a default implementation of task queues to targetsthat depend on the target rtc_task_queue. Set to false touse an external implementation.rtc_opus_support_120ms_ptimeCurrent value (from the default) = trueFrom //third_party/webrtc/webrtc.gni:47Enable this if the Opus version upon which WebRTC is built supports directencoding of 120 ms packets.rtc_opus_variable_complexityCurrent value (from the default) = falseFrom //third_party/webrtc/webrtc.gni:50Enable this to let the Opus audio codec change complexity on the fly.rtc_prefer_fixed_pointCurrent value (from the default) = falseFrom //third_party/webrtc/webrtc.gni:61Selects fixed-point code where possible.rtc_sanitize_coverageCurrent value (from the default) = ""From //third_party/webrtc/webrtc.gni:106Set 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_rootCurrent value (from the default) = ""From //third_party/webrtc/webrtc.gni:58Used to specify an external OpenSSL include path when not compiling thelibrary that comes with WebRTC (i.e. rtc_build_ssl == 0).rtc_use_builtin_sw_codecsCurrent value (from the default) = trueFrom //third_party/webrtc/webrtc.gni:153Disable this to build without support for built-in software codecs.rtc_use_dummy_audio_file_devicesCurrent value (from the default) = falseFrom //third_party/webrtc/webrtc.gni:133By default, use normal platform audio support or dummy audio, but don'tuse file-based audio playout and record.rtc_use_gtkCurrent value (from the default) = falseFrom //third_party/webrtc/webrtc.gni:192Build sources requiring GTK. NOTICE: This is not present in Chrome OSbuild environments, even if available for Chromium builds.rtc_use_h264Current value (from the default) = falseFrom //third_party/webrtc/webrtc.gni:129Enable this to build OpenH264 encoder/FFmpeg decoder. This is supported onall platforms except Android and iOS. Because FFmpeg can be builtwith/without H.264 support, |ffmpeg_branding| has to separately be set to avalue that includes H.264, for example "Chrome". If FFmpeg is built withoutH.264, compilation succeeds but |H264DecoderImpl| fails to initialize. Seealso: |rtc_initialize_ffmpeg|.CHECK THE OPENH264, FFMPEG AND H.264 LICENSES/PATENTS BEFORE BUILDING.http://www.openh264.org, https://www.ffmpeg.org/rtc_use_ltoCurrent value (from the default) = falseFrom //third_party/webrtc/webrtc.gni:99Link-Time Optimizations.Executes code generation at link-time instead of compile-time.https://gcc.gnu.org/wiki/LinkTimeOptimizationrtc_use_memcheckCurrent value (from the default) = falseFrom //third_party/webrtc/webrtc.gni:143When set to true, test targets will declare the files needed to run memcheckas data dependencies. This is to enable memcheck execution on swarming bots.rtc_use_x11Current value (from the default) = falseFrom //third_party/webrtc/webrtc.gni:84Set this to false to skip building code that requires X11.runtime_call_stats_count_everythingCurrent value (from the default) = falseFrom //third_party/blink/renderer/platform/BUILD.gn:223safe_browsing_modeCurrent value (from the default) = 1From //build/config/features.gni:40sample_profile_is_accurateCurrent value (from the default) = falseFrom //build/config/compiler/compiler.gni:90Whether we should consider the profile we're using to be accurate. Accurateprofiles have the benefit of (potentially substantial) binary sizereductions, by instructing the compiler to optimize cold and uncoveredfunctions heavily for size. This often comes at the cost of performance.sanitizer_coverage_flagsCurrent value (from the default) = ""From //build/config/sanitizers/sanitizers.gni:99Value for -fsanitize-coverage flag. Setting this causesuse_sanitizer_coverage to be enabled.Default value when unset and use_fuzzing_engine=true:trace-pc-guardDefault value when unset and use_sanitizer_coverage=true:trace-pc-guard,indirect-callssanitizer_keep_symbolsCurrent value (from the default) = falseFrom //build/config/sanitizers/sanitizers.gni:105Keep symbol level when building with sanitizers. When sanitizers areenabled, the default is to compile with the minimum debug info levelnecessary, overriding any other symbol level arguments that may be set.Setting this to true prevents this.sanitizer_no_symbolsCurrent value (from the default) = falseFrom //build/config/sanitizers/sanitizers.gni:109Builds fuzzer/sanitizers without symbols.  Use with symbol_level=0.Useful for reducing binary size when building with use_clang_coverage=true.single_module_mode_handle_verifierCurrent value (from the default) = falseFrom //base/win/BUILD.gn:10Indicates if the handle verifier should operate in a single module mode. Bydefault a single instance gets shared by all the modules.skia_whitelist_serialized_typefacesCurrent value (from the default) = falseFrom //skia/BUILD.gn:25skip_archive_compressionCurrent value (from the default) = trueFrom //chrome/installer/mini_installer/BUILD.gn:20The Chrome archive is compressed in official builds to reduce the size ofthe installer. By default: non-official or component builds, a build modetargeting developers, do not compress so as to provide quicker build-testcycles.strip_absolute_paths_from_debug_symbolsCurrent value (from the default) = falseFrom //build/config/compiler/BUILD.gn:102Optimize symbol files for maximizing goma cache hit rate. This is on bydefault only when goma is enabled on Linux because setting this to true maymake it harder to debug binaries.See below reference for detail.https://chromium.googlesource.com/chromium/src/+/master/docs/linux_debugging.md#Source-level-debug-with-fdebug-prefix-mapstrip_debug_infoCurrent value (from the default) = falseFrom //build/config/compiler/BUILD.gn:108Strip the debug info of symbols file in lib.unstripped to reduce size.symbol_levelCurrent value = 2From //out/my_x86_d/args.gn:21Overridden from the default = -1From //build/config/compiler/compiler.gni:26How many symbols to include in the build. This affects the performance ofthe 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 withinternal linkage (static functions or those in anonymous namespaces) may notappear when using this level.0 means no symbols.-1 means auto-set according to debug/release and platform.system_libdirCurrent value (from the default) = "lib"From //build/config/linux/pkg_config.gni:47CrOS systemroots place pkgconfig files at <systemroot>/usr/share/pkgconfigand one of <systemroot>/usr/lib/pkgconfig or <systemroot>/usr/lib64/pkgconfigdepending on whether the systemroot is for a 32 or 64 bit architecture.When build under GYP, CrOS board builds specify the 'system_libdir' variableas part of the GYP_DEFINES provided by the CrOS emerge build or simplechrome build scheme. This variable permits controlling this for GN buildsin similar fashion by setting the `system_libdir` variable in the build'sargs.gn file to 'lib' or 'lib64' as appropriate for the target architecture.target_cpuCurrent value = "x86"From //out/my_x86_d/args.gn:14Overridden from the default = ""(Internally set; try `gn help target_cpu`.)target_osCurrent value = "win"From //out/my_x86_d/args.gn:13Overridden from the default = ""(Internally set; try `gn help target_os`.)target_sysrootCurrent value (from the default) = ""From //build/config/sysroot.gni:13The absolute path of the sysroot that is applied when compiling usingthe target toolchain.target_sysroot_dirCurrent value (from the default) = "//build/linux"From //build/config/sysroot.gni:16The absolute path to directory containing linux sysroot imagestarget_winuwp_familyCurrent value (from the default) = "app"From //build/config/win/BUILD.gn:38possible values:"app" - Windows Store Applications"phone" - Windows Phone Applications"system" - Windows Drivers and Tools"server" - Windows Server Applications"desktop" - Windows Desktop Applicationstarget_winuwp_versionCurrent value (from the default) = "10"From //build/config/win/BUILD.gn:30possible values for target_winuwp_version:"10" - Windows UWP 10"8.1" - Windows RT 8.1"8.0" - Windows RT 8.0toolkit_viewsCurrent value (from the default) = trueFrom //build/config/ui.gni:38True means the UI is built using the "views" framework.treat_warnings_as_errorsCurrent value (from the default) = trueFrom //build/config/compiler/BUILD.gn:43Default to warnings as errors for default workflow, where we catchwarnings with known toolchains. Allow overriding this e.g. for Chromiumbuilds on Linux that could use a different version of the compiler.With GCC, warnings in no-Chromium code are always not treated as errors.use_aflCurrent value (from the default) = falseFrom //build/config/sanitizers/sanitizers.gni:79Compile for fuzzing with AFL.use_allocatorCurrent value (from the default) = "none"From //build/config/allocator.gni:28Memory allocator to use. Set to "none" to use default allocator.use_allocator_shimCurrent value (from the default) = falseFrom //build/config/allocator.gni:31Causes all the allocations to be routed via allocator_shim.cc.use_alsaCurrent value (from the default) = falseFrom //media/media_options.gni:96Enables runtime selection of ALSA library for audio.use_auraCurrent value (from the default) = trueFrom //build/config/ui.gni:30Indicates if Aura is enabled. Aura is a low-level windowing library, sortof a replacement for GDI or GTK.use_cfi_castCurrent value (from the default) = falseFrom //build/config/sanitizers/sanitizers.gni:59Enable 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/626794use_cfi_diagCurrent value (from the default) = falseFrom //build/config/sanitizers/sanitizers.gni:68Print detailed diagnostics when Control Flow Integrity detects a violation.use_cfi_icallCurrent value (from the default) = falseFrom //build/config/sanitizers/sanitizers.gni:64Enable 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/701919use_cfi_recoverCurrent value (from the default) = falseFrom //build/config/sanitizers/sanitizers.gni:72Let Control Flow Integrity continue execution instead of crashing whenprinting diagnostics (use_cfi_diag = true).use_clang_coverageCurrent value (from the default) = falseFrom //build/config/coverage/coverage.gni:9Enable Clang's Source-based Code Coverage.use_clang_static_analyzerCurrent value (from the default) = falseFrom //build/toolchain/clang_static_analyzer.gni:10Uses the Clang static analysis tools during compilation.use_coverageCurrent value (from the default) = falseFrom //third_party/pdfium/pdfium.gni:57Enable coverage informationuse_crasCurrent value (from the default) = falseFrom //media/media_options.gni:51Override to dynamically link the cras (ChromeOS audio) library.use_crash_key_stubsCurrent value (from the default) = falseFrom //components/crash/core/common/BUILD.gn:9If set to true, this will stub out and disable the entire crash key system.use_cupsCurrent value (from the default) = falseFrom //printing/buildflags/buildflags.gni:18use_custom_libcxxCurrent value (from the default) = falseFrom //build/config/c++/c++.gni:14use_custom_libcxx_for_hostCurrent value (from the default) = falseFrom //build/config/c++/c++.gni:24Use libc++ instead of stdlibc++ when using the host_cpu toolchain, even ifuse_custom_libcxx is false. This is useful for cross-compiles where a customtoolchain for the target_cpu has been set as the default toolchain, butuse_custom_libcxx should still be true when building for the host.  Theexpected usage is to set use_custom_libcxx=false anduse_custom_libcxx_for_host=true in the passed in buildargs.use_cxx11Current value (from the default) = falseFrom //build/config/compiler/BUILD.gn:105Allow projects that wish to stay on C++11 to override Chromium's default.use_cxx11_on_androidCurrent value (from the default) = falseFrom //build/config/compiler/BUILD.gn:138C++11 may not be an option if Android test infrastructure is used.use_dbusCurrent value (from the default) = falseFrom //build/config/features.gni:51use_debug_fissionCurrent value (from the default) = "default"From //build/config/compiler/compiler.gni:42use_debug_fission: whether to use split DWARF debug infofiles. This can reduce link time significantly, but is incompatiblewith some utilities such as icecc and ccache. Requires gold andgcc >= 4.8 or clang.http://gcc.gnu.org/wiki/DebugFissionThis is a placeholder value indicating that the code below should setthe default.  This is necessary to delay the evaluation of the defaultvalue expression until after its input values such as use_gold havebeen set, e.g. by a toolchain_args() block.use_drfuzzCurrent value (from the default) = falseFrom //build/config/sanitizers/sanitizers.gni:87Compile for fuzzing with Dr. FuzzSee http://www.chromium.org/developers/testing/dr-fuzzuse_eglCurrent value (from the default) = trueFrom //ui/gl/features.gni:12Should EGL support be compiled. Can be overriden to test during bring upof EGL support on other platformsuse_evdev_gesturesCurrent value (from the default) = falseFrom //ui/events/ozone/BUILD.gn:12Support ChromeOS touchpad gestures with ozone.use_external_popup_menuCurrent value (from the default) = falseFrom //content/common/features.gni:9Whether or not to use external popup menu.use_gcm_from_platformCurrent value (from the default) = falseFrom //components/gcm_driver/config.gni:8Use native GCM driver for all non-Android builds. On Android, the platformincludes GMS which provides the GCM client.use_ghashCurrent value (from the default) = falseFrom //build/config/compiler/BUILD.gn:133Turn 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.htmluse_gioCurrent value (from the default) = falseFrom //build/config/features.gni:53use_glibCurrent value (from the default) = falseFrom //build/config/ui.gni:33Whether we should use glib, a low level C utility library.use_gnome_keyringCurrent value (from the default) = falseFrom //components/os_crypt/features.gni:10Whether to use libgnome-keyring (deprecated by libsecret).See http://crbug.com/466975 and http://crbug.com/355223.use_goldCurrent value (from the default) = falseFrom //build/config/compiler/compiler.gni:175Whether to use the gold linker from binutils instead of lld or bfd.use_gomaCurrent value = falseFrom //out/my_x86_d/args.gn:20Overridden from the default = falseFrom //build/toolchain/goma.gni:9Set to true to enable distributed compilation using Goma.use_gtk3Current value (from the default) = trueFrom //build/config/linux/gtk/gtk.gni:11Whether to compile against GTKv3 instead of GTKv2.use_icfCurrent value (from the default) = falseFrom //build/config/compiler/BUILD.gn:154Set to true to use icf, Identical Code Folding.icf=all is broken in older golds, seehttps://sourceware.org/bugzilla/show_bug.cgi?id=17704See also https://crbug.com/663886`linux_use_bundled_binutils` is to avoid breaking Linux distros which maystill 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 targetingother architectures.lld doesn't have the bug.use_incremental_wpoCurrent value (from the default) = falseFrom //build/config/compiler/compiler.gni:55Whether or not we should turn on incremental WPO. Only affects the VSWindows build.use_jumbo_buildCurrent value (from the default) = falseFrom //build/config/jumbo.gni:11If true, use a jumbo build (files compiled together) to speed upcompilation.use_kerberosCurrent value (from the default) = trueFrom //net/features.gni:24Enable Kerberos authentication. It is disabled by default on iOS, Fuchsiaand Chromecast, at least for now. This feature needs configuration(krb5.conf and so on). On Chrome OS it is only supported on ActiveDirectory managed devices.TODO(fuchsia): Enable kerberos on Fuchsia when it's implemented there.use_libfuzzerCurrent value (from the default) = falseFrom //build/config/sanitizers/sanitizers.gni:76Compile for fuzzing with LLVM LibFuzzer.See http://www.chromium.org/developers/testing/libfuzzeruse_libjpeg_turboCurrent value (from the default) = trueFrom //third_party/libjpeg.gni:11Uses libjpeg_turbo as the jpeg implementation. Has no effect ifuse_system_libjpeg is set.use_libpciCurrent value (from the default) = falseFrom //third_party/angle/BUILD.gn:18Use the PCI lib to collect GPU information on Linux.use_lldCurrent value (from the default) = trueFrom //build/config/compiler/compiler.gni:166use_locally_built_instrumented_librariesCurrent value (from the default) = falseFrom //build/config/sanitizers/sanitizers.gni:47Use dynamic libraries instrumented by one of the sanitizers instead of thestandard system libraries. Set this flag to build the libraries from source.use_low_quality_image_interpolationCurrent value (from the default) = falseFrom //third_party/blink/renderer/config.gni:35If true, defaults image interpolation to low quality.use_official_google_api_keysCurrent value (from the default) = ""From //google_apis/BUILD.gn:31You can set the variable 'use_official_google_api_keys' to trueto use the Google-internal file containing official API keysfor Google Chrome even in a developer build.  Setting thisvariable explicitly to true will cause your build to fail if theinternal file is missing.The variable is documented here, but not handled in this file;see //google_apis/determine_use_official_keys.gypi for theimplementation.Set the variable to false to not use the internal file, even whenit exists in your checkout.Leave it unset or set to "" to have the variableimplicitly set to true if you havesrc/google_apis/internal/google_chrome_api_keys.h in yourcheckout, and implicitly set to false if not.Note that official builds always behave as if the variablewas explicitly set to true, i.e. they always use official keys,and will fail to build if the internal file is missing.use_openh264Current value (from the default) = falseFrom //third_party/openh264/openh264_args.gni:11Enable this to build OpenH264 (for encoding, not decoding).CHECK THE OPENH264 LICENSE/PATENT BEFORE BUILDING, seehttp://www.openh264.org/.use_ozoneCurrent value (from the default) = falseFrom //build/config/ui.gni:26Indicates if Ozone is enabled. Ozone is a low-level library layer for Linuxthat does not require X11. Enabling this feature disables use of glib, x11,Pango, and Cairo.use_partition_allocCurrent value (from the default) = trueFrom //build/config/allocator.gni:34Partition alloc is included by default except iOS.use_picCurrent value (from the default) = trueFrom //build/config/compiler/compiler.gni:58Whether or not we should use position independent code.use_platform_icu_alternativesCurrent value (from the default) = falseFrom //url/features.gni:10Enables 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_librariesCurrent value (from the default) = falseFrom //build/config/sanitizers/sanitizers.gni:43Use dynamic libraries instrumented by one of the sanitizers instead of thestandard system libraries. Set this flag to download prebuilt binaries fromGCS.use_pulseaudioCurrent value (from the default) = falseFrom //media/media_options.gni:93Enables runtime selection of PulseAudio library.use_rttiCurrent value (from the default) = falseFrom //build/config/compiler/BUILD.gn:85Build with C++ RTTI enabled. Chromium builds without RTTI by default,but some sanitizers are known to require it, like CFI diagnosticsand UBsan variants.use_sanitizer_coverageCurrent value (from the default) = falseFrom //build/config/sanitizers/sanitizers.gni:145use_static_angleCurrent value (from the default) = falseFrom //ui/gl/features.gni:8Whether ANGLE should be linked staticallyFalse by default, enabling currently supported only on Androiduse_swiftshader_with_subzeroCurrent value (from the default) = trueFrom //third_party/swiftshader/src/Reactor/BUILD.gn:20Currently, Subzero is not used by defaultLLVM is still the default backenduse_sysrootCurrent value (from the default) = trueFrom //build/config/sysroot.gni:18use_system_freetypeCurrent value (from the default) = falseFrom //build/config/freetype/freetype.gni:13Blink needs a recent and properly build-configured FreeType version tosupport OpenType variations, color emoji and avoid security bugs. By defaultwe ship and link such a version as part of Chrome. For distributions thatprefer to keep linking to the version the system, FreeType must be newerthan version 2.7.1 and have color bitmap support compiled in. WARNING:System FreeType configurations other than as described WILL INTRODUCE TEXTRENDERING AND SECURITY REGRESSIONS.use_system_harfbuzzCurrent value (from the default) = falseFrom //third_party/harfbuzz-ng/harfbuzz.gni:11Blink uses a cutting-edge version of Harfbuzz; most Linux distros do notcontain a new enough version of the code to work correctly. However,ChromeOS chroots (i.e, real ChromeOS builds for devices) do contain anew enough version of the library, and so this variable exists so thatChromeOS can build against the system lib and keep binary sizes smaller.use_system_lcms2Current value (from the default) = falseFrom //third_party/pdfium/pdfium.gni:63Don't build against bundled lcms2.use_system_libjpegCurrent value (from the default) = falseFrom //third_party/libjpeg.gni:7Uses system libjpeg. If true, overrides use_libjpeg_turbo.use_system_libpngCurrent value (from the default) = falseFrom //third_party/pdfium/pdfium.gni:66Don't build against bundled libpng.use_system_xcodeCurrent value (from the default) = ""From //build_overrides/build.gni:48Use the system install of Xcode for tools like ibtool, libtool, etc.This does not affect the compiler. When this variable is false, targets willinstead use a hermetic install of Xcode. [The hermetic install can beobtained with gclient sync after setting the environment variableFORCE_MAC_TOOLCHAIN].use_system_zlibCurrent value (from the default) = falseFrom //third_party/pdfium/pdfium.gni:60Don't build against bundled zlib.use_thin_ltoCurrent value (from the default) = falseFrom //build/config/compiler/compiler.gni:46Enables support for ThinLTO, which links 3x-10x faster than full LTO. Seealso http://blog.llvm.org/2016/06/thinlto-scalable-and-incremental-lto.htmluse_udevCurrent value (from the default) = falseFrom //build/config/features.gni:49libudev usage. This currently only affects the content layer.use_unofficial_version_numberCurrent value (from the default) = trueFrom //components/version_info/BUILD.gn:10use_v4l2_codecCurrent value (from the default) = falseFrom //media/gpu/args.gni:11Indicates if Video4Linux2 codec is used. This is used for all CrOSplatforms which have v4l2 hardware encoder / decoder.use_v4lpluginCurrent value (from the default) = falseFrom //media/gpu/args.gni:7Indicates if V4L plugin is used.use_v8_context_snapshotCurrent value (from the default) = trueFrom //tools/v8_context_snapshot/v8_context_snapshot.gni:18use_vaapiCurrent value (from the default) = falseFrom //media/gpu/args.gni:15Indicates if VA-API-based hardware acceleration is to be used. Thisis typically the case on x86-based ChromeOS devices.use_vr_assets_componentCurrent value (from the default) = falseFrom //chrome/browser/vr/features.gni:12Whether to register, download, etc. the VR assets component.use_vs_code_analysisCurrent value (from the default) = falseFrom //build/config/win/BUILD.gn:21Set this to true to enable static analysis through Visual Studio's/analyze. This dramatically slows compiles and reports thousands ofwarnings, so normally this is done on a build machine and only the newwarnings are examined.use_webaudio_ffmpegCurrent value (from the default) = trueFrom //third_party/blink/renderer/config.gni:38If true, ffmpeg will be used for decoding audio.use_xcode_clangCurrent value (from the default) = falseFrom //build/toolchain/toolchain.gni:23Compile with Xcode version of clang instead of hermetic version shippedwith the build. Used on iOS to ship official builds (as they are builtwith the version of clang shipped with Xcode).use_xkbcommonCurrent value (from the default) = falseFrom //ui/base/ui_features.gni:9Optional system library.use_zucchiniCurrent value (from the default) = falseFrom //chrome/installer/setup/buildflags.gni:8Specify if the Zucchini patcher features should be included in setup.exe.See //components/zucchini for more information.using_mismatched_sample_profileCurrent value (from the default) = falseFrom //build/config/compiler/compiler.gni:65Whether we're using a sample profile collected on an architecture differentthan the one we're compiling for.It's currently not possible to collect AFDO profiles on anything butx86{,_64}.v8_android_log_stdoutCurrent value (from the default) = falseFrom //v8/BUILD.gn:23Print to stdout on Android.v8_can_use_fpu_instructionsCurrent value (from the default) = trueFrom //v8/BUILD.gn:120Similar to vfp but on MIPS.v8_check_microtasks_scopes_consistencyCurrent value = falseFrom //.gn:57Overridden from the default = ""From //v8/BUILD.gn:146Temporary flag to allow embedders to update their microtasks scopeswhile rolling in a new version of V8.v8_code_coverageCurrent value (from the default) = falseFrom //v8/gni/v8.gni:13Set flags for tracking code coverage. Uses gcov with gcc and sanitizercoverage with clang.v8_correctness_fuzzerCurrent value (from the default) = falseFrom //v8/gni/v8.gni:16Includes files needed for correctness fuzzing.v8_current_cpuCurrent value (from the default) = "x86"From //build/config/v8_target_cpu.gni:60This argument is declared here so that it can be overridden in toolchains.It should never be explicitly set by the user.v8_deprecation_warningsCurrent value (from the default) = falseFrom //v8/BUILD.gn:39Enable compiler warnings when using V8_DEPRECATED apis.v8_embed_scriptCurrent value (from the default) = ""From //v8/BUILD.gn:45Embeds the given script into the snapshot.v8_embedder_stringCurrent value (from the default) = ""From //v8/BUILD.gn:48Allows the embedder to add a custom suffix to the version string.v8_enable_backtraceCurrent value (from the default) = ""From //v8/gni/v8.gni:32Support for backtrace_symbols on linux.v8_enable_concurrent_markingCurrent value (from the default) = trueFrom //v8/BUILD.gn:99Sets -dV8_CONCURRENT_MARKINGv8_enable_debugging_featuresCurrent value (from the default) = trueFrom //v8/BUILD.gn:27Turns on all V8 debug features. Enables running V8 in a pseudo debug modewithin a release Chrome.v8_enable_disassemblerCurrent value (from the default) = ""From //v8/BUILD.gn:51Sets -dENABLE_DISASSEMBLER.v8_enable_embedded_builtinsCurrent value (from the default) = falseFrom //v8/BUILD.gn:74Enable embedded builtins.TODO(jgruber,v8:6666): Support ia32 and maybe MSVC.TODO(jgruber,v8:6666): Re-enable.v8_enable_fast_mksnapshotCurrent value (from the default) = falseFrom //v8/BUILD.gn:69Enable fast mksnapshot runs.v8_enable_futureCurrent value (from the default) = falseFrom //v8/BUILD.gn:30Sets -DV8_ENABLE_FUTURE.v8_enable_gdbjitCurrent value = falseFrom //.gn:52Overridden from the default = falseFrom //v8/BUILD.gn:141v8_enable_handle_zappingCurrent value (from the default) = trueFrom //v8/BUILD.gn:63Sets -dENABLE_HANDLE_ZAPPING.v8_enable_i18n_supportCurrent value (from the default) = trueFrom //v8/gni/v8.gni:49Enable ECMAScript Internationalization API. Enabling this feature willadd a dependency on the ICU library.v8_enable_minor_mcCurrent value (from the default) = trueFrom //v8/BUILD.gn:152Enable minor mark compact.v8_enable_object_printCurrent value (from the default) = ""From //v8/BUILD.gn:84Sets -dOBJECT_PRINT.v8_enable_slow_dchecksCurrent value (from the default) = falseFrom //v8/BUILD.gn:66Enable slow dchecks.v8_enable_test_featuresCurrent value (from the default) = ""From //v8/BUILD.gn:102Enables various testing features.v8_enable_trace_feedback_updatesCurrent value (from the default) = falseFrom //v8/BUILD.gn:96Sets -dV8_TRACE_FEEDBACK_UPDATES.v8_enable_trace_ignitionCurrent value (from the default) = falseFrom //v8/BUILD.gn:93Sets -dV8_TRACE_IGNITION.v8_enable_trace_mapsCurrent value (from the default) = ""From //v8/BUILD.gn:87Sets -dV8_TRACE_MAPS.v8_enable_v8_checksCurrent value (from the default) = ""From //v8/BUILD.gn:90Sets -dV8_ENABLE_CHECKS.v8_enable_verify_csaCurrent value (from the default) = falseFrom //v8/BUILD.gn:77Enable code-generation-time checking of types in the CodeStubAssembler.v8_enable_verify_heapCurrent value (from the default) = ""From //v8/BUILD.gn:33Sets -DVERIFY_HEAP.v8_enable_verify_predictableCurrent value (from the default) = falseFrom //v8/BUILD.gn:36Sets -DVERIFY_PREDICTABLEv8_enable_vtunejitCurrent value (from the default) = falseFrom //v8/BUILD.gn:60Sets -dENABLE_VTUNE_JIT_INTERFACE.v8_experimental_extra_library_filesCurrent value = []From //.gn:51Overridden from the default = ["//test/cctest/test-experimental-extra.js"]From //v8/BUILD.gn:138v8_extra_library_filesCurrent 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:37Overridden from the default = ["//test/cctest/test-extra.js"]From //v8/BUILD.gn:132List of extra files to snapshot. They will be snapshotted in order soif 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_gcmoleCurrent value (from the default) = falseFrom //v8/gni/v8.gni:26Indicate if gcmole was fetched as a hook to make it available on swarming.v8_has_valgrindCurrent value (from the default) = falseFrom //v8/gni/v8.gni:23Indicate if valgrind was fetched as a custom deps to make it available onswarming.v8_imminent_deprecation_warningsCurrent value = falseFrom //.gn:53Overridden from the default = falseFrom //v8/BUILD.gn:42Enable compiler warnings when using V8_DEPRECATE_SOON apis.v8_interpreted_regexpCurrent value (from the default) = falseFrom //v8/BUILD.gn:81Interpreted regexp engine exists as platform-independent alternativebased where the regular expression is compiled to a bytecode.v8_monolithicCurrent value (from the default) = falseFrom //v8/gni/v8.gni:55Enable monolithic static library for embedders.v8_multi_arch_buildCurrent value (from the default) = falseFrom //v8/gni/v8.gni:19Adds additional compile target for building multiple architectures at once.v8_no_inlineCurrent value (from the default) = falseFrom //v8/BUILD.gn:114Switches off inlining in V8.v8_optimized_debugCurrent value (from the default) = trueFrom //v8/gni/v8.gni:29Turns on compiler optimizations in V8 in Debug build.v8_os_page_sizeCurrent value (from the default) = "0"From //v8/BUILD.gn:117Override OS page size when generating snapshotv8_perf_prof_unwinding_infoCurrent value (from the default) = falseFrom //v8/BUILD.gn:106Build the snapshot with unwinding information for perf.Sets -dV8_USE_SNAPSHOT_WITH_UNWINDING_INFO.v8_postmortem_supportCurrent value (from the default) = falseFrom //v8/BUILD.gn:111With post mortem support enabled, metadata is embedded into libv8 thatdescribes various parameters of the VM for use by debuggers. Seetools/gen-postmortem-metadata.py for details.v8_promise_internal_field_countCurrent value (from the default) = 0From //v8/BUILD.gn:54Sets the number of internal fields on promise objects.v8_snapshot_toolchainCurrent value (from the default) = ""From //v8/snapshot_toolchain.gni:34The v8 snapshot needs to be built by code that is compiled with atoolchain that matches the bit-width of the target CPU, but runs onthe host.v8_static_libraryCurrent value (from the default) = falseFrom //v8/gni/v8.gni:52Use static libraries instead of source_sets.v8_target_cpuCurrent value (from the default) = ""From //build/config/v8_target_cpu.gni:33This arg is used when we want to tell the JIT-generating v8 codethat we want to have it generate for an architecture that is differentthan the architecture that v8 will actually run on; we then run thecode under an emulator. For example, we might run v8 on x86, butgenerate arm code and run that under emulation.This arg is defined here rather than in the v8 project because we wantsome of the common architecture-specific args (like arm_float_abi ormips_arch_variant) to be set to their defaults either if the current_cpuapplies *or* if the v8_current_cpu applies.As described below, you can also specify the v8_target_cpu to useindirectly by specifying a `custom_toolchain` that contains v8_$cpu in thename 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 targetingdifferent architectures, you will need to do something morecomplicated involving multiple toolchains along the lines ofcustom_toolchain, above.v8_typed_array_max_size_in_heapCurrent value (from the default) = 64From //v8/BUILD.gn:126Controls the threshold for on-heap/off-heap Typed Arrays.v8_untrusted_code_mitigationsCurrent value (from the default) = trueFrom //v8/BUILD.gn:149Enable mitigations for executing untrusted code.v8_use_external_startup_dataCurrent value (from the default) = ""From //v8/gni/v8.gni:45Use external files for startup data blobs:the JS builtins sources and the start snapshot.v8_use_mips_abi_hardfloatCurrent value (from the default) = trueFrom //v8/BUILD.gn:123Similar to the ARM hard float ABI but on MIPS.v8_use_multi_snapshotsCurrent value (from the default) = ""From //v8/gni/v8.gni:41Enable several snapshots side-by-side (e.g. default and for trusted code).v8_use_snapshotCurrent value (from the default) = trueFrom //v8/gni/v8.gni:38Enable the snapshot feature, for fast context creation.http://v8project.blogspot.com/2015/09/custom-startup-snapshots.htmlTODO(thakis): Make snapshots work in 64-bit win/cross builds,https://803591visual_studio_pathCurrent value (from the default) = ""From //build/config/win/visual_studio_version.gni:9Path to Visual Studio. If empty, the default is used which is to use theautomatic toolchain in depot_tools. If set, you must also set thevisual_studio_version and wdk_path.visual_studio_versionCurrent value (from the default) = ""From //build/config/win/visual_studio_version.gni:13Version of Visual Studio pointed to by the visual_studio_path.Currently always "2015".wdk_pathCurrent value (from the default) = ""From //build/config/win/visual_studio_version.gni:17Directory of the Windows driver kit. If visual_studio_path is empty, thiswill be auto-filled.win_console_appCurrent value (from the default) = falseFrom //build/config/win/console_app.gni:12If true, builds as a console app (rather than a windowed app), which allowslogging to be printed to the user. This will cause a terminal window to popup when the executable is not run from the command line, so should only beused for development. Only has an effect on Windows builds.win_linker_timingCurrent value (from the default) = falseFrom //build/config/win/BUILD.gn:24Turn this on to have the linker output extra timing information.windows_sdk_pathCurrent value (from the default) = "C:\Program Files (x86)\Windows Kits\10"From //build/config/win/visual_studio_version.gni:22Full path to the Windows SDK, not including a backslash at the end.This value is the default location, override if you have a differentinstallation location.

chromium gn parameter list相关推荐

  1. Chromium GN入门学习(本文参考于谷歌Brett Wilson PPT学习资料及谷歌官网文档)

    GN原文档(英文) 以前chromium采用的是GYP构建系统,最新的版本已经使用GN构建系统. GN的优点反正就是编译速度快,GYP比makefile快,GN比GYP快20倍(据说是),而且书写不再 ...

  2. 记录谷歌gn编译时碰到的一个错误“I could not find a “.gn“ file ...”

    应用谷歌gn+nijia,在ubuntu7.9上编译程序时,碰到这么一个错误提示 # gn gen out/ "ERROR Can't find source root. I could n ...

  3. Flutter Engine C++ 源码调试初探

    原文:https://fucknmb.com/2019/12/06/Flutter-Engine-C-%E6%BA%90%E7%A0%81%E8%B0%83%E8%AF%95%E5%88%9D%E6% ...

  4. chromium中的GN构建系统

    阅读最新的chromium源码,发现项目的构建系统已经从GYP全面切换到GN了.在软件开发中,经常有人忠告:不要重复造轮子.但谷歌可不管这个,造的轮子一个接一个,谁叫人家牛呢?chromiumi项目为 ...

  5. Chromium浏览器(CEF)的命令行列表说明

    找到的Chromium浏览器的命令行说明列表,转放在这里以方便查看. List of Chromium Command Line Switches There are lots of command ...

  6. Chromium命令行开关列表2

    Chromium命令行开关列表 Google Chrome浏览器可以使用很多命令行. 一些更改功能的行为,其他用于调试或试验. 该页面列出了可用的开关,包括其条件和说明. 上一次自动更新发生在2020 ...

  7. google gn构建系统的介绍

    GN语言和操作 GN语言和操作 内容 介绍 使用内置的帮助 设计理念 语言 字符串 清单 条件语句 循环 函数调用 作用域和执行Scoping and execution 命名事物 文件和目录名称 构 ...

  8. google的gn构建系统

    什么是GN? GN是一个生成Ninja构建文件的元构建系统,以便你可以用Ninja构建Chromium. 你为什么从GYP切换? 我们相信GN文件比GYP文件更具可读性和可维护性. GN很快: GN比 ...

  9. Chromium Android开发的Eclipse配置

    单次的Eclipse配置 这一节包含第一次启动Eclipse时需要的设置步骤.你应该只需浏览这个部分一次,即使你切换了workspaces. 启动Eclipse.它可以通过如下的两种方式启动: 在Ub ...

最新文章

  1. mysql left join两个表,mysql left join 多个表
  2. F-Secure Client Security 注册机
  3. 一楼土木人序列号查询_iPhone序列号是什么 序列号怎么查看【步骤】
  4. 有了这个王座,写代码的速度都加快了
  5. Ajax的工具类AjaxUtils,使用struts返回Json类型
  6. 互联网金融网络借贷系统架构
  7. 【服务器】服务器安全防护、防止服务器攻击和保护措施
  8. MK808 vs Raspberry Pi
  9. 面向对象版学员管理系统 Python
  10. zblog技术导航网全站源码+数据
  11. 源码扫描工具Fortify SCA和FireLine对比说明
  12. IDEA插件 -RestfulToolkit(接口自测工具)
  13. 被骗子骗时反把骗子骗!
  14. 好玩的微软对联程序--春随人意
  15. 简易温度检测器电路原理
  16. 字节跳动秋招笔试四道编程题(2021-08-29)
  17. 一次腾讯云centos服务器被入侵的处理
  18. 【C语言入门】判断一个数的奇偶性
  19. 开发地图编辑器_使用地图编辑器开发地图
  20. java 获取屏幕_java 获取屏幕大小

热门文章

  1. 多版本cuda安装及灵活切换详细教程
  2. 播放量至少提升10倍,视频完播率低怎么办?教你4个实用小技巧
  3. CEF-81.3.10支持Flash自动播放代码修改
  4. 【视频】网易学院 http://tech.163.com/school
  5. 华为鸿蒙智能即热饮水吧,华为iateey智能即热饮水吧,控温方便生活
  6. 联想拯救者R720 EFI 大集合
  7. 你学了江小白的文案,却达不到江小白的成功
  8. HBuilderX uni-app 打包发行微信小程序
  9. C语言选择结构--RAPTOR算法及if语句
  10. 【提前官宣】中服云邀请您参观IOTE2022第十八届国际物联网展·深圳站