· 6 years ago · Oct 11, 2019, 11:32 PM
1action_pool_depth
2 Current value (from the default) = -1
3 From //build/toolchain/BUILD.gn:10
4
5 Pool for non goma tasks.
6
7additional_absl_clients
8 Current value (from the default) = []
9 From //third_party/abseil-cpp/abseil_clients.gni:19
10
11 Additional targets that can depend on absl.
12 ** DISCLAIMER **
13
14 Using "additional_absl_clients" is highly discouraged because it will break
15 the component build since Abseil doesn't have export annotations and WebRTC
16 is already depending on it. Any CL that use "additional_absl_clients" will
17 have a really high probability of being reverted.
18
19aec_untrusted_delay_for_testing
20 Current value (from the default) = false
21 From //third_party/webrtc/modules/audio_processing/BUILD.gn:18
22
23 Disables the usual mode where we trust the reported system delay
24 values the AEC receives. The corresponding define is set appropriately
25 in the code, but it can be force-enabled here for testing.
26
27allow_critical_memory_pressure_handling_in_foreground
28 Current value (from the default) = false
29 From //content/common/features.gni:13
30
31 Whether to perform critical memory pressure handling when in foreground (if
32 false, critical memory pressure is treated like moderate pressure in foreground).
33
34alternate_cdm_storage_id_key
35 Current value (from the default) = ""
36 From //media/media_options.gni:188
37
38 If |enable_cdm_storage_id| is set, then an implementation specific key
39 must also be provided. It can be provided by defining CDM_STORAGE_ID_KEY
40 (which takes precedence), or by setting |alternate_cdm_storage_id_key|.
41 The key must be a string of at least 32 characters.
42
43android32_ndk_api_level
44 Current value (from the default) = 16
45 From //build/config/android/config.gni:49
46
47 Android API level for 32 bits platforms
48
49android64_ndk_api_level
50 Current value (from the default) = 21
51 From //build/config/android/config.gni:52
52
53 Android API level for 64 bits platforms
54
55android_channel
56 Current value (from the default) = "default"
57 From //chrome/android/channel.gni:8
58
59 The channel to build on Android: stable, beta, dev, canary, work, or
60 default. "default" should be used on non-official builds.
61
62android_default_version_code
63 Current value (from the default) = "1"
64 From //build/config/android/config.gni:151
65
66 Android versionCode for android_apk()s that don't explicitly set one.
67
68android_default_version_name
69 Current value (from the default) = "Developer Build"
70 From //build/config/android/config.gni:154
71
72 Android versionName for android_apk()s that don't explicitly set one.
73
74android_full_debug
75 Current value (from the default) = false
76 From //build/config/compiler/BUILD.gn:53
77
78 Normally, Android builds are lightly optimized, even for debug builds, to
79 keep binary size down. Setting this flag to true disables such optimization
80
81android_keystore_name
82 Current value (from the default) = "chromiumdebugkey"
83 From //build/config/android/config.gni:166
84
85 The name of the keystore to use for signing builds.
86
87android_keystore_password
88 Current value (from the default) = "chromium"
89 From //build/config/android/config.gni:169
90
91 The password for the keystore to use for signing builds.
92
93android_keystore_path
94 Current value (from the default) = "//build/android/chromium-debug.keystore"
95 From //build/config/android/config.gni:163
96
97 The path to the keystore to use for signing builds.
98
99android_libcpp_lib_dir
100 Current value (from the default) = ""
101 From //build/config/android/config.gni:148
102
103 Libc++ library directory. Override to use a custom libc++ binary.
104
105android_ndk_major_version
106 Current value (from the default) = 20
107 From //build/config/android/config.gni:137
108
109android_ndk_root
110 Current value (from the default) = "//third_party/android_ndk"
111 From //build/config/android/config.gni:135
112
113android_ndk_version
114 Current value (from the default) = "r20"
115 From //build/config/android/config.gni:136
116
117android_override_version_code
118 Current value (from the default) = ""
119 From //build/config/android/config.gni:157
120
121 Forced Android versionCode
122
123android_override_version_name
124 Current value (from the default) = ""
125 From //build/config/android/config.gni:160
126
127 Forced Android versionName
128
129android_sdk_build_tools_version
130 Current value (from the default) = "29.0.2"
131 From //build/config/android/config.gni:141
132
133android_sdk_platform_version
134 Current value (from the default) = 28
135 From //build/config/android/config.gni:230
136
137android_sdk_release
138 Current value (from the default) = "p"
139 From //build/config/android/config.gni:62
140
141 Android SDK release. Currently, only "o_mr1" and "p" are publicly
142 supported.
143
144android_sdk_root
145 Current value (from the default) = "//third_party/android_sdk/public"
146 From //build/config/android/config.gni:139
147
148android_sdk_tools_bundle_aapt2_dir
149 Current value (from the default) = "//third_party/android_build_tools/aapt2"
150 From //build/config/android/config.gni:204
151
152android_sdk_tools_version_suffix
153 Current value (from the default) = "-26.0.0-dev"
154 From //build/config/android/config.gni:142
155
156android_sdk_version
157 Current value (from the default) = 28
158 From //build/config/android/config.gni:140
159
160android_unstripped_runtime_outputs
161 Current value (from the default) = true
162 From //build/toolchain/android/BUILD.gn:13
163
164 Whether unstripped binaries, i.e. compiled with debug symbols, should be
165 considered runtime_deps rather than stripped ones.
166
167angle_64bit_current_cpu
168 Current value (from the default) = true
169 From //third_party/angle/gni/angle.gni:48
170
171angle_build_all
172 Current value (from the default) = true
173 From //third_party/angle/BUILD.gn:34
174
175 Don't build extra (test, samples etc) for Windows UWP. We don't have
176 infrastructure (e.g. windowing helper functions) in place to run them.
177
178angle_enable_d3d11
179 Current value (from the default) = false
180 From //third_party/angle/gni/angle.gni:81
181
182angle_enable_d3d9
183 Current value (from the default) = false
184 From //third_party/angle/gni/angle.gni:80
185
186angle_enable_essl
187 Current value (from the default) = true
188 From //third_party/angle/gni/angle.gni:94
189
190angle_enable_gl
191 Current value (from the default) = true
192 From //third_party/angle/gni/angle.gni:83
193
194angle_enable_gl_null
195 Current value (from the default) = true
196 From //third_party/angle/gni/angle.gni:99
197
198angle_enable_glsl
199 Current value (from the default) = true
200 From //third_party/angle/gni/angle.gni:95
201
202angle_enable_hlsl
203 Current value (from the default) = false
204 From //third_party/angle/gni/angle.gni:100
205
206angle_enable_null
207 Current value (from the default) = true
208 From //third_party/angle/gni/angle.gni:93
209
210angle_enable_overlay
211 Current value (from the default) = false
212 From //third_party/angle/gni/angle.gni:109
213
214 Disable overlay by default
215
216angle_enable_trace
217 Current value (from the default) = false
218 From //third_party/angle/gni/angle.gni:101
219
220angle_enable_vulkan
221 Current value (from the default) = false
222 From //third_party/angle/gni/angle.gni:90
223
224angle_enable_vulkan_validation_layers
225 Current value (from the default) = false
226 From //third_party/angle/gni/angle.gni:105
227
228angle_is_winuwp
229 Current value (from the default) = false
230 From //third_party/angle/gni/angle.gni:69
231
232 There's no "is_winuwp" helper in BUILDCONFIG.gn, so we define one ourselves
233
234angle_libs_suffix
235 Current value (from the default) = "_angle"
236 From //third_party/angle/gni/angle.gni:73
237
238angle_link_glx
239 Current value (from the default) = false
240 From //third_party/angle/BUILD.gn:26
241
242 Link in system libGL, to work with apitrace. See doc/DebuggingTips.md.
243
244angle_shared_libvulkan
245 Current value (from the default) = false
246 From //third_party/angle/gni/angle.gni:66
247
248angle_with_capture_by_default
249 Current value (from the default) = false
250 From //third_party/angle/BUILD.gn:30
251
252 Defaults to capture building to $root_out_dir/angle_libs/with_capture.
253 Switch on to build capture to $root_out_dir.
254
255apm_debug_dump
256 Current value (from the default) = false
257 From //third_party/webrtc/webrtc.gni:97
258
259 Selects whether debug dumps for the audio processing module
260 should be generated.
261
262archive_seed_corpus
263 Current value (from the default) = true
264 From //build/config/sanitizers/sanitizers.gni:117
265
266 When true, seed corpora archives are built.
267
268asan_globals
269 Current value (from the default) = true
270 From //build/config/sanitizers/sanitizers.gni:166
271
272 Detect overflow/underflow for global objects.
273
274 Mac: http://crbug.com/352073
275
276asan_use_blacklist
277 Current value (from the default) = true
278 From //build/config/sanitizers/sanitizers.gni:109
279
280 Use blacklists from tools/memory/asan when compiling with asan.
281
282async_ar
283 Current value (from the default) = false
284 From //device/vr/buildflags/buildflags.gni:52
285
286 Whether to create AR module as an asynchronous DFM.
287
288async_tab_ui
289 Current value (from the default) = false
290 From //chrome/android/features/tab_ui/buildflags.gni:10
291
292 Whether to create tab_ui module as an asynchronous DFM.
293
294async_vr
295 Current value (from the default) = false
296 From //device/vr/buildflags/buildflags.gni:55
297
298 Whether to create VR module as an asynchronous DFM.
299
300audio_processing_in_audio_service_supported
301 Current value (from the default) = false
302 From //media/webrtc/audio_processing.gni:3
303
304 Note: the audio service must be sandboxed for us to use the APM there.
305
306auto_profile_path
307 Current value (from the default) = ""
308 From //build/config/compiler/BUILD.gn:89
309
310 AFDO (Automatic Feedback Directed Optimizer) is a form of profile-guided
311 optimization that GCC supports. It used by ChromeOS in their official
312 builds. To use it, set auto_profile_path to the path to a file containing
313 the needed gcov profiling data.
314
315binutils_path
316 Current value (from the default) = "../../third_party/binutils/Linux_x64/Release/bin"
317 From //build/config/compiler/BUILD.gn:62
318
319blink_animation_use_time_delta
320 Current value (from the default) = false
321 From //third_party/blink/renderer/core/animation/BUILD.gn:11
322
323 Use base::TimeDelta to represent time in renderer/core/animations. See
324 http://crbug.com/737867
325
326blink_gc_plugin
327 Current value (from the default) = true
328 From //third_party/blink/renderer/BUILD.gn:17
329
330 Set to true to enable the clang plugin that checks the usage of the Blink
331 garbage-collection infrastructure during compilation.
332
333blink_gc_plugin_option_do_dump_graph
334 Current value (from the default) = false
335 From //third_party/blink/renderer/BUILD.gn:21
336
337 Set to true to have the clang Blink GC plugin emit class graph (in JSON)
338 with typed pointer edges; for debugging or other (internal) uses.
339
340blink_gc_plugin_option_warn_unneeded_finalizer
341 Current value (from the default) = false
342 From //third_party/blink/renderer/BUILD.gn:26
343
344 Set to true to have the clang Blink GC plugin additionally check if
345 a class has an empty destructor which would be unnecessarily invoked
346 when finalized.
347
348blink_symbol_level
349 Current value (from the default) = -1
350 From //third_party/blink/renderer/config.gni:33
351
352 How many symbols to include in the build of blink. This affects
353 the performance of the build since the symbols are large and dealing with
354 them is slow.
355 2 means regular build with symbols.
356 1 means minimal symbols, usually enough for backtraces only. Symbols with
357 internal linkage (static functions or those in anonymous namespaces) may not
358 appear when using this level.
359 0 means no symbols.
360 -1 means auto-set according to debug/release and platform.
361
362build_angle_deqp_tests
363 Current value (from the default) = false
364 From //third_party/angle/src/tests/BUILD.gn:12
365
366 Don't build dEQP by default.
367
368build_angle_gles1_conform_tests
369 Current value (from the default) = false
370 From //third_party/angle/src/tests/BUILD.gn:13
371
372build_apk_secondary_abi
373 Current value (from the default) = true
374 From //build/config/android/abi.gni:32
375
376 Builds secondary abi for APKs, supports build 32-bit arch as secondary
377 abi in 64-bit Monochrome and WebView.
378
379build_contextual_search
380 Current value (from the default) = true
381 From //components/contextual_search/features.gni:6
382
383build_display_configuration
384 Current value (from the default) = false
385 From //ui/display/display.gni:7
386
387 Build Chrome OS display configuration code.
388
389build_libsrtp_tests
390 Current value (from the default) = false
391 From //third_party/libsrtp/BUILD.gn:10
392
393 Tests may not be appropriate for some build environments, e.g. Windows.
394 Rather than enumerate valid options, we just let clients ask for them.
395
396build_sfntly_samples
397 Current value (from the default) = false
398 From //third_party/sfntly/BUILD.gn:9
399
400 Flip to true to build sfntly sample programs.
401
402build_with_mozilla
403 Current value (from the default) = false
404 From //third_party/webrtc/webrtc.gni:121
405
406 Enable to use the Mozilla internal settings.
407
408builtin_cert_verifier_feature_supported
409 Current value (from the default) = false
410 From //net/features.gni:48
411
412cast_is_debug
413 Current value (from the default) = true
414 From //build/config/chromecast_build.gni:16
415
416 If true, IS_CAST_DEBUG_BUILD() will evaluate to 1 in version.h. Otherwise,
417 it will evaluate to 0. Overriding this when is_debug=false is useful for
418 doing engineering builds.
419
420cc_wrapper
421 Current value (from the default) = ""
422 From //build/toolchain/cc_wrapper.gni:36
423
424 Set to "ccache", "icecc" or "distcc". Probably doesn't work on windows.
425
426check_android_configuration
427 Current value (from the default) = false
428 From //build/config/android/config.gni:207
429
430 Checks that proguard flags have not changed (!is_java_debug only).
431
432chrome_orderfile_path
433 Current value (from the default) = ""
434 From //build/config/compiler/BUILD.gn:195
435
436chrome_pgo_phase
437 Current value (from the default) = 0
438 From //build/config/compiler/pgo/pgo.gni:13
439
440 Specify the current PGO phase.
441 Here's the different values that can be used:
442 0 : Means that PGO is turned off.
443 1 : Used during the PGI (instrumentation) phase.
444 2 : Used during the PGO (optimization) phase.
445
446 TODO(sebmarchand): Add support for the PGU (update) phase.
447
448chromecast_branding
449 Current value (from the default) = "public"
450 From //build/config/chromecast_build.gni:20
451
452 chromecast_branding is used to include or exclude Google-branded components.
453 Set it to "public" for a Chromium build.
454
455chromeos_afdo_platform
456 Current value (from the default) = "silvermont"
457 From //build/config/compiler/BUILD.gn:111
458
459 This configuration is used to select a default profile in Chrome OS based on
460 the microarchitectures we are using. This is only used if
461 clang_use_default_sample_profile is true and clang_sample_profile_path is
462 empty.
463
464clang_base_path
465 Current value (from the default) = "//third_party/llvm-build/Release+Asserts"
466 From //build/config/clang/clang.gni:14
467
468clang_emit_debug_info_for_profiling
469 Current value (from the default) = false
470 From //build/config/compiler/BUILD.gn:114
471
472 Emit debug information for profiling wile building with clang.
473
474clang_sample_profile_path
475 Current value (from the default) = ""
476 From //build/config/compiler/BUILD.gn:96
477
478 Path to an AFDO profile to use while building with clang, if any. Empty
479 implies none.
480
481clang_use_chrome_plugins
482 Current value (from the default) = true
483 From //build/config/clang/clang.gni:12
484
485 Indicates if the build should use the Chrome-specific plugins for enforcing
486 coding guidelines, etc. Only used when compiling with Clang.
487
488clang_use_default_sample_profile
489 Current value (from the default) = false
490 From //build/config/compiler/BUILD.gn:104
491
492 Some configurations have default sample profiles. If this is true and
493 clang_sample_profile_path is empty, we'll fall back to the default.
494
495 We currently only have default profiles for Chromium in-tree, so we disable
496 this by default for all downstream projects, since these profiles are likely
497 nonsensical for said projects.
498
499clang_version
500 Current value (from the default) = "10.0.0"
501 From //build/toolchain/toolchain.gni:40
502
503 Clang compiler version. Clang files are placed at version-dependent paths.
504
505closure_compile
506 Current value (from the default) = true
507 From //ui/webui/webui_features.gni:14
508
509 Enable closure type-checking for Chrome's web technology-based UI. This
510 enables the webui_closure_compile target which does a no-op without this
511 flag enabled. Requires Java.
512
513com_init_check_hook_disabled
514 Current value (from the default) = false
515 From //base/BUILD.gn:56
516
517 Set to true to disable COM init check hooks.
518
519compile_credentials
520 Current value (from the default) = false
521 From //sandbox/linux/BUILD.gn:17
522
523compile_suid_client
524 Current value (from the default) = false
525 From //sandbox/linux/BUILD.gn:15
526
527compiler_timing
528 Current value (from the default) = false
529 From //build/config/compiler/BUILD.gn:117
530
531 Turn this on to have the compiler output extra timing information.
532
533compute_build_timestamp
534 Current value (from the default) = "compute_build_timestamp.py"
535 From //build/timestamp.gni:17
536
537 This should be the filename of a script that prints a single line
538 containing an integer that's a unix timestamp in UTC.
539 This timestamp is used as build time and will be compiled into
540 other code.
541
542 This argument may look unused. Before removing please check with the
543 chromecast team to see if they still use it internally.
544
545compute_inputs_for_analyze
546 Current value (from the default) = false
547 From //build/config/compute_inputs_for_analyze.gni:13
548
549 Enable this flag when running "gn analyze".
550
551 This causes some gn actions to compute inputs immediately (via exec_script)
552 where they would normally compute them only when executed (and write them to
553 a depfile).
554
555 This flag will slow down GN, but is required for analyze to work properly.
556
557concurrent_links
558 Current value (from the default) = -1
559 From //build/toolchain/concurrent_links.gni:19
560
561 Limit the number of concurrent links; we often want to run fewer
562 links at once than we do compiles, because linking is memory-intensive.
563 The default to use varies by platform and by the amount of memory
564 available, so we call out to a script to get the right value.
565
566content_shell_major_version
567 Current value (from the default) = "99"
568 From //content/shell/BUILD.gn:31
569
570content_shell_product_name
571 Current value (from the default) = "Content Shell"
572 From //content/shell/BUILD.gn:29
573
574content_shell_version
575 Current value (from the default) = "99.77.34.5"
576 From //content/shell/BUILD.gn:30
577
578coverage_instrumentation_input_file
579 Current value (from the default) = ""
580 From //build/config/coverage/coverage.gni:29
581
582 The path to the coverage instrumentation input file should be a source root
583 absolute path (e.g. //out/Release/coverage_instrumentation_input.txt), and
584 the file consists of multiple lines where each line represents a path to a
585 source file, and the paths must be relative to the root build directory.
586 e.g. ../../base/task/post_task.cc for build directory 'out/Release'.
587
588 NOTE that this arg will be non-op if use_clang_coverage is false.
589
590crashpad_dependencies
591 Current value = "chromium"
592 From //.gn:51
593 Overridden from the default = "standalone"
594 From //third_party/crashpad/crashpad/build/crashpad_buildconfig.gni:19
595
596 Determines various flavors of build configuration, and which concrete
597 targets to use for dependencies. Valid values are "standalone", "chromium",
598 "fuchsia", "dart" or "external".
599
600crashpad_use_boringssl_for_http_transport_socket
601 Current value (from the default) = false
602 From //third_party/crashpad/crashpad/util/net/tls.gni:21
603
604 TODO(scottmg): https://crbug.com/crashpad/266 fuchsia:DX-690: BoringSSL
605 was removed from the Fuchsia SDK. Re-enable it when we have a way to acquire
606 a BoringSSL lib again.
607
608current_cpu
609 Current value (from the default) = ""
610 (Internally set; try `gn help current_cpu`.)
611
612current_os
613 Current value (from the default) = ""
614 (Internally set; try `gn help current_os`.)
615
616custom_toolchain
617 Current value (from the default) = ""
618 From //build/config/BUILDCONFIG.gn:144
619
620 Allows the path to a custom target toolchain to be injected as a single
621 argument, and set as the default toolchain.
622
623dawn_always_assert
624 Current value (from the default) = false
625 From //third_party/dawn/scripts/dawn_features.gni:17
626
627 Enable Dawn's ASSERTs even in release builds
628
629dawn_complete_static_libs
630 Current value (from the default) = false
631 From //third_party/dawn/scripts/dawn_features.gni:22
632
633 Should the Dawn static libraries be fully linked vs. GN's default of
634 treating them as source sets. This is useful for people using Dawn
635 standalone to produce static libraries to use in their projects.
636
637dawn_enable_d3d12
638 Current value (from the default) = false
639 From //third_party/dawn/scripts/dawn_features.gni:25
640
641 Enables the compilation of Dawn's D3D12 backend
642
643dawn_enable_metal
644 Current value (from the default) = false
645 From //third_party/dawn/scripts/dawn_features.gni:28
646
647 Enables the compilation of Dawn's Metal backend
648
649dawn_enable_null
650 Current value (from the default) = true
651 From //third_party/dawn/scripts/dawn_features.gni:32
652
653 Enables the compilation of Dawn's Null backend
654 (required for unittests, obviously non-conformant)
655
656dawn_enable_opengl
657 Current value (from the default) = false
658 From //third_party/dawn/scripts/dawn_features.gni:36
659
660 Enables the compilation of Dawn's OpenGL backend
661 (best effort, non-conformant)
662
663dawn_enable_vulkan
664 Current value (from the default) = false
665 From //third_party/dawn/scripts/dawn_features.gni:39
666
667 Enables the compilation of Dawn's Vulkan backend
668
669dcheck_always_on
670 Current value (from the default) = false
671 From //build/config/dcheck_always_on.gni:14
672
673 Set to true to enable dcheck in Release builds.
674
675dcheck_is_configurable
676 Current value (from the default) = false
677 From //build/config/dcheck_always_on.gni:9
678
679 Enables DCHECKs to be built-in, but to default to being non-fatal/log-only.
680 DCHECKS can then be set as fatal/non-fatal via the DCheckIsFatal feature.
681 See crbug.com/596231 for details on how this is used.
682
683debug_devtools
684 Current value (from the default) = false
685 From //third_party/blink/public/public_features.gni:12
686
687 If debug_devtools is set to true, JavaScript files for DevTools are stored
688 as is and loaded from disk. Otherwise, a concatenated file is stored in
689 resources.pak. It is still possible to load JS files from disk by passing
690 --debug-devtools cmdline switch.
691
692debuggable_apks
693 Current value (from the default) = true
694 From //build/config/android/config.gni:180
695
696 Mark APKs as android:debuggable="true".
697
698devtools_instrumentation_dumping
699 Current value (from the default) = false
700 From //build/config/android/abi.gni:24
701
702 Only effective if use_order_profiling = true. When this is true,
703 instrumentation switches from startup profiling after a delay, and
704 then waits for a devtools memory dump request to dump all
705 profiling information. When false, the same delay is used to switch from
706 startup, and then after a second delay all profiling information is dumped.
707 See base::android::orderfile::StartDelayedDump for more information.
708
709dfmify_dev_ui
710 Current value (from the default) = true
711 From //chrome/android/features/dev_ui/dev_ui_module.gni:8
712
713 Whether Developer UI (chrome:// pages) should be split into a separate
714 Dynamic Feature Module (DFM: //docs/android_dynamic_feature_modules.md).
715
716disable_android_lint
717 Current value (from the default) = false
718 From //build/config/android/config.gni:199
719
720 Turns off android lint. Useful for prototyping or for faster local builds.
721
722disable_autofill_assistant_dfm
723 Current value (from the default) = false
724 From //chrome/android/features/autofill_assistant/autofill_assistant_module.gni:11
725
726 This is a developer flag to be able to use the incremental build/install workflow for autofill
727 assistant. When set to true, autofill_assistant is built as part of the base apk and not a
728 separate feature module which currently doesn't support incremental builds.
729
730 TODO(http://crbug/864142): Remove once incremental bundle install is available.
731
732disable_brotli_filter
733 Current value (from the default) = false
734 From //net/features.gni:23
735
736 Do not disable brotli filter by default.
737
738disable_file_support
739 Current value (from the default) = false
740 From //net/features.gni:9
741
742 Disables support for file URLs. File URL support requires use of icu.
743
744disable_ftp_support
745 Current value (from the default) = false
746 From //net/features.gni:14
747
748disable_incremental_isolated_processes
749 Current value (from the default) = false
750 From //build/config/android/config.gni:187
751
752 Disables process isolation when building _incremental targets.
753 Required for Android M+ due to SELinux policies (stronger sandboxing).
754
755disable_libfuzzer
756 Current value (from the default) = false
757 From //build/config/sanitizers/sanitizers.gni:92
758
759 Helper variable for testing builds with disabled libfuzzer.
760 Not for client use.
761
762disable_tab_ui_dfm
763 Current value (from the default) = true
764 From //chrome/android/features/tab_ui/buildflags.gni:7
765
766 Controls the feature being a DFM or not.
767
768enable_android_night_mode
769 Current value (from the default) = true
770 From //ui/android/features.gni:6
771
772enable_app_list
773 Current value (from the default) = false
774 From //chrome/common/features.gni:24
775
776enable_arcore
777 Current value (from the default) = false
778 From //device/vr/buildflags/buildflags.gni:48
779
780 Controls inclusion of code for ARCore that must be identical across configs.
781 Once crbug.com/920424 is resolved, this will exactly control whether ARCore
782 is supported.
783 TODO(crbug.com/843374): AR should not depend on |enable_vr|.
784
785enable_av1_decoder
786 Current value (from the default) = false
787 From //media/media_options.gni:99
788
789enable_background_contents
790 Current value (from the default) = false
791 From //chrome/common/features.gni:27
792
793 Enables support for background apps.
794
795enable_background_mode
796 Current value (from the default) = false
797 From //chrome/common/features.gni:28
798
799enable_basic_print_dialog
800 Current value (from the default) = true
801 From //chrome/common/features.gni:32
802
803 Enable the printing system dialog for platforms that support printing
804 and have a system dialog.
805
806enable_basic_printing
807 Current value (from the default) = true
808 From //printing/buildflags/buildflags.gni:11
809
810 Enable basic printing support and UI.
811
812enable_blink_heap_verification
813 Current value (from the default) = false
814 From //third_party/blink/renderer/platform/heap/BUILD.gn:12
815
816 Enables heap verification.
817
818enable_callgrind
819 Current value (from the default) = false
820 From //third_party/pdfium/pdfium.gni:57
821
822 Enable callgrind for performance profiling
823
824enable_captive_portal_detection
825 Current value (from the default) = false
826 From //chrome/common/features.gni:34
827
828enable_cast_renderer
829 Current value (from the default) = false
830 From //build/config/chromecast_build.gni:46
831
832 True to enable the cast renderer. It is enabled by default for non-android
833 builds.
834
835enable_cbcs_encryption_scheme
836 Current value (from the default) = true
837 From //media/media_options.gni:76
838
839enable_cdm_host_verification
840 Current value (from the default) = false
841 From //media/media_options.gni:177
842
843enable_cdm_storage_id
844 Current value (from the default) = false
845 From //media/media_options.gni:181
846
847 Enable Storage ID which is used by CDMs. This is only available with chrome
848 branding, but may be overridden by other embedders.
849
850enable_chrome_android_internal
851 Current value (from the default) = false
852 From //build/config/android/config.gni:46
853
854 Enables using the internal Chrome for Android repository. The default
855 value depends on whether the repository is available, and if it's not but
856 this argument is manually set to True, the generation will fail.
857 The main purpose of this argument is to avoid having to maintain 2
858 repositories to support both public only and internal builds.
859
860enable_cros_libassistant
861 Current value (from the default) = false
862 From //chromeos/assistant/assistant.gni:5
863
864 Enable assistant implementation based on libassistant.
865
866enable_dav1d_decoder
867 Current value (from the default) = false
868 From //media/media_options.gni:95
869
870enable_debugallocation
871 Current value (from the default) = true
872 From //base/allocator/BUILD.gn:14
873
874 Provide a way to force disable debugallocation in Debug builds,
875 e.g. for profiling (it's more rare to profile Debug builds,
876 but people sometimes need to do that).
877
878enable_dsyms
879 Current value (from the default) = false
880 From //build/config/mac/symbols.gni:17
881
882 Produce dSYM files for targets that are configured to do so. dSYM
883 generation is controlled globally as it is a linker output (produced via
884 the //build/toolchain/mac/linker_driver.py. Enabling this will result in
885 all shared library, loadable module, and executable targets having a dSYM
886 generated.
887
888enable_extensions
889 Current value (from the default) = false
890 From //extensions/buildflags/buildflags.gni:8
891
892enable_feed_in_chrome
893 Current value (from the default) = true
894 From //components/feed/features.gni:6
895
896enable_ffmpeg_video_decoders
897 Current value (from the default) = false
898 From //media/media_options.gni:140
899
900 On Android, FFMpeg is built without video decoders by default.
901 This flag gives the option to override that decision in case there are no
902 hardware decoders. To do so, you will also need to update ffmpeg build files
903 in order to define which decoders to build in.
904
905enable_full_stack_frames_for_profiling
906 Current value (from the default) = false
907 From //build/config/compiler/BUILD.gn:70
908
909 Compile in such a way as to make it possible for the profiler to unwind full
910 stack frames. Setting this flag has a large effect on the performance of the
911 generated code than just setting profiling, but gives the profiler more
912 information to analyze.
913 Requires profiling to be set to true.
914
915enable_gpu_client_logging
916 Current value (from the default) = false
917 From //gpu/command_buffer/client/BUILD.gn:10
918
919 Enable GPU client logging without DCHECK being on.
920
921enable_gpu_service_logging
922 Current value (from the default) = false
923 From //ui/gl/BUILD.gn:23
924
925 Whether service side logging (actual calls into the GL driver) is enabled
926 or not.
927
928enable_gvr_services
929 Current value (from the default) = false
930 From //device/vr/buildflags/buildflags.gni:11
931
932enable_gwp_asan
933 Current value (from the default) = false
934 From //components/gwp_asan/buildflags/buildflags.gni:26
935
936 Convenience definition
937
938enable_gwp_asan_malloc
939 Current value (from the default) = false
940 From //components/gwp_asan/buildflags/buildflags.gni:20
941
942 Is GWP-ASan malloc/PartitionAlloc hooking enabled for chrome/ on a given
943 platform.
944
945enable_gwp_asan_partitionalloc
946 Current value (from the default) = false
947 From //components/gwp_asan/buildflags/buildflags.gni:21
948
949enable_hangout_services_extension
950 Current value (from the default) = false
951 From //chrome/common/features.gni:38
952
953 Hangout services is an extension that adds extra features to Hangouts.
954 It is enableable separately to facilitate testing.
955
956enable_hls_sample_aes
957 Current value (from the default) = false
958 From //media/media_options.gni:88
959
960 Enable HLS with SAMPLE-AES decryption.
961
962enable_incremental_d8
963 Current value (from the default) = true
964 From //build/config/android/config.gni:234
965
966 Reduce build time by using d8 incremental build.
967
968enable_internal_app_remoting_targets
969 Current value (from the default) = false
970 From //remoting/remoting_options.gni:18
971
972 Set this to enable building internal AppRemoting apps.
973
974enable_ipc_fuzzer
975 Current value (from the default) = false
976 From //tools/ipc_fuzzer/ipc_fuzzer.gni:15
977
978enable_ipc_logging
979 Current value (from the default) = true
980 From //ipc/features.gni:7
981
982 Enabling debug builds automatically sets enable_ipc_logging to true.
983
984enable_iterator_debugging
985 Current value (from the default) = false
986 From //build/config/BUILD.gn:40
987
988 When set (the default) enables C++ iterator debugging in debug builds.
989 Iterator debugging is always off in release builds (technically, this flag
990 affects the "debug" config, which is always available but applied by
991 default only in debug builds).
992
993 Iterator debugging is generally useful for catching bugs. But it can
994 introduce extra locking to check the state of an iterator against the state
995 of the current object. For iterator- and thread-heavy code, this can
996 significantly slow execution - two orders of magnitude slowdown has been
997 seen (crbug.com/903553) and iterator debugging also slows builds by making
998 generation of snapshot_blob.bin take ~40-60 s longer. Therefore this
999 defaults to off.
1000
1001enable_jni_tracing
1002 Current value (from the default) = false
1003 From //build/config/android/rules.gni:18
1004
1005enable_keystone_registration_framework
1006 Current value (from the default) = true
1007 From //chrome/BUILD.gn:52
1008
1009 Indicates whether keystone registration framework should be enabled (see
1010 action("keystone_registration_framework") below). There are some tests
1011 where we'd like for it to be disabled. (https://crbug.com/909080)
1012
1013enable_kythe_annotations
1014 Current value (from the default) = false
1015 From //mojo/public/tools/bindings/mojom.gni:45
1016
1017 Enable adding annotations to generated C++ headers that are used for
1018 cross-references in CodeSearch.
1019
1020enable_legacy_desktop_in_product_help
1021 Current value (from the default) = false
1022 From //components/feature_engagement/features.gni:6
1023
1024enable_libaom_decoder
1025 Current value (from the default) = false
1026 From //third_party/libaom/options.gni:5
1027
1028 Enable decoding AV1 video files.
1029
1030enable_linux_installer
1031 Current value (from the default) = false
1032 From //chrome/installer/BUILD.gn:11
1033
1034enable_location_source
1035 Current value (from the default) = true
1036 From //base/BUILD.gn:48
1037
1038 Indicates if the Location object contains the source code information
1039 (file, function, line). False means only the program counter (and currently
1040 file name) is saved.
1041
1042enable_log_error_not_reached
1043 Current value (from the default) = false
1044 From //build/config/logging.gni:9
1045
1046 Use LogErrorNotReached() for NOTREACHED().
1047
1048enable_logging_override
1049 Current value (from the default) = false
1050 From //media/media_options.gni:93
1051
1052 Enable logging override, e.g. enable DVLOGs at build time. Must not be
1053 enabled when |use_jumbo_build| is true, in which case multiple .cc files
1054 are combined and we could override more logging than expected.
1055
1056enable_mdns
1057 Current value (from the default) = false
1058 From //net/features.gni:26
1059
1060 Multicast DNS.
1061
1062enable_media_remoting
1063 Current value (from the default) = true
1064 From //media/media_options.gni:269
1065
1066 This switch defines whether the Media Remoting implementation will be built.
1067 When enabled, media is allowed to be renderer and played back on remote
1068 devices when the tab is being casted and other conditions are met.
1069
1070enable_media_remoting_rpc
1071 Current value (from the default) = false
1072 From //media/media_options.gni:275
1073
1074 Media Remoting RPC is disabled on Android since it's unused but increases
1075 the native binary size by ~70Kb.
1076
1077enable_message_center
1078 Current value (from the default) = false
1079 From //ui/base/ui_features.gni:15
1080
1081 Whether the message center should be included for displaying notifications.
1082
1083enable_mojo_media
1084 Current value (from the default) = true
1085 From //media/media_options.gni:158
1086
1087enable_mojo_tracing
1088 Current value (from the default) = false
1089 From //mojo/public/cpp/bindings/BUILD.gn:10
1090
1091enable_mojom_closure_compile
1092 Current value (from the default) = false
1093 From //mojo/public/tools/bindings/mojom.gni:41
1094
1095 Enables Closure compilation of generated JS lite bindings. In environments
1096 where compilation is supported, any mojom target "foo" will also have a
1097 corresponding "foo_js_library_for_compile" target generated.
1098
1099enable_mojom_message_id_scrambling
1100 Current value (from the default) = true
1101 From //mojo/public/tools/bindings/mojom.gni:36
1102
1103 Controls message ID scrambling behavior. If |true|, message IDs are
1104 scrambled (i.e. randomized based on the contents of //chrome/VERSION) on
1105 non-Chrome OS desktop platforms. Set to |false| to disable message ID
1106 scrambling on all platforms.
1107
1108enable_mojom_typemapping
1109 Current value (from the default) = true
1110 From //mojo/public/tools/bindings/mojom.gni:30
1111
1112 Indicates whether typemapping should be supported in this build
1113 configuration. This may be disabled when building external projects which
1114 depend on //mojo but which do not need/want all of the Chromium tree
1115 dependencies that come with typemapping.
1116
1117 Note that (perhaps obviously) a huge amount of Chromium code will not build
1118 with typemapping disabled, so it is never valid to set this to |false| in
1119 any Chromium build configuration.
1120
1121enable_mse_mpeg2ts_stream_parser
1122 Current value (from the default) = false
1123 From //media/media_options.gni:71
1124
1125enable_mutex_priority_inheritance
1126 Current value (from the default) = false
1127 From //base/BUILD.gn:61
1128
1129 Set to true to enable mutex priority inheritance. See the comments in
1130 LockImpl::PriorityInheritanceAvailable() in lock_impl_posix.cc for the
1131 platform requirements to safely enable priority inheritance.
1132
1133enable_nacl
1134 Current value (from the default) = false
1135 From //components/nacl/features.gni:13
1136
1137enable_nacl_nonsfi
1138 Current value (from the default) = true
1139 From //components/nacl/features.gni:18
1140
1141 Non-SFI is not yet supported on mipsel
1142
1143enable_native_notifications
1144 Current value (from the default) = true
1145 From //chrome/common/features.gni:41
1146
1147 Enables usage of the system-provided notification center.
1148
1149enable_native_window_nav_buttons
1150 Current value (from the default) = false
1151 From //ui/views/features.gni:10
1152
1153 Whether we should draw the minimize, maximize/restore, and close
1154 buttons using the system theme. Only used on Linux.
1155
1156enable_nocompile_tests
1157 Current value (from the default) = false
1158 From //build/nocompile.gni:65
1159
1160enable_oculus_vr
1161 Current value (from the default) = false
1162 From //device/vr/buildflags/buildflags.gni:27
1163
1164 To build with Oculus support, the Oculus SDK for Windows will need to be
1165 installed in third_party/libovr/src. See
1166 third_party/libovr/README.chromium for details.
1167
1168enable_offline_pages
1169 Current value (from the default) = true
1170 From //components/offline_pages/buildflags/features.gni:8
1171
1172 Whether to enable OfflinePages support. Currently user-visible features
1173 are Android-only.
1174
1175enable_offline_pages_harness
1176 Current value (from the default) = false
1177 From //components/offline_pages/buildflags/features.gni:12
1178
1179 This enables test API for locally-built harness which is used for quality
1180 evaluations. Requires setting this variable manually at local environment.
1181
1182enable_one_click_signin
1183 Current value (from the default) = false
1184 From //chrome/common/features.gni:45
1185
1186enable_openscreen
1187 Current value (from the default) = false
1188 From //chrome/browser/media/router/features.gni:11
1189
1190 Exclude openscreen in NaCl, since there is no packet support
1191 in that build configuration. Once NaCl goes away, this check should be
1192 removed.
1193
1194enable_openvr
1195 Current value (from the default) = false
1196 From //device/vr/buildflags/buildflags.gni:14
1197
1198enable_openxr
1199 Current value (from the default) = false
1200 From //device/vr/buildflags/buildflags.gni:22
1201
1202 To build with OpenXR support, the OpenXR Loader needs to be pulled to
1203 third_party/openxr.
1204 TODO (crbug.com/998160): there's an issue affecting the __preload macro
1205 used in DirectXMathVector.inl on Windows on Arm.
1206
1207enable_pdf
1208 Current value (from the default) = false
1209 From //pdf/features.gni:12
1210
1211enable_perfetto_benchmarks
1212 Current value (from the default) = false
1213 From //third_party/perfetto/gn/perfetto.gni:175
1214
1215enable_perfetto_fuzzers
1216 Current value (from the default) = false
1217 From //third_party/perfetto/gn/perfetto.gni:178
1218
1219enable_perfetto_heapprofd
1220 Current value (from the default) = false
1221 From //third_party/perfetto/gn/perfetto.gni:146
1222
1223enable_perfetto_integration_tests
1224 Current value (from the default) = false
1225 From //third_party/perfetto/gn/perfetto.gni:173
1226
1227enable_perfetto_ipc
1228 Current value (from the default) = true
1229 From //third_party/perfetto/gn/perfetto.gni:138
1230
1231 Allow the embedder to use the IPC layer. In turn this allows to use the
1232 system backend in the client library.
1233 This includes building things that rely on POSIX sockets, this places
1234 limitations on the supported operating systems.
1235
1236enable_perfetto_platform_services
1237 Current value (from the default) = false
1238 From //third_party/perfetto/gn/perfetto.gni:132
1239
1240enable_perfetto_tools
1241 Current value (from the default) = false
1242 From //third_party/perfetto/gn/perfetto.gni:164
1243
1244enable_perfetto_trace_processor
1245 Current value (from the default) = true
1246 From //third_party/perfetto/gn/perfetto.gni:153
1247
1248enable_perfetto_trace_processor_json
1249 Current value (from the default) = true
1250 From //third_party/perfetto/gn/perfetto.gni:206
1251
1252enable_perfetto_trace_processor_linenoise
1253 Current value (from the default) = false
1254 From //third_party/perfetto/gn/perfetto.gni:210
1255
1256enable_perfetto_trace_processor_percentile
1257 Current value (from the default) = false
1258 From //third_party/perfetto/gn/perfetto.gni:202
1259
1260enable_perfetto_trace_processor_sqlite
1261 Current value (from the default) = true
1262 From //third_party/perfetto/gn/perfetto.gni:198
1263
1264enable_perfetto_ui
1265 Current value (from the default) = false
1266 From //third_party/perfetto/gn/perfetto.gni:167
1267
1268 Allows to build the UI (TypeScript/ HTML / WASM)
1269
1270enable_perfetto_unittests
1271 Current value (from the default) = true
1272 From //third_party/perfetto/gn/perfetto.gni:169
1273
1274enable_perfetto_version_gen
1275 Current value (from the default) = false
1276 From //third_party/perfetto/gn/perfetto.gni:184
1277
1278enable_perfetto_watchdog
1279 Current value (from the default) = false
1280 From //third_party/perfetto/gn/perfetto.gni:160
1281
1282enable_platform_ac3_eac3_audio
1283 Current value (from the default) = false
1284 From //media/media_options.gni:66
1285
1286 Enables AC3/EAC3 audio demuxing. This is enabled only on Chromecast, since
1287 it only provides demuxing, and is only useful for AC3/EAC3 audio
1288 pass-through to HDMI sink on Chromecast.
1289
1290enable_platform_dolby_vision
1291 Current value (from the default) = false
1292 From //media/media_options.gni:85
1293
1294 Enable Dolby Vision demuxing. Enable by default for Chromecast. Actual
1295 decoding must be provided by the platform. Note some Dolby Vision profiles
1296 which are encoded using HEVC require |enable_platform_hevc| to be enabled.
1297
1298enable_platform_hevc
1299 Current value (from the default) = false
1300 From //media/media_options.gni:80
1301
1302 Enable HEVC/H265 demuxing. Actual decoding must be provided by the
1303 platform. Enabled by default for Chromecast.
1304
1305enable_platform_mpeg_h_audio
1306 Current value (from the default) = false
1307 From //media/media_options.gni:68
1308
1309enable_plugins
1310 Current value (from the default) = false
1311 From //ppapi/buildflags/buildflags.gni:10
1312
1313enable_precompiled_headers
1314 Current value (from the default) = true
1315 From //build/config/pch.gni:11
1316
1317 Precompiled header file support is by default available,
1318 but for distributed build system uses (like goma) or when
1319 doing official builds.
1320
1321enable_print_media_l10n
1322 Current value (from the default) = false
1323 From //components/printing/browser/BUILD.gn:9
1324
1325 For now, we only enable print media localization on Chrome OS.
1326
1327enable_print_preview
1328 Current value (from the default) = false
1329 From //printing/buildflags/buildflags.gni:17
1330
1331 Enable printing with print preview. It implies enable_basic_printing.
1332 Note: It would be convenient to not repeat many of the same conditions in
1333 enable_basic_printing below. However, GN does not allow the use of
1334 enable_basic_printing within the same declare_args() block.
1335
1336enable_profiling
1337 Current value (from the default) = false
1338 From //build/config/compiler/compiler.gni:48
1339
1340 Compile in such a way as to enable profiling of the generated code. For
1341 example, don't omit the frame pointer and leave in symbols.
1342
1343enable_proguard_obfuscation
1344 Current value (from the default) = true
1345 From //base/android/proguard/proguard.gni:8
1346
1347 Controls whether proguard obfuscation is enabled for targets
1348 configured to use it.
1349
1350enable_random_mojo_delays
1351 Current value (from the default) = false
1352 From //mojo/public/cpp/bindings/BUILD.gn:16
1353
1354 enable_random_mojo_delays starts a task runner that periodically pauses
1355 random Mojo bindings and later resumes them, in order to test whether parts
1356 of the code implicitly rely on FIFO processing of messages sent on different
1357 message pipes (which they should not).
1358
1359enable_reading_list
1360 Current value (from the default) = true
1361 From //components/reading_list/features/reading_list.gni:8
1362
1363 Controls whether reading list support is active or not. Currently only
1364 supported on iOS (on other platforms, the feature is always disabled).
1365
1366enable_remoting
1367 Current value (from the default) = true
1368 From //remoting/remoting_enable.gni:12
1369
1370enable_remoting_jscompile
1371 Current value (from the default) = false
1372 From //remoting/remoting_options.gni:15
1373
1374 Set this to run the jscompile checks after building the webapp.
1375
1376enable_reporting
1377 Current value (from the default) = true
1378 From //net/features.gni:29
1379
1380 Reporting not used on iOS.
1381
1382enable_resource_whitelist_generation
1383 Current value (from the default) = false
1384 From //build/toolchain/gcc_toolchain.gni:27
1385
1386enable_runtime_media_renderer_selection
1387 Current value (from the default) = false
1388 From //media/media_options.gni:172
1389
1390 When enabled, this feature allows developers to use a runtime flag to
1391 choose the implementation of the renderer that is used. On a build which
1392 enables the mojo renderer, if --disable-mojo-renderer is passed at start-up,
1393 the "default" renderer will be used instead. Both renderer implementations
1394 will be linked if this feature is enabled, increasing the binary size. This
1395 feature does not make sense if the mojo renderer is not enabled.
1396
1397enable_service_discovery
1398 Current value (from the default) = false
1399 From //chrome/common/features.gni:47
1400
1401enable_session_service
1402 Current value (from the default) = false
1403 From //chrome/common/features.gni:51
1404
1405 Enables use of the session service, which is enabled by default.
1406 Android stores them separately on the Java side.
1407
1408enable_stripping
1409 Current value (from the default) = false
1410 From //build/config/mac/symbols.gni:24
1411
1412 Strip symbols from linked targets by default. If this is enabled, the
1413 //build/config/mac:strip_all config will be applied to all linked targets.
1414 If custom stripping parameters are required, remove that config from a
1415 linked target and apply custom -Wcrl,strip flags. See
1416 //build/toolchain/mac/linker_driver.py for more information.
1417
1418enable_supervised_users
1419 Current value (from the default) = true
1420 From //chrome/common/features.gni:53
1421
1422enable_swiftshader
1423 Current value (from the default) = false
1424 From //ui/gl/BUILD.gn:15
1425
1426enable_test_mojo_media_client
1427 Current value (from the default) = false
1428 From //media/media_options.gni:164
1429
1430 Enable the TestMojoMediaClient to be used in mojo MediaService. This is for
1431 testing only and will override the default platform MojoMediaClient, if any.
1432
1433enable_trichrome_synchronized_proguard
1434 Current value (from the default) = false
1435 From //chrome/android/trichrome.gni:27
1436
1437 WIP: Enable synchronized proguard for Trichrome. (http://crbug.com/901465)
1438 Only affects trichrome targets when !is_java_debug.
1439
1440enable_typescript_bindings
1441 Current value (from the default) = false
1442 From //mojo/public/tools/bindings/mojom.gni:48
1443
1444 Enables generating Typescript bindings and compiling them to JS bindings.
1445
1446enable_vr
1447 Current value (from the default) = false
1448 From //device/vr/buildflags/buildflags.gni:35
1449
1450enable_vulkan
1451 Current value (from the default) = true
1452 From //gpu/vulkan/features.gni:11
1453
1454 Enable experimental vulkan backend.
1455
1456enable_wayland_server
1457 Current value (from the default) = false
1458 From //chrome/common/features.gni:56
1459
1460 Indicates if Wayland display server support is enabled.
1461
1462enable_websockets
1463 Current value (from the default) = true
1464 From //net/features.gni:13
1465
1466 WebSockets and socket stream code are not used on iOS and are optional in
1467 cronet.
1468
1469enable_webui_tab_strip
1470 Current value (from the default) = false
1471 From //ui/webui/webui_features.gni:17
1472
1473 Enable the WebUI version of the browser's tab strip.
1474
1475enable_widevine
1476 Current value (from the default) = true
1477 From //third_party/widevine/cdm/widevine.gni:13
1478
1479 Enables Widevine key system support. Enabled by default in Google Chrome,
1480 on Android and Fuchsia platforms.
1481 Can be optionally enabled in Chromium on non-Android platforms. Please see
1482 //src/third_party/widevine/LICENSE file for details.
1483
1484enable_wifi_display
1485 Current value (from the default) = false
1486 From //extensions/buildflags/buildflags.gni:12
1487
1488 Enables Wi-Fi Display functionality
1489 WARNING: This enables MPEG Transport Stream (MPEG-TS) encoding!
1490
1491enable_windows_mr
1492 Current value (from the default) = false
1493 From //device/vr/buildflags/buildflags.gni:16
1494
1495fatal_linker_warnings
1496 Current value (from the default) = true
1497 From //build/config/compiler/BUILD.gn:78
1498
1499 Enable fatal linker warnings. Building Chromium with certain versions
1500 of binutils can cause linker warning.
1501
1502ffmpeg_branding
1503 Current value (from the default) = "Chromium"
1504 From //third_party/ffmpeg/ffmpeg_options.gni:34
1505
1506 Controls whether we build the Chromium or Google Chrome version of FFmpeg.
1507 The Google Chrome version contains additional codecs. Typical values are
1508 Chromium, Chrome, and ChromeOS.
1509
1510ffmpeg_use_atomics_fallback
1511 Current value (from the default) = false
1512 From //third_party/ffmpeg/ffmpeg_options.gni:51
1513
1514 Set to true to force the use of ffmpeg's stdatomic fallback code.
1515
1516 Windows and GCC prior to 4.9 lack stdatomic.h.
1517
1518 This is also useful for developers who use icecc, which relies upon
1519 clang's -frewrite-includes flag which is broken with #include_next
1520 directives as used in chromium's clang stdatomic.h.
1521 Some background: https://bugs.llvm.org/show_bug.cgi?id=26828
1522
1523fieldtrial_testing_like_official_build
1524 Current value (from the default) = false
1525 From //components/variations/service/BUILD.gn:14
1526
1527 Set to true make a build that disables activation of field trial tests
1528 specified in testing/variations/fieldtrial_testing_config.json.
1529 Note: this setting is ignored if is_chrome_branded.
1530 TODO(thakis): It's strange this is called "_like_official_build" but then
1531 checks is_chrome_branded, not is_official_build.
1532
1533forbid_non_component_debug_builds
1534 Current value (from the default) = true
1535 From //build/config/compiler/compiler.gni:89
1536
1537 Whether an error should be raised on attempts to make debug builds with
1538 is_component_build=false. Very large debug symbols can have unwanted side
1539 effects so this is enforced by default for chromium.
1540
1541force_local_build_id
1542 Current value (from the default) = false
1543 From //build/config/compiler/BUILD.gn:139
1544
1545 By default only the binaries in official builds get build IDs.
1546
1547full_wpo_on_official
1548 Current value (from the default) = false
1549 From //build/config/compiler/compiler.gni:183
1550
1551gcc_target_rpath
1552 Current value (from the default) = ""
1553 From //build/config/gcc/BUILD.gn:19
1554
1555 When non empty, overrides the target rpath value. This allows a user to
1556 make a Chromium build where binaries and shared libraries are meant to be
1557 installed into separate directories, like /usr/bin/chromium and
1558 /usr/lib/chromium for instance. It is useful when a build system that
1559 generates a whole target root filesystem (like Yocto) is used on top of gn,
1560 especially when cross-compiling.
1561 Note: this gn arg is similar to gyp target_rpath generator flag.
1562
1563generate_linker_map
1564 Current value (from the default) = false
1565 From //build/toolchain/toolchain.gni:26
1566
1567 Used for binary size analysis.
1568
1569generate_order_files
1570 Current value (from the default) = false
1571 From //build/config/chrome_build.gni:17
1572
1573 Turn this on to generate order files. See
1574 https://chromium.googlesource.com/chromium/src/+/master/docs/win_order_files.md
1575
1576gold_path
1577 Current value (from the default) = false
1578 From //build/config/compiler/BUILD.gn:74
1579
1580 When we are going to use gold we need to find it.
1581 This is initialized below, after use_gold might have been overridden.
1582
1583goma_dir
1584 Current value (from the default) = "/home/daniel/goma"
1585 From //build/toolchain/goma.gni:26
1586
1587 Absolute directory containing the gomacc binary.
1588
1589google_api_key
1590 Current value (from the default) = ""
1591 From //google_apis/BUILD.gn:46
1592
1593 Set these to bake the specified API keys and OAuth client
1594 IDs/secrets into your build.
1595
1596 If you create a build without values baked in, you can instead
1597 set environment variables to provide the keys at runtime (see
1598 src/google_apis/google_api_keys.h for details). Features that
1599 require server-side APIs may fail to work if no keys are
1600 provided.
1601
1602 Note that if you are building an official build or if
1603 use_official_google_api_keys has been set to trie (explicitly or
1604 implicitly), these values will be ignored and the official
1605 keys will be used instead.
1606
1607google_default_client_id
1608 Current value (from the default) = ""
1609 From //google_apis/BUILD.gn:49
1610
1611 See google_api_key.
1612
1613google_default_client_secret
1614 Current value (from the default) = ""
1615 From //google_apis/BUILD.gn:52
1616
1617 See google_api_key.
1618
1619gtest_enable_absl_printers
1620 Current value (from the default) = false
1621 From //third_party/googletest/BUILD.gn:9
1622
1623 If true, it assumes that //third_party/abseil-cpp is an available dependency.
1624
1625gtk_version
1626 Current value (from the default) = 3
1627 From //build/config/linux/gtk/gtk.gni:12
1628
1629 The (major) version of GTK to build against.
1630
1631has_gomacc_path
1632 Current value (from the default) = false
1633 From //build/toolchain/goma.gni:14
1634
1635 This flag is for ChromeOS compiler wrapper.
1636 By passing gomacc path via GOMACC_PATH environment variable, ChromeOS'
1637 compiler wrapper invokes gomacc inside it.
1638
1639has_native_accessibility
1640 Current value (from the default) = false
1641 From //ui/base/ui_features.gni:12
1642
1643 Whether the platform provides a native accessibility toolkit.
1644
1645host_byteorder
1646 Current value (from the default) = "undefined"
1647 From //build/config/host_byteorder.gni:9
1648
1649host_cpu
1650 Current value (from the default) = "x64"
1651 (Internally set; try `gn help host_cpu`.)
1652
1653host_os
1654 Current value (from the default) = "linux"
1655 (Internally set; try `gn help host_os`.)
1656
1657host_pkg_config
1658 Current value (from the default) = ""
1659 From //build/config/linux/pkg_config.gni:36
1660
1661 A optional pkg-config wrapper to use for tools built on the host.
1662
1663host_toolchain
1664 Current value (from the default) = ""
1665 From //build/config/BUILDCONFIG.gn:148
1666
1667 This should not normally be set as a build argument. It's here so that
1668 every toolchain can pass through the "global" value via toolchain_args().
1669
1670hwasan_platform
1671 Current value (from the default) = false
1672 From //build/config/sanitizers/sanitizers.gni:21
1673
1674 Specify whether to target the platform's copy of the HWASan runtime,
1675 rather than one bundled with the application.
1676
1677icu_use_data_file
1678 Current value (from the default) = true
1679 From //third_party/icu/config.gni:8
1680
1681 Tells icu to load an external data file rather than rely on the icudata
1682 being linked directly into the binary.
1683
1684ignore_elf32_limitations
1685 Current value (from the default) = false
1686 From //build_overrides/build.gni:39
1687
1688 Android 32-bit non-component, non-clang builds cannot have symbol_level=2
1689 due to 4GiB file size limit, see https://crbug.com/648948.
1690 Set this flag to true to skip the assertion.
1691
1692include_transport_security_state_preload_list
1693 Current value (from the default) = true
1694 From //net/features.gni:37
1695
1696 Includes the transport security state preload list. This list includes
1697 mechanisms (e.g. HSTS, HPKP) to enforce trusted connections to a significant
1698 set of hardcoded domains. While this list has a several hundred KB of binary
1699 size footprint, this flag should not be disabled unless the embedder is
1700 willing to take the responsibility to make sure that all important
1701 connections use HTTPS.
1702
1703include_vr_data
1704 Current value (from the default) = false
1705 From //device/vr/buildflags/buildflags.gni:40
1706
1707 Whether to include VR extras like test APKs in non-VR-specific targets
1708
1709incremental_apk_by_default
1710 Current value (from the default) = false
1711 From //build/config/android/config.gni:192
1712
1713 Build incremental targets whenever possible.
1714 Ex. with this arg set to true, the chrome_public_apk target result in
1715 chrome_public_apk_incremental being built.
1716
1717init_stack_vars
1718 Current value (from the default) = false
1719 From //build/config/compiler/BUILD.gn:145
1720
1721 Initialize all local variables with a pattern. This flag will fill uninitialized
1722 floating-point types (and 32-bit pointers) with 0xFF and the rest with 0xAA.
1723 This allows to make behavior of uninitialized memory bugs consistent, easier to
1724 recognize when debugging and often just to crash immediately.
1725
1726ios_deployment_target
1727 Current value (from the default) = "12.0"
1728 From //build/config/ios/ios_sdk_overrides.gni:10
1729
1730 Version of iOS that we're targeting.
1731
1732is_asan
1733 Current value (from the default) = false
1734 From //build/config/sanitizers/sanitizers.gni:12
1735
1736 Compile for Address Sanitizer to find memory bugs.
1737
1738is_cast_audio_only
1739 Current value (from the default) = false
1740 From //build/config/chromecast_build.gni:23
1741
1742 Set this true for an audio-only Chromecast build.
1743
1744is_cast_desktop_build
1745 Current value (from the default) = false
1746 From //build/config/chromecast_build.gni:39
1747
1748 True if Chromecast build is targeted for linux desktop. This type of build
1749 is useful for testing and development, but currently supports only a subset
1750 of Cast functionality. Though this defaults to true for x86 Linux devices,
1751 this should be overriden manually for an embedded x86 build.
1752 TODO(slan): Remove instances of this when x86 is a fully supported platform.
1753
1754is_cfi
1755 Current value (from the default) = false
1756 From //build/config/sanitizers/sanitizers.gni:58
1757
1758 Compile with Control Flow Integrity to protect virtual calls and casts.
1759 See http://clang.llvm.org/docs/ControlFlowIntegrity.html
1760
1761 TODO(pcc): Remove this flag if/when CFI is enabled in all official builds.
1762
1763is_chrome_branded
1764 Current value (from the default) = false
1765 From //build/config/chrome_build.gni:9
1766
1767 Select the desired branding flavor. False means normal Chromium branding,
1768 true means official Google Chrome branding (requires extra Google-internal
1769 resources).
1770
1771is_chromecast
1772 Current value (from the default) = false
1773 From //build/config/chromecast_build.gni:11
1774
1775 Set this true for a Chromecast build. Chromecast builds are supported on
1776 Linux and Android.
1777
1778is_clang
1779 Current value (from the default) = true
1780 From //build/config/BUILDCONFIG.gn:137
1781
1782 Set to true when compiling with the Clang compiler.
1783
1784is_component_build
1785 Current value (from the default) = true
1786 From //build/config/BUILDCONFIG.gn:165
1787
1788 Component build. Setting to true compiles targets declared as "components"
1789 as shared libraries loaded dynamically. This speeds up development time.
1790 When false, components will be linked statically.
1791
1792 For more information see
1793 https://chromium.googlesource.com/chromium/src/+/master/docs/component_build.md
1794
1795is_component_ffmpeg
1796 Current value (from the default) = true
1797 From //third_party/ffmpeg/ffmpeg_options.gni:41
1798
1799 Set true to build ffmpeg as a shared library. NOTE: this means we should
1800 always consult is_component_ffmpeg instead of is_component_build for
1801 ffmpeg targets. This helps linux chromium packagers that swap out our
1802 ffmpeg.so with their own. See discussion here
1803 https://groups.google.com/a/chromium.org/forum/#!msg/chromium-packagers/R5rcZXWxBEQ/B6k0zzmJbvcJ
1804
1805is_ct_supported
1806 Current value (from the default) = true
1807 From //services/network/public/cpp/features.gni:10
1808
1809 Certificate transparency is not supported on iOS.
1810 TODO(mmenke): It's actually not supported on Android, either.
1811
1812is_debug
1813 Current value (from the default) = true
1814 From //build/config/BUILDCONFIG.gn:155
1815
1816 Debug build. Enabling official builds automatically sets is_debug to false.
1817
1818is_desktop_linux
1819 Current value (from the default) = false
1820 From //build/config/BUILDCONFIG.gn:134
1821
1822 Whether we're a traditional desktop unix.
1823
1824is_hwasan
1825 Current value (from the default) = false
1826 From //build/config/sanitizers/sanitizers.gni:17
1827
1828 Compile for Hardware-Assisted Address Sanitizer to find memory bugs
1829 (android/arm64 only).
1830 See http://clang.llvm.org/docs/HardwareAssistedAddressSanitizerDesign.html
1831
1832is_java_debug
1833 Current value (from the default) = true
1834 From //build/config/android/config.gni:173
1835
1836 Java debug on Android. Having this on enables multidexing, and turning it
1837 off will enable proguard.
1838
1839is_lsan
1840 Current value (from the default) = false
1841 From //build/config/sanitizers/sanitizers.gni:24
1842
1843 Compile for Leak Sanitizer to find leaks.
1844
1845is_msan
1846 Current value (from the default) = false
1847 From //build/config/sanitizers/sanitizers.gni:27
1848
1849 Compile for Memory Sanitizer to find uninitialized reads.
1850
1851is_multi_dll_chrome
1852 Current value (from the default) = false
1853 From //build/config/chrome_build.gni:13
1854
1855 Break chrome.dll into multple pieces based on process type. Only available
1856 on Windows.
1857
1858is_nacl_glibc
1859 Current value (from the default) = false
1860 From //build/config/nacl/config.gni:9
1861
1862 Native Client supports both Newlib and Glibc C libraries where Newlib
1863 is assumed to be the default one; use this to determine whether Glibc
1864 is being used instead.
1865
1866is_official_build
1867 Current value (from the default) = false
1868 From //build/config/BUILDCONFIG.gn:131
1869
1870 Set to enable the official build level of optimization. This has nothing
1871 to do with branding, but enables an additional level of optimization above
1872 release (!is_debug). This might be better expressed as a tri-state
1873 (debug, release, official) but for historical reasons there are two
1874 separate flags.
1875
1876is_perfetto_build_generator
1877 Current value (from the default) = false
1878 From //third_party/perfetto/gn/perfetto.gni:78
1879
1880 All the tools/gen_* scripts set this to true. This is mainly used to locate
1881 .gni files from //gn rather than //build.
1882
1883is_perfetto_embedder
1884 Current value (from the default) = false
1885 From //third_party/perfetto/gn/perfetto.gni:83
1886
1887 This is for override via `gn args` (e.g. for tools/gen_xxx). Embedders
1888 based on GN (e.g. v8) should NOT set this and instead directly sets
1889 perfetto_build_with_embedder=true in their GN files.
1890
1891is_tsan
1892 Current value (from the default) = false
1893 From //build/config/sanitizers/sanitizers.gni:30
1894
1895 Compile for Thread Sanitizer to find threading bugs.
1896
1897is_ubsan
1898 Current value (from the default) = false
1899 From //build/config/sanitizers/sanitizers.gni:34
1900
1901 Compile for Undefined Behaviour Sanitizer to find various types of
1902 undefined behaviour (excludes vptr checks).
1903
1904is_ubsan_no_recover
1905 Current value (from the default) = false
1906 From //build/config/sanitizers/sanitizers.gni:37
1907
1908 Halt the program if a problem is detected.
1909
1910is_ubsan_null
1911 Current value (from the default) = false
1912 From //build/config/sanitizers/sanitizers.gni:40
1913
1914 Compile for Undefined Behaviour Sanitizer's null pointer checks.
1915
1916is_ubsan_security
1917 Current value (from the default) = false
1918 From //build/config/sanitizers/sanitizers.gni:88
1919
1920 Enables core ubsan security features. Will later be removed once it matches
1921 is_ubsan.
1922
1923is_ubsan_vptr
1924 Current value (from the default) = false
1925 From //build/config/sanitizers/sanitizers.gni:43
1926
1927 Compile for Undefined Behaviour Sanitizer's vptr checks.
1928
1929is_unsafe_developer_build
1930 Current value (from the default) = true
1931 From //base/BUILD.gn:53
1932
1933 Unsafe developer build. Has developer-friendly features that may weaken or
1934 disable security measures like sandboxing or ASLR.
1935 IMPORTANT: Unsafe developer builds should never be distributed to end users.
1936
1937is_win_fastlink
1938 Current value (from the default) = false
1939 From //build/config/compiler/compiler.gni:73
1940
1941 Tell VS to create a PDB that references information in .obj files rather
1942 than copying it all. This should improve linker performance. mspdbcmf.exe
1943 can be used to convert a fastlink pdb to a normal one.
1944
1945jumbo_build_excluded
1946 Current value (from the default) = []
1947 From //build/config/jumbo.gni:27
1948
1949 A list of build targets to exclude from jumbo builds, for optimal
1950 round trip time when frequently changing a set of cpp files. The
1951 targets can be just the short name (in which case it matches any
1952 target with that name), a directory prefixed with the root
1953 specifier //, or a full build target label.
1954
1955 Example:
1956 These would all exclude the "browser" target in a file
1957 content/browser/BUILD.gn, and potentially more.
1958
1959 jumbo_build_excluded = [ "browser" ]
1960 jumbo_build_excluded = [ "//content/browser" ]
1961 jumbo_build_excluded = [ "//content/browser:browser" ]
1962
1963jumbo_file_merge_limit
1964 Current value (from the default) = -1
1965 From //build/config/jumbo.gni:43
1966
1967 How many files to group on average. Smaller numbers give more
1968 parallellism, higher numbers give less total CPU usage. Higher
1969 numbers also give longer single-file recompilation times.
1970
1971 Recommendations:
1972 Higher numbers than 100 does not reduce wall clock compile times
1973 even for 4 cores or less so no reason to go higher than 100.
1974 Going from 50 to 100 with a 4 core CPU saves about 3% CPU time and
1975 3% wall clock time in a tree with blink, v8 and content
1976 jumbofied. At the same time it increases the compile time for the
1977 largest jumbo chunks by 10-20% and reduces the chance to use all
1978 available CPU cores. So set the default to 50 to balance between
1979 high and low-core build performance. -1 means do the default which
1980 varies depending on whether goma is enabled.
1981
1982ldso_path
1983 Current value (from the default) = ""
1984 From //build/config/gcc/BUILD.gn:20
1985
1986libcxx_abi_unstable
1987 Current value (from the default) = true
1988 From //build/config/c++/BUILD.gn:17
1989
1990 lldb pretty printing only works when libc++ is built in the __1 (or __ndk1)
1991 namespaces. For pretty printing to work out-of-the-box on Mac (where lldb
1992 is primarily used), this flag is set to false to build with the __1
1993 namespace (to maintain ABI compatibility, this implies building without
1994 _LIBCPP_ABI_UNSTABLE). This is not necessary on non-component builds
1995 because we leave the ABI version set to __1 in that case because libc++
1996 symbols are not exported.
1997 TODO(thomasanderson): Set this to true by default once rL352899 is available
1998 in MacOS's lldb.
1999
2000libcxx_is_shared
2001 Current value (from the default) = true
2002 From //build/config/c++/c++.gni:44
2003
2004 WARNING: Setting this to a non-default value is highly discouraged.
2005 If true, libc++ will be built as a shared library; otherwise libc++ will be
2006 linked statically. Setting this to something other than the default is
2007 unsupported and can be broken by libc++ rolls. Note that if this is set to
2008 true, you must also set libcxx_abi_unstable=false, which is bad for
2009 performance and memory use.
2010
2011libcxx_natvis_include
2012 Current value (from the default) = true
2013 From //build/config/c++/c++.gni:30
2014
2015 Builds libcxx Natvis into the symbols for type visualization.
2016 Set to false to workaround http://crbug.com/966676 and
2017 http://crbug.com/966687.
2018
2019libcxx_svn_revision
2020 Current value (from the default) = "361348"
2021 From //buildtools/deps_revisions.gni:8
2022
2023 The libc++ svn revision that belongs to the git hash in DEPS. Used to cause
2024 full rebuilds on libc++ rolls.
2025
2026libyuv_disable_jpeg
2027 Current value (from the default) = false
2028 From //third_party/libyuv/libyuv.gni:15
2029
2030libyuv_include_tests
2031 Current value (from the default) = false
2032 From //third_party/libyuv/libyuv.gni:14
2033
2034libyuv_symbols_visible
2035 Current value (from the default) = false
2036 From //third_party/libyuv/BUILD.gn:19
2037
2038 When building a shared library using a target in WebRTC or
2039 Chromium projects that depends on libyuv, setting this flag
2040 to true makes libyuv symbols visible inside that library.
2041
2042libyuv_use_gflags
2043 Current value (from the default) = true
2044 From //third_party/libyuv/BUILD.gn:14
2045
2046 Set to false to disable building with gflags.
2047
2048libyuv_use_mmi
2049 Current value (from the default) = false
2050 From //third_party/libyuv/libyuv.gni:22
2051
2052libyuv_use_msa
2053 Current value (from the default) = false
2054 From //third_party/libyuv/libyuv.gni:20
2055
2056libyuv_use_neon
2057 Current value (from the default) = false
2058 From //third_party/libyuv/libyuv.gni:17
2059
2060link_pulseaudio
2061 Current value (from the default) = false
2062 From //media/media_options.gni:43
2063
2064 Allows distributions to link pulseaudio directly (DT_NEEDED) instead of
2065 using dlopen. This helps with automated detection of ABI mismatches and
2066 prevents silent errors.
2067
2068lint_android_sdk_root
2069 Current value (from the default) = "//third_party/android_sdk/public"
2070 From //build/config/android/config.gni:144
2071
2072lint_android_sdk_version
2073 Current value (from the default) = 26
2074 From //build/config/android/config.gni:145
2075
2076linux_use_bundled_binutils
2077 Current value (from the default) = false
2078 From //build/config/compiler/BUILD.gn:60
2079
2080llvm_force_head_revision
2081 Current value (from the default) = false
2082 From //build/toolchain/toolchain.gni:18
2083
2084 If this is set to true, or if LLVM_FORCE_HEAD_REVISION is set to 1
2085 in the environment, we use the revision in the llvm repo to determine
2086 the CLANG_REVISION to use, instead of the version hard-coded into
2087 //tools/clang/scripts/update.py. This should only be used in
2088 conjunction with setting LLVM_FORCE_HEAD_REVISION in the
2089 environment when `gclient runhooks` is run as well.
2090
2091mac_sdk_min
2092 Current value (from the default) = "10.14"
2093 From //build/config/mac/mac_sdk_overrides.gni:12
2094
2095max_jobs_per_link
2096 Current value (from the default) = 8
2097 From //build/config/compiler/compiler.gni:68
2098
2099 Limit the number of jobs (threads/processes) the linker is allowed
2100 to use (for linkers that support this).
2101
2102media_use_ffmpeg
2103 Current value (from the default) = true
2104 From //media/media_options.gni:48
2105
2106 Enable usage of FFmpeg within the media library. Used for most software
2107 based decoding, demuxing, and sometimes optimized FFTs. If disabled,
2108 implementors must provide their own demuxers and decoders.
2109
2110media_use_libvpx
2111 Current value (from the default) = true
2112 From //media/media_options.gni:52
2113
2114 Enable usage of libvpx within the media library. Used for software based
2115 decoding of VP9 and VP8A type content.
2116
2117mips_use_mmi
2118 Current value (from the default) = false
2119 From //build/config/mips.gni:13
2120
2121 MIPS MultiMedia Instruction compilation flag.
2122
2123mojo_media_host
2124 Current value (from the default) = "gpu"
2125 From //media/media_options.gni:262
2126
2127 The process that the mojo MediaService runs in. By default, all services
2128 registered in |mojo_media_services| are hosted in the MediaService, with the
2129 exception that when |enable_library_cdms| is true, the "cdm" service will
2130 run in a separate CdmService in the CDM (utility) process, while other
2131 |mojo_media_services| still run in the MediaService in the process specified
2132 by "mojo_media_host".
2133 Valid options are:
2134 - "none": Do not use mojo media service.
2135 - "browser": Use mojo media service hosted in the browser process.
2136 - "gpu": Use mojo media service hosted in the gpu process.
2137 - "utility": Use mojo media service hosted in the utility process.
2138
2139mojo_media_services
2140 Current value (from the default) = ["cdm", "audio_decoder", "video_decoder"]
2141 From //media/media_options.gni:249
2142
2143 A list of mojo media services that should be used in the media pipeline.
2144 Must not be empty if |enable_mojo_media| is true.
2145 Valid entries in the list are:
2146 - "renderer": Use mojo-based media Renderer service.
2147 - "cdm": Use mojo-based Content Decryption Module.
2148 - "audio_decoder": Use mojo-based audio decoder in the default media
2149 Renderer. Cannot be used with the mojo Renderer above.
2150 - "video_decoder": Use mojo-based video decoder in the default media
2151 Renderer. Cannot be used with the mojo Renderer above.
2152
2153mojom_message_id_salt_path
2154 Current value (from the default) = "//chrome/VERSION"
2155 From //mojo/public/tools/bindings/mojom.gni:96
2156
2157 The path to a file whose contents can be used as the basis for a message
2158 ID scrambling salt.
2159
2160mojom_message_id_salt_suffix_path
2161 Current value (from the default) = ""
2162 From //mojo/public/tools/bindings/mojom.gni:106
2163
2164monolithic_binaries
2165 Current value (from the default) = false
2166 From //third_party/perfetto/gn/perfetto.gni:189
2167
2168 Only for local development. When true the binaries (perfetto, traced, ...)
2169 are monolithic and don't use a common shared library. This is mainly to
2170 avoid LD_LIBRARY_PATH dances when testing locally.
2171
2172msan_track_origins
2173 Current value (from the default) = 2
2174 From //build/config/sanitizers/sanitizers.gni:48
2175
2176 Track where uninitialized memory originates from. From fastest to slowest:
2177 0 - no tracking, 1 - track only the initial allocation site, 2 - track the
2178 chain of stores leading from allocation site to use site.
2179
2180multidex_in_release
2181 Current value (from the default) = false
2182 From //chrome/android/chrome_public_apk_tmpl.gni:21
2183
2184 Enable multidex in release builds.
2185
2186ndk_api_level_at_least_26
2187 Current value (from the default) = false
2188 From //third_party/angle/gni/angle.gni:63
2189
2190notouch_build
2191 Current value (from the default) = false
2192 From //build/config/android/config.gni:210
2193
2194 Enable the chrome build for devices without touchscreens.
2195
2196optimize_for_fuzzing
2197 Current value (from the default) = false
2198 From //build/config/sanitizers/sanitizers.gni:96
2199
2200 Optimize for coverage guided fuzzing (balance between speed and number of
2201 branches). Can be also used to remove non-determinism and other issues.
2202
2203optimize_webui
2204 Current value (from the default) = false
2205 From //ui/webui/webui_features.gni:9
2206
2207 Optimize parts of Chrome's UI written with web technologies (HTML/CSS/JS)
2208 for runtime performance purposes. This does more work at compile time for
2209 speed benefits at runtime (so we skip in debug builds).
2210
2211ozone_auto_platforms
2212 Current value (from the default) = false
2213 From //ui/ozone/ozone.gni:14
2214
2215 Select platforms automatically. Turn this off for manual control.
2216
2217ozone_extra_path
2218 Current value (from the default) = "//ui/ozone/ozone_extra.gni"
2219 From //ui/ozone/ozone.gni:11
2220
2221 Ozone extra platforms file path. Can be overridden to build out of
2222 tree ozone platforms.
2223
2224ozone_platform
2225 Current value (from the default) = ""
2226 From //ui/ozone/ozone.gni:20
2227
2228 The platform that will used at runtime by default. This can be overridden
2229 with the command line flag --ozone-platform=<platform>.
2230
2231ozone_platform_cast
2232 Current value (from the default) = false
2233 From //ui/ozone/ozone.gni:23
2234
2235 Compile the 'cast' platform.
2236
2237ozone_platform_gbm
2238 Current value (from the default) = false
2239 From //ui/ozone/ozone.gni:26
2240
2241 Compile the 'gbm' platform.
2242
2243ozone_platform_headless
2244 Current value (from the default) = false
2245 From //ui/ozone/ozone.gni:29
2246
2247 Compile the 'headless' platform.
2248
2249ozone_platform_scenic
2250 Current value (from the default) = false
2251 From //ui/ozone/ozone.gni:32
2252
2253 Compile the 'scenic' platform.
2254
2255ozone_platform_wayland
2256 Current value (from the default) = false
2257 From //ui/ozone/ozone.gni:38
2258
2259 Compile the 'wayland' platform.
2260
2261ozone_platform_windows
2262 Current value (from the default) = false
2263 From //ui/ozone/ozone.gni:41
2264
2265 Compile the 'windows' platform.
2266
2267ozone_platform_x11
2268 Current value (from the default) = false
2269 From //ui/ozone/ozone.gni:35
2270
2271 Compile the 'x11' platform.
2272
2273pdf_bundle_freetype
2274 Current value (from the default) = false
2275 From //third_party/pdfium/pdfium.gni:16
2276
2277 Build PDFium either:
2278 1) When set to true, with a bundled FreeType, built from FreeType source
2279 code in //third_party/freetype and PDFium's FreeType configs in
2280 third_party/freetype/include.
2281 2) When set to false, use whatever FreeType target is defined in
2282 //build/config/freetype.
2283
2284pdf_enable_click_logging
2285 Current value (from the default) = false
2286 From //third_party/pdfium/pdfium.gni:19
2287
2288 Generate logging messages for click events that reach PDFium
2289
2290pdf_enable_v8
2291 Current value (from the default) = true
2292 From //third_party/pdfium/pdfium.gni:22
2293
2294 Build PDFium either with or without v8 support.
2295
2296pdf_enable_xfa
2297 Current value (from the default) = false
2298 From //third_party/pdfium/pdfium.gni:25
2299
2300 Build PDFium either with or without XFA Forms support.
2301
2302pdf_enable_xfa_bmp
2303 Current value (from the default) = true
2304 From //third_party/pdfium/pdfium.gni:28
2305
2306 If XFA, also support bmp codec. Ignored if not XFA.
2307
2308pdf_enable_xfa_gif
2309 Current value (from the default) = true
2310 From //third_party/pdfium/pdfium.gni:31
2311
2312 If XFA, also support gif codec. Ignored if not XFA.
2313
2314pdf_enable_xfa_png
2315 Current value (from the default) = true
2316 From //third_party/pdfium/pdfium.gni:34
2317
2318 If XFA, also support png codec. Ignored if not XFA.
2319
2320pdf_enable_xfa_tiff
2321 Current value (from the default) = true
2322 From //third_party/pdfium/pdfium.gni:37
2323
2324 If XFA, also support png codec. Ignored if not XFA.
2325
2326pdf_is_complete_lib
2327 Current value (from the default) = false
2328 From //third_party/pdfium/pdfium.gni:54
2329
2330 Build a complete static library
2331
2332pdf_is_standalone
2333 Current value (from the default) = false
2334 From //third_party/pdfium/pdfium.gni:51
2335
2336 Build PDFium standalone
2337
2338pdf_use_skia
2339 Current value (from the default) = false
2340 From //third_party/pdfium/pdfium.gni:41
2341
2342 Build PDFium against Skia (experimental) rather than AGG. Use Skia to draw
2343 everything.
2344
2345pdf_use_skia_paths
2346 Current value (from the default) = false
2347 From //third_party/pdfium/pdfium.gni:45
2348
2349 Build PDFium against Skia (experimental) rather than AGG. Use Skia to draw
2350 paths.
2351
2352pdf_use_win32_gdi
2353 Current value (from the default) = true
2354 From //third_party/pdfium/pdfium.gni:48
2355
2356 Build PDFium with or without experimental win32 GDI APIs.
2357
2358perfetto_build_with_android
2359 Current value (from the default) = false
2360 From //third_party/perfetto/gn/perfetto.gni:74
2361
2362 The Android blueprint file generator set this to true (as well as
2363 is_perfetto_build_generator). This is just about being built in the
2364 Android tree (AOSP and internal) and is NOT related with the target OS.
2365 In standalone Android builds and Chromium Android builds, this is false.
2366
2367perfetto_force_dlog
2368 Current value (from the default) = "off"
2369 From //third_party/perfetto/gn/perfetto.gni:194
2370
2371 Whether DLOG should be enabled on debug builds (""), all builds ("on"), or
2372 none ("off"). We disable it by default for embedders to avoid spamming their
2373 console.
2374
2375pgo_build
2376 Current value (from the default) = false
2377 From //chrome/common/features.gni:59
2378
2379 Indicates if the build is using PGO.
2380
2381pgo_data_path
2382 Current value (from the default) = ""
2383 From //build/config/compiler/pgo/pgo.gni:16
2384
2385 When using chrome_pgo_phase = 2, read profile data from this path.
2386
2387pkg_config
2388 Current value (from the default) = ""
2389 From //build/config/linux/pkg_config.gni:33
2390
2391 A pkg-config wrapper to call instead of trying to find and call the right
2392 pkg-config directly. Wrappers like this are common in cross-compilation
2393 environments.
2394 Leaving it blank defaults to searching PATH for 'pkg-config' and relying on
2395 the sysroot mechanism to find the right .pc files.
2396
2397print_unsymbolized_stack_traces
2398 Current value (from the default) = false
2399 From //base/third_party/symbolize/BUILD.gn:13
2400
2401 Stack traces will not include function names. Instead they will contain
2402 file and offset information that can be used with
2403 tools/valgrind/asan/asan_symbolize.py. By piping stderr through this script,
2404 and also enabling symbol_level = 2, you can get much more detailed stack
2405 traces with file names and line numbers, even in non-ASAN builds.
2406
2407proprietary_codecs
2408 Current value (from the default) = false
2409 From //build/config/features.gni:26
2410
2411 Enables proprietary codecs and demuxers; e.g. H264, AAC, MP3, and MP4.
2412 We always build Google Chrome and Chromecast with proprietary codecs.
2413
2414 Note: this flag is used by WebRTC which is DEPSed into Chrome. Moving it
2415 out of //build will require using the build_overrides directory.
2416
2417report_java_assert
2418 Current value (from the default) = false
2419 From //build/config/android/config.gni:177
2420
2421 Report Java assert failure on Android. Turning it on will report Java
2422 assert failure without crash.
2423
2424ro_segment_workaround_for_valgrind
2425 Current value (from the default) = false
2426 From //build/config/compiler/BUILD.gn:122
2427
2428 Set to true to pass --no-rosegment to lld. This is a workaround
2429 for a KI issue in Valgrind,
2430 https://bugs.kde.org/show_bug.cgi?id=384727
2431
2432root_extra_deps
2433 Current value (from the default) = []
2434 From //BUILD.gn:39
2435
2436 A list of extra dependencies to add to the root target. This allows a
2437 checkout to add additional targets without explicitly changing any checked-
2438 in files.
2439
2440rtc_audio_device_plays_sinus_tone
2441 Current value (from the default) = false
2442 From //third_party/webrtc/webrtc.gni:163
2443
2444 When set to true, replace the audio output with a sinus tone at 440Hz.
2445 The ADM will ask for audio data from WebRTC but instead of reading real
2446 audio samples from NetEQ, a sinus tone will be generated and replace the
2447 real audio samples.
2448
2449rtc_build_examples
2450 Current value (from the default) = true
2451 From //third_party/webrtc/webrtc.gni:103
2452
2453 Set this to false to skip building examples.
2454
2455rtc_build_json
2456 Current value (from the default) = true
2457 From //third_party/webrtc/webrtc.gni:210
2458
2459 Disable these to not build components which can be externally provided.
2460
2461rtc_build_libevent
2462 Current value (from the default) = true
2463 From //third_party/webrtc/webrtc.gni:225
2464
2465rtc_build_libsrtp
2466 Current value (from the default) = true
2467 From //third_party/webrtc/webrtc.gni:211
2468
2469rtc_build_libvpx
2470 Current value (from the default) = true
2471 From //third_party/webrtc/webrtc.gni:212
2472
2473rtc_build_opus
2474 Current value (from the default) = true
2475 From //third_party/webrtc/webrtc.gni:214
2476
2477rtc_build_ssl
2478 Current value (from the default) = true
2479 From //third_party/webrtc/webrtc.gni:215
2480
2481rtc_build_tools
2482 Current value (from the default) = true
2483 From //third_party/webrtc/webrtc.gni:106
2484
2485 Set this to false to skip building tools.
2486
2487rtc_build_usrsctp
2488 Current value (from the default) = true
2489 From //third_party/webrtc/webrtc.gni:216
2490
2491rtc_build_with_neon
2492 Current value (from the default) = false
2493 From //third_party/webrtc/webrtc.gni:140
2494
2495rtc_builtin_ssl_root_certificates
2496 Current value (from the default) = true
2497 From //third_party/webrtc/webrtc.gni:65
2498
2499 Setting this to false will require the API user to pass in their own
2500 SSLCertificateVerifier to verify the certificates presented from a
2501 TLS-TURN server. In return disabling this saves around 100kb in the binary.
2502
2503rtc_enable_android_aaudio
2504 Current value (from the default) = false
2505 From //third_party/webrtc/webrtc.gni:125
2506
2507 Enable use of Android AAudio which requires Android SDK 26 or above and
2508 NDK r16 or above.
2509
2510rtc_enable_bwe_test_logging
2511 Current value (from the default) = false
2512 From //third_party/webrtc/webrtc.gni:100
2513
2514 Set this to true to enable BWE test logging.
2515
2516rtc_enable_external_auth
2517 Current value (from the default) = true
2518 From //third_party/webrtc/webrtc.gni:93
2519
2520 Enable when an external authentication mechanism is used for performing
2521 packet authentication for RTP packets instead of libsrtp.
2522
2523rtc_enable_libevent
2524 Current value (from the default) = true
2525 From //third_party/webrtc/webrtc.gni:224
2526
2527rtc_enable_protobuf
2528 Current value (from the default) = true
2529 From //third_party/webrtc/webrtc.gni:204
2530
2531 Enables the use of protocol buffers for debug recordings.
2532
2533rtc_enable_sctp
2534 Current value (from the default) = true
2535 From //third_party/webrtc/webrtc.gni:207
2536
2537 Set this to disable building with support for SCTP data channels.
2538
2539rtc_enable_symbol_export
2540 Current value (from the default) = false
2541 From //third_party/webrtc/webrtc.gni:41
2542
2543 Setting this to true will make RTC_EXPORT (see rtc_base/system/rtc_export.h)
2544 expand to code that will manage symbols visibility.
2545
2546rtc_exclude_field_trial_default
2547 Current value (from the default) = true
2548 From //third_party/webrtc/webrtc.gni:51
2549
2550 When WebRTC is built as part of Chromium it should exclude the default
2551 implementation of field_trial unless it is building for NACL or
2552 Chromecast.
2553
2554rtc_exclude_metrics_default
2555 Current value (from the default) = true
2556 From //third_party/webrtc/webrtc.gni:60
2557
2558 Setting this to true will define WEBRTC_EXCLUDE_METRICS_DEFAULT which
2559 will tell the pre-processor to remove the default definition of symbols
2560 needed to use metrics. In that case a new implementation needs to be
2561 provided.
2562
2563rtc_include_builtin_audio_codecs
2564 Current value (from the default) = true
2565 From //third_party/webrtc/webrtc.gni:178
2566
2567 When set to false, builtin audio encoder/decoder factories and all the
2568 audio codecs they depend on will not be included in libwebrtc.{a|lib}
2569 (they will still be included in libjingle_peerconnection_so.so and
2570 WebRTC.framework)
2571
2572rtc_include_builtin_video_codecs
2573 Current value (from the default) = true
2574 From //third_party/webrtc/webrtc.gni:184
2575
2576 When set to false, builtin video encoder/decoder factories and all the
2577 video codecs they depends on will not be included in libwebrtc.{a|lib}
2578 (they will still be included in libjingle_peerconnection_so.so and
2579 WebRTC.framework)
2580
2581rtc_include_ilbc
2582 Current value = false
2583 From //.gn:47
2584 Overridden from the default = true
2585 From //third_party/webrtc/webrtc.gni:68
2586
2587 Include the iLBC audio codec?
2588
2589rtc_include_internal_audio_device
2590 Current value (from the default) = false
2591 From //third_party/webrtc/webrtc.gni:237
2592
2593 Chromium uses its own IO handling, so the internal ADM is only built for
2594 standalone WebRTC.
2595
2596rtc_include_opus
2597 Current value (from the default) = true
2598 From //third_party/webrtc/webrtc.gni:71
2599
2600 Disable this to avoid building the Opus audio codec.
2601
2602rtc_include_pulse_audio
2603 Current value (from the default) = false
2604 From //third_party/webrtc/webrtc.gni:233
2605
2606 Excluded in Chromium since its prerequisites don't require Pulse Audio.
2607
2608rtc_include_tests
2609 Current value (from the default) = false
2610 From //third_party/webrtc/webrtc.gni:240
2611
2612 Include tests in standalone checkout.
2613
2614rtc_jsoncpp_root
2615 Current value (from the default) = "//third_party/jsoncpp/source/include"
2616 From //third_party/webrtc/webrtc.gni:82
2617
2618 Used to specify an external Jsoncpp include path when not compiling the
2619 library that comes with WebRTC (i.e. rtc_build_json == 0).
2620
2621rtc_libvpx_build_vp9
2622 Current value (from the default) = true
2623 From //third_party/webrtc/webrtc.gni:213
2624
2625rtc_link_pipewire
2626 Current value (from the default) = false
2627 From //third_party/webrtc/webrtc.gni:118
2628
2629 Set this to link PipeWire directly instead of using the dlopen.
2630
2631rtc_opus_support_120ms_ptime
2632 Current value (from the default) = true
2633 From //third_party/webrtc/webrtc.gni:75
2634
2635 Enable this if the Opus version upon which WebRTC is built supports direct
2636 encoding of 120 ms packets.
2637
2638rtc_opus_variable_complexity
2639 Current value (from the default) = false
2640 From //third_party/webrtc/webrtc.gni:78
2641
2642 Enable this to let the Opus audio codec change complexity on the fly.
2643
2644rtc_prefer_fixed_point
2645 Current value (from the default) = false
2646 From //third_party/webrtc/webrtc.gni:89
2647
2648 Selects fixed-point code where possible.
2649
2650rtc_sanitize_coverage
2651 Current value (from the default) = ""
2652 From //third_party/webrtc/webrtc.gni:132
2653
2654 Set to "func", "block", "edge" for coverage generation.
2655 At unit test runtime set UBSAN_OPTIONS="coverage=1".
2656 It is recommend to set include_examples=0.
2657 Use llvm's sancov -html-report for human readable reports.
2658 See http://clang.llvm.org/docs/SanitizerCoverage.html .
2659
2660rtc_ssl_root
2661 Current value (from the default) = ""
2662 From //third_party/webrtc/webrtc.gni:86
2663
2664 Used to specify an external OpenSSL include path when not compiling the
2665 library that comes with WebRTC (i.e. rtc_build_ssl == 0).
2666
2667rtc_use_dummy_audio_file_devices
2668 Current value (from the default) = false
2669 From //third_party/webrtc/webrtc.gni:157
2670
2671 By default, use normal platform audio support or dummy audio, but don't
2672 use file-based audio playout and record.
2673
2674rtc_use_gtk
2675 Current value (from the default) = false
2676 From //third_party/webrtc/webrtc.gni:230
2677
2678 Build sources requiring GTK. NOTICE: This is not present in Chrome OS
2679 build environments, even if available for Chromium builds.
2680
2681rtc_use_h264
2682 Current value (from the default) = false
2683 From //third_party/webrtc/webrtc.gni:153
2684
2685rtc_use_metal_rendering
2686 Current value (from the default) = false
2687 From //third_party/webrtc/webrtc.gni:172
2688
2689 Determines whether Metal is available on iOS/macOS.
2690
2691rtc_use_pipewire
2692 Current value (from the default) = false
2693 From //third_party/webrtc/webrtc.gni:115
2694
2695 Set this to use PipeWire on the Wayland display server.
2696 By default it's only enabled on desktop Linux (excludes ChromeOS) and
2697 only when using the sysroot as PipeWire is not available in older and
2698 supported Ubuntu and Debian distributions.
2699
2700rtc_use_x11
2701 Current value (from the default) = false
2702 From //third_party/webrtc/webrtc.gni:109
2703
2704 Set this to false to skip building code that requires X11.
2705
2706rtc_use_x11_extensions
2707 Current value (from the default) = false
2708 From //third_party/webrtc/webrtc.gni:244
2709
2710 Set this to false to skip building code that also requires X11 extensions
2711 such as Xdamage, Xfixes.
2712
2713rtc_win_undef_unicode
2714 Current value (from the default) = false
2715 From //third_party/webrtc/webrtc.gni:192
2716
2717 When set to true and in a standalone build, it will undefine UNICODE and
2718 _UNICODE (which are always defined globally by the Chromium Windows
2719 toolchain).
2720 This is only needed for testing purposes, WebRTC wants to be sure it
2721 doesn't assume /DUNICODE and /D_UNICODE but that it explicitly uses
2722 wide character functions.
2723
2724runtime_call_stats_count_everything
2725 Current value (from the default) = false
2726 From //third_party/blink/renderer/platform/BUILD.gn:187
2727
2728safe_browsing_mode
2729 Current value (from the default) = 2
2730 From //components/safe_browsing/buildflags.gni:21
2731
2732sample_profile_is_accurate
2733 Current value (from the default) = true
2734 From //build/config/compiler/compiler.gni:114
2735
2736 Whether we should consider the profile we're using to be accurate. Accurate
2737 profiles have the benefit of (potentially substantial) binary size
2738 reductions, by instructing the compiler to optimize cold and uncovered
2739 functions heavily for size. This often comes at the cost of performance.
2740
2741sanitizer_coverage_flags
2742 Current value (from the default) = ""
2743 From //build/config/sanitizers/sanitizers.gni:106
2744
2745 Value for -fsanitize-coverage flag. Setting this causes
2746 use_sanitizer_coverage to be enabled.
2747 This flag is not used for libFuzzer (use_libfuzzer=true). Instead, we use:
2748 -fsanitize=fuzzer-no-link
2749 Default value when unset and use_fuzzing_engine=true:
2750 trace-pc-guard
2751 Default value when unset and use_sanitizer_coverage=true:
2752 trace-pc-guard,indirect-calls
2753
2754seed_corpus_dir
2755 Current value (from the default) = "//out/full_test/gen/components/viz/service/compositor_frame_fuzzer/binary_seed_corpus"
2756 From //components/viz/service/compositor_frame_fuzzer/BUILD.gn:9
2757
2758skia_whitelist_serialized_typefaces
2759 Current value (from the default) = false
2760 From //skia/BUILD.gn:27
2761
2762strip_absolute_paths_from_debug_symbols
2763 Current value (from the default) = true
2764 From //build/config/compiler/compiler.gni:213
2765
2766strip_debug_info
2767 Current value (from the default) = false
2768 From //build/config/compiler/compiler.gni:44
2769
2770 Android-only: Strip the debug info of libraries within lib.unstripped to
2771 reduce size. As long as symbol_level > 0, this will still allow stacks to be
2772 symbolized.
2773
2774support_webgl2_compute_context
2775 Current value (from the default) = false
2776 From //third_party/blink/renderer/config.gni:42
2777
2778 If true, webgl2-compute context will be supported.
2779
2780symbol_level
2781 Current value (from the default) = -1
2782 From //build/config/compiler/compiler.gni:39
2783
2784 How many symbols to include in the build. This affects the performance of
2785 the build since the symbols are large and dealing with them is slow.
2786 2 means regular build with symbols.
2787 1 means minimal symbols, usually enough for backtraces only. Symbols with
2788 internal linkage (static functions or those in anonymous namespaces) may not
2789 appear when using this level.
2790 0 means no symbols.
2791 -1 means auto-set according to debug/release and platform.
2792
2793sync_user_agent_product
2794 Current value (from the default) = "Chrome"
2795 From //components/sync/driver/BUILD.gn:10
2796
2797 Controls the product part of the user agent calculated in sync_util.cc.
2798
2799system_libdir
2800 Current value (from the default) = "lib"
2801 From //build/config/linux/pkg_config.gni:47
2802
2803 CrOS systemroots place pkgconfig files at <systemroot>/usr/share/pkgconfig
2804 and one of <systemroot>/usr/lib/pkgconfig or <systemroot>/usr/lib64/pkgconfig
2805 depending on whether the systemroot is for a 32 or 64 bit architecture.
2806
2807 When build under GYP, CrOS board builds specify the 'system_libdir' variable
2808 as part of the GYP_DEFINES provided by the CrOS emerge build or simple
2809 chrome build scheme. This variable permits controlling this for GN builds
2810 in similar fashion by setting the `system_libdir` variable in the build's
2811 args.gn file to 'lib' or 'lib64' as appropriate for the target architecture.
2812
2813system_webview_package_name
2814 Current value (from the default) = "com.android.webview"
2815 From //android_webview/system_webview_apk_tmpl.gni:19
2816
2817 Android package name to use when compiling the system_webview_apk and
2818 trichrome_webview_apk targets. This should be used if the Android build
2819 on which you are going to install WebView is configured to load a
2820 different package name than the default used in AOSP.
2821
2822target_cpu
2823 Current value = "x64"
2824 From //out/full_test/args.gn:2
2825 Overridden from the default = ""
2826 (Internally set; try `gn help target_cpu`.)
2827
2828target_os
2829 Current value = "android"
2830 From //out/full_test/args.gn:1
2831 Overridden from the default = ""
2832 (Internally set; try `gn help target_os`.)
2833
2834target_rpath
2835 Current value (from the default) = ""
2836 From //build/config/chromecast_build.gni:27
2837
2838 If non empty, rpath of executables is set to this.
2839 If empty, default value is used.
2840
2841target_sysroot
2842 Current value (from the default) = ""
2843 From //build/config/sysroot.gni:13
2844
2845 The absolute path of the sysroot that is applied when compiling using
2846 the target toolchain.
2847
2848target_sysroot_dir
2849 Current value (from the default) = "//build/linux"
2850 From //build/config/sysroot.gni:16
2851
2852 The absolute path to directory containing linux sysroot images
2853
2854thin_lto_enable_optimizations
2855 Current value (from the default) = false
2856 From //build/config/compiler/BUILD.gn:136
2857
2858toolkit_views
2859 Current value (from the default) = false
2860 From //build/config/ui.gni:35
2861
2862 True means the UI is built using the "views" framework.
2863
2864treat_warnings_as_errors
2865 Current value (from the default) = true
2866 From //build/config/compiler/BUILD.gn:49
2867
2868 Default to warnings as errors for default workflow, where we catch
2869 warnings with known toolchains. Allow overriding this e.g. for Chromium
2870 builds on Linux that could use a different version of the compiler.
2871 With GCC, warnings in no-Chromium code are always not treated as errors.
2872
2873trial_comparison_cert_verifier_supported
2874 Current value (from the default) = false
2875 From //net/features.gni:41
2876
2877 Platforms where the cert verifier comparison trial is supported.
2878 See https://crbug.com/649026.
2879
2880trichrome_certdigest
2881 Current value (from the default) = "32a2fc74d731105859e5a85df16d95f102d85b22099b8064c5d8915c61dad1e0"
2882 From //chrome/android/trichrome.gni:23
2883
2884 The SHA256 certificate digest for the Trichrome static shared library on
2885 Android. You can use "apksigner verify --print-certs" on the signed APK to
2886 calculate the correct digest.
2887
2888trichrome_library_package
2889 Current value (from the default) = "org.chromium.trichromelibrary"
2890 From //chrome/android/trichrome.gni:18
2891
2892 The package name for the Trichrome static shared library on Android.
2893
2894trichrome_shared_assets
2895 Current value (from the default) = false
2896 From //build/config/android/config.gni:214
2897
2898 Move Trichrome assets to the shared library APK. This will be removed
2899 once P builds are no longer supported. https://crbug.com/943637
2900
2901update_android_aar_prebuilts
2902 Current value (from the default) = false
2903 From //build/config/android/config.gni:196
2904
2905 When true, updates all android_aar_prebuilt() .info files during gn gen.
2906 Refer to android_aar_prebuilt() for more details.
2907
2908use_afl
2909 Current value (from the default) = false
2910 From //build/config/sanitizers/sanitizers.gni:84
2911
2912 Compile for fuzzing with AFL.
2913
2914use_allocator
2915 Current value (from the default) = "none"
2916 From //base/allocator/allocator.gni:30
2917
2918 Memory allocator to use. Set to "none" to use default allocator.
2919
2920use_allocator_shim
2921 Current value (from the default) = true
2922 From //base/allocator/allocator.gni:33
2923
2924 Causes all the allocations to be routed via allocator_shim.cc.
2925
2926use_alsa
2927 Current value (from the default) = false
2928 From //media/media_options.gni:118
2929
2930 Enables runtime selection of ALSA library for audio.
2931
2932use_aura
2933 Current value (from the default) = false
2934 From //build/config/ui.gni:30
2935
2936 Indicates if Aura is enabled. Aura is a low-level windowing library, sort
2937 of a replacement for GDI or GTK.
2938
2939use_base_test_suite
2940 Current value (from the default) = false
2941 From //sandbox/linux/BUILD.gn:20
2942
2943 On Android, use plain GTest.
2944
2945use_call_graph
2946 Current value (from the default) = false
2947 From //build/config/android/abi.gni:28
2948
2949 Only effective if use_order_profiling = true. When this is true the call
2950 graph based instrumentation is used.
2951
2952use_cfi_cast
2953 Current value (from the default) = false
2954 From //build/config/sanitizers/sanitizers.gni:64
2955
2956 Enable checks for bad casts: derived cast and unrelated cast.
2957 TODO(krasin): remove this, when we're ready to add these checks by default.
2958 https://crbug.com/626794
2959
2960use_cfi_diag
2961 Current value (from the default) = false
2962 From //build/config/sanitizers/sanitizers.gni:73
2963
2964 Print detailed diagnostics when Control Flow Integrity detects a violation.
2965
2966use_cfi_icall
2967 Current value (from the default) = false
2968 From //build/config/sanitizers/sanitizers.gni:69
2969
2970 Enable checks for indirect function calls via a function pointer.
2971 TODO(pcc): remove this when we're ready to add these checks by default.
2972 https://crbug.com/701919
2973
2974use_cfi_recover
2975 Current value (from the default) = false
2976 From //build/config/sanitizers/sanitizers.gni:77
2977
2978 Let Control Flow Integrity continue execution instead of crashing when
2979 printing diagnostics (use_cfi_diag = true).
2980
2981use_clang_coverage
2982 Current value (from the default) = false
2983 From //build/config/coverage/coverage.gni:17
2984
2985 Enable Clang's Source-based Code Coverage.
2986
2987use_cras
2988 Current value (from the default) = false
2989 From //media/media_options.gni:61
2990
2991 Override to dynamically link the cras (ChromeOS audio) library.
2992
2993use_crash_key_stubs
2994 Current value (from the default) = false
2995 From //components/crash/core/common/BUILD.gn:10
2996
2997 If set to true, this will stub out and disable the entire crash key system.
2998
2999use_cups
3000 Current value (from the default) = false
3001 From //printing/buildflags/buildflags.gni:23
3002
3003use_custom_libcxx
3004 Current value (from the default) = true
3005 From //build/config/c++/c++.gni:14
3006
3007use_custom_libcxx_for_host
3008 Current value (from the default) = false
3009 From //build/config/c++/c++.gni:25
3010
3011 Use libc++ instead of stdlibc++ when using the host_cpu toolchain, even if
3012 use_custom_libcxx is false. This is useful for cross-compiles where a custom
3013 toolchain for the target_cpu has been set as the default toolchain, but
3014 use_custom_libcxx should still be true when building for the host. The
3015 expected usage is to set use_custom_libcxx=false and
3016 use_custom_libcxx_for_host=true in the passed in buildargs.
3017
3018use_cxx11
3019 Current value (from the default) = false
3020 From //build/config/compiler/BUILD.gn:92
3021
3022 Allow projects that wish to stay on C++11 to override Chromium's default.
3023
3024use_cxx11_on_android
3025 Current value (from the default) = false
3026 From //build/config/compiler/BUILD.gn:150
3027
3028 C++11 may not be an option if Android test infrastructure is used.
3029
3030use_dawn
3031 Current value (from the default) = false
3032 From //ui/gl/features.gni:17
3033
3034 Should Dawn support be compiled to back the WebGPU implementation.
3035 Also controls linking Dawn depedencies in such as SPIRV-Tools and
3036 SPIRV-Cross
3037
3038use_dbus
3039 Current value (from the default) = false
3040 From //build/config/features.gni:31
3041
3042use_debug_fission
3043 Current value (from the default) = "default"
3044 From //build/config/compiler/compiler.gni:60
3045
3046 use_debug_fission: whether to use split DWARF debug info
3047 files. This can reduce link time significantly, but is incompatible
3048 with some utilities such as icecc and ccache. Requires gold and
3049 gcc >= 4.8 or clang.
3050 http://gcc.gnu.org/wiki/DebugFission
3051
3052 This is a placeholder value indicating that the code below should set
3053 the default. This is necessary to delay the evaluation of the default
3054 value expression until after its input values such as use_gold have
3055 been set, e.g. by a toolchain_args() block.
3056
3057use_dummy_lastchange
3058 Current value (from the default) = false
3059 From //build/util/lastchange.gni:9
3060
3061use_egl
3062 Current value (from the default) = true
3063 From //ui/gl/features.gni:12
3064
3065 Should EGL support be compiled. Can be overriden to test during bring up
3066 of EGL support on other platforms
3067
3068use_errorprone_java_compiler
3069 Current value (from the default) = true
3070 From //build/config/android/config.gni:183
3071
3072 Set to false to disable the Errorprone compiler
3073
3074use_evdev_gestures
3075 Current value (from the default) = false
3076 From //ui/events/ozone/BUILD.gn:12
3077
3078 Support ChromeOS touchpad gestures with ozone.
3079
3080use_external_popup_menu
3081 Current value (from the default) = true
3082 From //content/common/features.gni:9
3083
3084 Whether or not to use external popup menu.
3085
3086use_gcm_from_platform
3087 Current value (from the default) = true
3088 From //components/gcm_driver/config.gni:8
3089
3090 Use native GCM driver for all non-Android builds. On Android, the platform
3091 includes GMS which provides the GCM client.
3092
3093use_ghash
3094 Current value (from the default) = true
3095 From //build/config/compiler/BUILD.gn:126
3096
3097 Turn this on to use ghash feature of lld for faster debug link on Windows.
3098 http://blog.llvm.org/2018/01/improving-link-time-on-windows-with.html
3099
3100use_gio
3101 Current value (from the default) = false
3102 From //build/config/features.gni:33
3103
3104use_glib
3105 Current value (from the default) = false
3106 From //build/config/ui.gni:39
3107
3108 Whether we should use glib, a low level C utility library.
3109
3110use_gnome_keyring
3111 Current value (from the default) = false
3112 From //components/os_crypt/features.gni:10
3113
3114 Whether to use libgnome-keyring (deprecated by libsecret).
3115 See http://crbug.com/466975 and http://crbug.com/355223.
3116
3117use_gold
3118 Current value (from the default) = false
3119 From //build/config/compiler/compiler.gni:195
3120
3121use_goma
3122 Current value (from the default) = false
3123 From //build/toolchain/goma.gni:9
3124
3125 Set to true to enable distributed compilation using Goma.
3126
3127use_gtk
3128 Current value (from the default) = false
3129 From //build/config/linux/gtk/gtk.gni:9
3130
3131 Whether or not we should use libgtk.
3132
3133use_hashed_jni_names
3134 Current value (from the default) = false
3135 From //build/config/android/config.gni:237
3136
3137 Use hashed symbol names to reduce JNI symbol overhead.
3138
3139use_icf
3140 Current value (from the default) = false
3141 From //build/config/compiler/BUILD.gn:166
3142
3143 Set to true to use icf, Identical Code Folding.
3144
3145 icf=all is broken in older golds, see
3146 https://sourceware.org/bugzilla/show_bug.cgi?id=17704
3147 See also https://crbug.com/663886
3148 `linux_use_bundled_binutils` is to avoid breaking Linux distros which may
3149 still have a buggy gold.
3150 chromeos binutils has been patched with the fix, so always use icf there.
3151 The bug only affects x86 and x64, so we can still use ICF when targeting
3152 other architectures.
3153
3154 lld doesn't have the bug.
3155
3156use_incremental_wpo
3157 Current value (from the default) = false
3158 From //build/config/compiler/compiler.gni:77
3159
3160 Whether or not we should turn on incremental WPO. Only affects the VS
3161 Windows build.
3162
3163use_jacoco_coverage
3164 Current value (from the default) = false
3165 From //build/config/coverage/coverage.gni:20
3166
3167 Enables JaCoCo Java code coverage.
3168
3169use_jumbo_build
3170 Current value (from the default) = false
3171 From //build/config/jumbo.gni:12
3172
3173 If true, use a jumbo build (files compiled together) to speed up
3174 compilation.
3175
3176use_kerberos
3177 Current value (from the default) = true
3178 From //net/features.gni:20
3179
3180 Enable Kerberos authentication. It is disabled by default on iOS, Fuchsia
3181 and Chromecast, at least for now. This feature needs configuration
3182 (krb5.conf and so on).
3183 TODO(fuchsia): Enable kerberos on Fuchsia when it's implemented there.
3184
3185use_libfuzzer
3186 Current value (from the default) = false
3187 From //build/config/sanitizers/sanitizers.gni:81
3188
3189 Compile for fuzzing with LLVM LibFuzzer.
3190 See http://www.chromium.org/developers/testing/libfuzzer
3191
3192use_libjpeg_turbo
3193 Current value (from the default) = true
3194 From //third_party/libjpeg.gni:11
3195
3196 Uses libjpeg_turbo as the jpeg implementation. Has no effect if
3197 use_system_libjpeg is set.
3198
3199use_libpci
3200 Current value (from the default) = false
3201 From //third_party/angle/BUILD.gn:22
3202
3203 Use the PCI lib to collect GPU information on Linux.
3204
3205use_lld
3206 Current value (from the default) = true
3207 From //build/config/compiler/compiler.gni:189
3208
3209 Set to true to use lld, the LLVM linker.
3210
3211use_locally_built_instrumented_libraries
3212 Current value (from the default) = false
3213 From //build/config/sanitizers/sanitizers.gni:52
3214
3215 Use dynamic libraries instrumented by one of the sanitizers instead of the
3216 standard system libraries. Set this flag to build the libraries from source.
3217
3218use_low_quality_image_interpolation
3219 Current value (from the default) = true
3220 From //third_party/blink/renderer/config.gni:36
3221
3222 If true, defaults image interpolation to low quality.
3223
3224use_mpris
3225 Current value (from the default) = false
3226 From //ui/base/mpris/buildflags/buildflags.gni:10
3227
3228 Enables Chromium implementation of the MPRIS D-Bus interface for controlling
3229 media playback. See ../README.md for details.
3230
3231use_official_google_api_keys
3232 Current value (from the default) = ""
3233 From //google_apis/BUILD.gn:31
3234
3235 You can set the variable 'use_official_google_api_keys' to true
3236 to use the Google-internal file containing official API keys
3237 for Google Chrome even in a developer build. Setting this
3238 variable explicitly to true will cause your build to fail if the
3239 internal file is missing.
3240
3241 The variable is documented here, but not handled in this file;
3242 see //google_apis/determine_use_official_keys.gypi for the
3243 implementation.
3244
3245 Set the variable to false to not use the internal file, even when
3246 it exists in your checkout.
3247
3248 Leave it unset or set to "" to have the variable
3249 implicitly set to true if you have
3250 src/google_apis/internal/google_chrome_api_keys.h in your
3251 checkout, and implicitly set to false if not.
3252
3253 Note that official builds always behave as if the variable
3254 was explicitly set to true, i.e. they always use official keys,
3255 and will fail to build if the internal file is missing.
3256
3257use_openh264
3258 Current value (from the default) = false
3259 From //third_party/openh264/openh264_args.gni:11
3260
3261 Enable this to build OpenH264 (for encoding, not decoding).
3262 CHECK THE OPENH264 LICENSE/PATENT BEFORE BUILDING, see
3263 http://www.openh264.org/.
3264
3265use_order_profiling
3266 Current value (from the default) = false
3267 From //build/config/android/abi.gni:16
3268
3269 Adds intrumentation to each function. Writes a file with the order that
3270 functions are called at startup.
3271
3272use_ozone
3273 Current value (from the default) = false
3274 From //build/config/ui.gni:26
3275
3276 Indicates if Ozone is enabled. Ozone is a low-level library layer for Linux
3277 that does not require X11. Enabling this feature disables use of glib, x11,
3278 Pango, and Cairo.
3279
3280use_partition_alloc
3281 Current value (from the default) = true
3282 From //build/config/allocator.gni:9
3283
3284 Partition alloc is included by default except iOS.
3285 TODO(thakis): Move this elsewhere, probably
3286 base/allocator/partition_allocator/buildflags.gni
3287
3288use_platform_icu_alternatives
3289 Current value (from the default) = false
3290 From //url/features.gni:10
3291
3292 Enables the use of ICU alternatives in lieu of ICU for the target toolchain.
3293 The flag is used for Cronet to reduce the size of the Cronet binary.
3294
3295use_pulseaudio
3296 Current value (from the default) = false
3297 From //media/media_options.gni:115
3298
3299 Enables runtime selection of PulseAudio library.
3300
3301use_rtti
3302 Current value (from the default) = false
3303 From //build/config/compiler/BUILD.gn:83
3304
3305 Build with C++ RTTI enabled. Chromium builds without RTTI by default,
3306 but some sanitizers are known to require it, like CFI diagnostics
3307 and UBsan variants.
3308
3309use_sanitizer_configs_without_instrumentation
3310 Current value (from the default) = false
3311 From //build/config/sanitizers/sanitizers.gni:114
3312
3313 When enabled, only relevant sanitizer defines are set, but compilation
3314 happens with no extra flags. This is useful when in component build
3315 enabling sanitizers only in some of the components.
3316
3317use_sanitizer_coverage
3318 Current value (from the default) = false
3319 From //build/config/sanitizers/sanitizers.gni:160
3320
3321use_static_angle
3322 Current value (from the default) = false
3323 From //ui/gl/features.gni:8
3324
3325 Whether ANGLE should be linked statically
3326 False by default, enabling currently supported only on Android
3327
3328use_sysroot
3329 Current value (from the default) = true
3330 From //build/config/sysroot.gni:18
3331
3332use_system_freetype
3333 Current value (from the default) = false
3334 From //build/config/freetype/freetype.gni:13
3335
3336 Blink needs a recent and properly build-configured FreeType version to
3337 support OpenType variations, color emoji and avoid security bugs. By default
3338 we ship and link such a version as part of Chrome. For distributions that
3339 prefer to keep linking to the version the system, FreeType must be newer
3340 than version 2.7.1 and have color bitmap support compiled in. WARNING:
3341 System FreeType configurations other than as described WILL INTRODUCE TEXT
3342 RENDERING AND SECURITY REGRESSIONS.
3343
3344use_system_harfbuzz
3345 Current value (from the default) = false
3346 From //third_party/harfbuzz-ng/harfbuzz.gni:11
3347
3348 Blink uses a cutting-edge version of Harfbuzz; most Linux distros do not
3349 contain a new enough version of the code to work correctly. However,
3350 ChromeOS chroots (i.e, real ChromeOS builds for devices) do contain a
3351 new enough version of the library, and so this variable exists so that
3352 ChromeOS can build against the system lib and keep binary sizes smaller.
3353
3354use_system_lcms2
3355 Current value (from the default) = false
3356 From //third_party/pdfium/pdfium.gni:63
3357
3358 Don't build against bundled lcms2.
3359
3360use_system_libjpeg
3361 Current value (from the default) = false
3362 From //third_party/libjpeg.gni:7
3363
3364 Uses system libjpeg. If true, overrides use_libjpeg_turbo.
3365
3366use_system_libopenjpeg2
3367 Current value (from the default) = false
3368 From //third_party/pdfium/pdfium.gni:66
3369
3370 Don't build against bundled libopenjpeg2.
3371
3372use_system_libpng
3373 Current value (from the default) = false
3374 From //third_party/pdfium/pdfium.gni:69
3375
3376 Don't build against bundled libpng.
3377
3378use_system_libsync
3379 Current value (from the default) = false
3380 From //third_party/libsync/BUILD.gn:12
3381
3382 Controls whether the build should use the version of libsync
3383 library shipped with the system. In release builds of Chrome OS we
3384 use the system version, but when building on dev workstations we
3385 bundle it because Ubuntu doesn't ship a usable version.
3386
3387use_system_xcode
3388 Current value (from the default) = ""
3389 From //build_overrides/build.gni:46
3390
3391 Use the system install of Xcode for tools like ibtool, libtool, etc.
3392 This does not affect the compiler. When this variable is false, targets will
3393 instead use a hermetic install of Xcode. [The hermetic install can be
3394 obtained with gclient sync after setting the environment variable
3395 FORCE_MAC_TOOLCHAIN for target_os mac only].
3396
3397use_system_zlib
3398 Current value (from the default) = false
3399 From //third_party/pdfium/pdfium.gni:60
3400
3401 Don't build against bundled zlib.
3402
3403use_tcmalloc_small_but_slow
3404 Current value (from the default) = false
3405 From //base/allocator/BUILD.gn:17
3406
3407 Provide a way to build tcmalloc with a low memory footprint.
3408
3409use_thin_lto
3410 Current value (from the default) = false
3411 From //build/config/compiler/compiler.gni:64
3412
3413 Enables support for ThinLTO, which links 3x-10x faster than full LTO. See
3414 also http://blog.llvm.org/2016/06/thinlto-scalable-and-incremental-lto.html
3415
3416use_udev
3417 Current value (from the default) = false
3418 From //build/config/features.gni:29
3419
3420 libudev usage. This currently only affects the content layer.
3421
3422use_uncompressed_dex
3423 Current value (from the default) = false
3424 From //chrome/android/chrome_public_apk_tmpl.gni:25
3425
3426 Experimental only. Causes .dex files to be store in the APK uncompressed.
3427 Only affects monochrome_public_apk and trichrome_chrome_apk.
3428
3429use_unofficial_version_number
3430 Current value (from the default) = true
3431 From //components/version_info/BUILD.gn:11
3432
3433use_v4l2_codec
3434 Current value (from the default) = false
3435 From //media/gpu/args.gni:11
3436
3437 Indicates if Video4Linux2 codec is used. This is used for all CrOS
3438 platforms which have v4l2 hardware encoder / decoder.
3439
3440use_v4lplugin
3441 Current value (from the default) = false
3442 From //media/gpu/args.gni:7
3443
3444 Indicates if V4L plugin is used.
3445
3446use_v8_context_snapshot
3447 Current value (from the default) = false
3448 From //tools/v8_context_snapshot/v8_context_snapshot.gni:18
3449
3450use_vaapi
3451 Current value (from the default) = false
3452 From //media/gpu/args.gni:15
3453
3454 Indicates if VA-API-based hardware acceleration is to be used. This
3455 is typically the case on x86-based ChromeOS devices.
3456
3457use_viz_devtools
3458 Current value (from the default) = true
3459 From //components/ui_devtools/devtools.gni:8
3460
3461 Indicates if the Viz Devtools server is enabled. This is disabled on iOS,
3462 and on official Android builds to reduce binary size.
3463
3464use_webaudio_ffmpeg
3465 Current value (from the default) = false
3466 From //third_party/blink/renderer/config.gni:39
3467
3468 If true, ffmpeg will be used for computing FFTs for WebAudio
3469
3470use_webaudio_pffft
3471 Current value (from the default) = true
3472 From //third_party/blink/renderer/config.gni:20
3473
3474 If true, use PFFFT for WebAudio FFT support. This can be used for
3475 any Android architecture and also Linux and Windows. Do not use for Mac
3476 because the FFT library there is much faster.
3477
3478use_xcode_clang
3479 Current value (from the default) = false
3480 From //build/toolchain/toolchain.gni:23
3481
3482 Compile with Xcode version of clang instead of hermetic version shipped
3483 with the build. Used to be used iOS for official builds, but is now off by
3484 default for all configurations.
3485
3486use_xkbcommon
3487 Current value (from the default) = false
3488 From //ui/base/ui_features.gni:9
3489
3490 Optional system library.
3491
3492using_mismatched_sample_profile
3493 Current value (from the default) = false
3494 From //build/config/compiler/compiler.gni:84
3495
3496 Whether we're using a sample profile collected on an architecture different
3497 than the one we're compiling for.
3498
3499 It's currently not possible to collect AFDO profiles on anything but
3500 x86{,_64}.
3501
3502v8_android_log_stdout
3503 Current value (from the default) = false
3504 From //v8/BUILD.gn:32
3505
3506 Print to stdout on Android.
3507
3508v8_can_use_fpu_instructions
3509 Current value (from the default) = true
3510 From //v8/BUILD.gn:149
3511
3512 Similar to vfp but on MIPS.
3513
3514v8_check_header_includes
3515 Current value (from the default) = false
3516 From //v8/BUILD.gn:183
3517
3518 Check that each header can be included in isolation (requires also
3519 setting the "check_v8_header_includes" gclient variable to run a
3520 specific hook).
3521
3522v8_check_microtasks_scopes_consistency
3523 Current value = false
3524 From //.gn:39
3525 Overridden from the default = ""
3526 From //v8/BUILD.gn:167
3527
3528 Temporary flag to allow embedders to update their microtasks scopes
3529 while rolling in a new version of V8.
3530
3531v8_code_coverage
3532 Current value (from the default) = false
3533 From //v8/gni/v8.gni:13
3534
3535 Set flags for tracking code coverage. Uses gcov with gcc and sanitizer
3536 coverage with clang.
3537
3538v8_correctness_fuzzer
3539 Current value (from the default) = false
3540 From //v8/gni/v8.gni:16
3541
3542 Includes files needed for correctness fuzzing.
3543
3544v8_current_cpu
3545 Current value (from the default) = "x64"
3546 From //build/config/v8_target_cpu.gni:60
3547
3548 This argument is declared here so that it can be overridden in toolchains.
3549 It should never be explicitly set by the user.
3550
3551v8_custom_deps
3552 Current value (from the default) = ""
3553 From //v8/BUILD.gn:35
3554
3555 Dynamically set an additional dependency from v8/custom_deps.
3556
3557v8_deprecation_warnings
3558 Current value (from the default) = true
3559 From //v8/BUILD.gn:56
3560
3561 Enable compiler warnings when using V8_DEPRECATED apis.
3562
3563v8_disable_write_barriers
3564 Current value (from the default) = false
3565 From //v8/BUILD.gn:194
3566
3567 Disable write barriers when GCs are non-incremental and
3568 heap has single generation.
3569
3570v8_embed_script
3571 Current value (from the default) = ""
3572 From //v8/BUILD.gn:62
3573
3574 Embeds the given script into the snapshot.
3575
3576v8_embedder_string
3577 Current value (from the default) = ""
3578 From //v8/BUILD.gn:65
3579
3580 Allows the embedder to add a custom suffix to the version string.
3581
3582v8_enable_31bit_smis_on_64bit_arch
3583 Current value (from the default) = true
3584 From //v8/BUILD.gn:111
3585
3586v8_enable_backtrace
3587 Current value (from the default) = ""
3588 From //v8/gni/v8.gni:32
3589
3590 Support for backtrace_symbols on linux.
3591
3592v8_enable_concurrent_marking
3593 Current value (from the default) = true
3594 From //v8/BUILD.gn:129
3595
3596 Sets -dV8_CONCURRENT_MARKING
3597
3598v8_enable_debugging_features
3599 Current value (from the default) = true
3600 From //v8/BUILD.gn:39
3601
3602 Turns on all V8 debug features. Enables running V8 in a pseudo debug mode
3603 within a release Chrome.
3604
3605v8_enable_disassembler
3606 Current value (from the default) = ""
3607 From //v8/BUILD.gn:68
3608
3609 Sets -dENABLE_DISASSEMBLER.
3610
3611v8_enable_embedded_builtins
3612 Current value (from the default) = true
3613 From //v8/BUILD.gn:92
3614
3615 Enable embedded builtins.
3616
3617v8_enable_fast_mksnapshot
3618 Current value (from the default) = false
3619 From //v8/BUILD.gn:86
3620
3621 Enable fast mksnapshot runs.
3622
3623v8_enable_fast_torque
3624 Current value (from the default) = ""
3625 From //v8/BUILD.gn:89
3626
3627 Optimize code for Torque executable, even during a debug build.
3628
3629v8_enable_future
3630 Current value (from the default) = false
3631 From //v8/BUILD.gn:42
3632
3633 Sets -DV8_ENABLE_FUTURE.
3634
3635v8_enable_gdbjit
3636 Current value = false
3637 From //.gn:34
3638 Overridden from the default = false
3639 From //v8/BUILD.gn:162
3640
3641v8_enable_handle_zapping
3642 Current value (from the default) = true
3643 From //v8/BUILD.gn:80
3644
3645 Sets -dENABLE_HANDLE_ZAPPING.
3646
3647v8_enable_i18n_support
3648 Current value (from the default) = true
3649 From //v8/gni/v8.gni:56
3650
3651 Enable ECMAScript Internationalization API. Enabling this feature will
3652 add a dependency on the ICU library.
3653
3654v8_enable_lazy_source_positions
3655 Current value (from the default) = true
3656 From //v8/BUILD.gn:190
3657
3658 Enable lazy source positions by default.
3659
3660v8_enable_lite_mode
3661 Current value (from the default) = false
3662 From //v8/BUILD.gn:47
3663
3664 Lite mode disables a number of performance optimizations to reduce memory
3665 at the cost of performance.
3666 Sets --DV8_LITE_MODE.
3667
3668v8_enable_minor_mc
3669 Current value (from the default) = true
3670 From //v8/BUILD.gn:178
3671
3672 Enable minor mark compact.
3673
3674v8_enable_object_print
3675 Current value (from the default) = ""
3676 From //v8/BUILD.gn:114
3677
3678 Sets -dOBJECT_PRINT.
3679
3680v8_enable_pointer_compression
3681 Current value (from the default) = false
3682 From //v8/BUILD.gn:110
3683
3684 Enable pointer compression (sets -dV8_COMPRESS_POINTERS).
3685
3686v8_enable_raw_heap_snapshots
3687 Current value (from the default) = false
3688 From //v8/gni/v8.gni:36
3689
3690 Enables raw heap snapshots containing internals. Used for debugging memory
3691 on platform and embedder level.
3692
3693v8_enable_regexp_interpreter_threaded_dispatch
3694 Current value (from the default) = true
3695 From //v8/BUILD.gn:202
3696
3697 Use token threaded dispatch for the regular expression interpreter.
3698 Use switch-based dispatch if this is false
3699
3700v8_enable_shared_ro_heap
3701 Current value (from the default) = ""
3702 From //v8/BUILD.gn:187
3703
3704 Enable sharing read-only space across isolates.
3705 Sets -DV8_SHARED_RO_HEAP.
3706
3707v8_enable_single_generation
3708 Current value (from the default) = ""
3709 From //v8/BUILD.gn:198
3710
3711 Redirect allocation in young generation so that there will be
3712 only one single generation.
3713
3714v8_enable_slow_dchecks
3715 Current value (from the default) = false
3716 From //v8/BUILD.gn:83
3717
3718 Enable slow dchecks.
3719
3720v8_enable_snapshot_code_comments
3721 Current value (from the default) = false
3722 From //v8/BUILD.gn:98
3723
3724 Enable code comments for builtins in the snapshot (impacts performance).
3725
3726v8_enable_snapshot_native_code_counters
3727 Current value (from the default) = ""
3728 From //v8/BUILD.gn:104
3729
3730 Enable native counters from the snapshot (impacts performance, sets
3731 -dV8_SNAPSHOT_NATIVE_CODE_COUNTERS).
3732 This option will generate extra code in the snapshot to increment counters,
3733 as per the --native-code-counters flag.
3734
3735v8_enable_test_features
3736 Current value (from the default) = ""
3737 From //v8/BUILD.gn:132
3738
3739 Enables various testing features.
3740
3741v8_enable_trace_feedback_updates
3742 Current value (from the default) = false
3743 From //v8/BUILD.gn:126
3744
3745 Sets -dV8_TRACE_FEEDBACK_UPDATES.
3746
3747v8_enable_trace_ignition
3748 Current value (from the default) = false
3749 From //v8/BUILD.gn:123
3750
3751 Sets -dV8_TRACE_IGNITION.
3752
3753v8_enable_trace_maps
3754 Current value (from the default) = ""
3755 From //v8/BUILD.gn:117
3756
3757 Sets -dV8_TRACE_MAPS.
3758
3759v8_enable_v8_checks
3760 Current value (from the default) = ""
3761 From //v8/BUILD.gn:120
3762
3763 Sets -dV8_ENABLE_CHECKS.
3764
3765v8_enable_verify_csa
3766 Current value (from the default) = false
3767 From //v8/BUILD.gn:107
3768
3769 Enable code-generation-time checking of types in the CodeStubAssembler.
3770
3771v8_enable_verify_heap
3772 Current value (from the default) = ""
3773 From //v8/BUILD.gn:50
3774
3775 Sets -DVERIFY_HEAP.
3776
3777v8_enable_verify_predictable
3778 Current value (from the default) = false
3779 From //v8/BUILD.gn:53
3780
3781 Sets -DVERIFY_PREDICTABLE
3782
3783v8_enable_vtunejit
3784 Current value (from the default) = false
3785 From //v8/BUILD.gn:77
3786
3787 Sets -dENABLE_VTUNE_JIT_INTERFACE.
3788
3789v8_expose_symbols
3790 Current value (from the default) = false
3791 From //v8/gni/v8.gni:65
3792
3793 Expose symbols for dynamic linking.
3794
3795v8_extra_library_files
3796 Current value = []
3797 From //.gn:32
3798 Overridden from the default = []
3799 From //v8/BUILD.gn:159
3800
3801 List of extra files to snapshot. They will be snapshotted in order so
3802 if files export symbols used by later files, they should go first.
3803
3804v8_gcmole
3805 Current value (from the default) = false
3806 From //v8/gni/v8.gni:26
3807
3808 Indicate if gcmole was fetched as a hook to make it available on swarming.
3809
3810v8_has_valgrind
3811 Current value (from the default) = false
3812 From //v8/gni/v8.gni:23
3813
3814 Indicate if valgrind was fetched as a custom deps to make it available on
3815 swarming.
3816
3817v8_imminent_deprecation_warnings
3818 Current value = false
3819 From //.gn:35
3820 Overridden from the default = true
3821 From //v8/BUILD.gn:59
3822
3823 Enable compiler warnings when using V8_DEPRECATE_SOON apis.
3824
3825v8_monolithic
3826 Current value (from the default) = false
3827 From //v8/gni/v8.gni:62
3828
3829 Enable monolithic static library for embedders.
3830
3831v8_multi_arch_build
3832 Current value (from the default) = false
3833 From //v8/gni/v8.gni:19
3834
3835 Adds additional compile target for building multiple architectures at once.
3836
3837v8_no_inline
3838 Current value (from the default) = false
3839 From //v8/BUILD.gn:143
3840
3841 Switches off inlining in V8.
3842
3843v8_optimized_debug
3844 Current value (from the default) = true
3845 From //v8/gni/v8.gni:29
3846
3847 Turns on compiler optimizations in V8 in Debug build.
3848
3849v8_os_page_size
3850 Current value (from the default) = "0"
3851 From //v8/BUILD.gn:146
3852
3853 Override OS page size when generating snapshot
3854
3855v8_postmortem_support
3856 Current value (from the default) = false
3857 From //v8/BUILD.gn:137
3858
3859 With post mortem support enabled, metadata is embedded into libv8 that
3860 describes various parameters of the VM for use by debuggers. See
3861 tools/gen-postmortem-metadata.py for details.
3862
3863v8_promise_internal_field_count
3864 Current value (from the default) = 0
3865 From //v8/BUILD.gn:71
3866
3867 Sets the number of internal fields on promise objects.
3868
3869v8_snapshot_toolchain
3870 Current value (from the default) = ""
3871 From //v8/gni/snapshot_toolchain.gni:34
3872
3873 The v8 snapshot needs to be built by code that is compiled with a
3874 toolchain that matches the bit-width of the target CPU, but runs on
3875 the host.
3876
3877v8_static_library
3878 Current value (from the default) = false
3879 From //v8/gni/v8.gni:59
3880
3881 Use static libraries instead of source_sets.
3882
3883v8_target_cpu
3884 Current value (from the default) = ""
3885 From //build/config/v8_target_cpu.gni:33
3886
3887 This arg is used when we want to tell the JIT-generating v8 code
3888 that we want to have it generate for an architecture that is different
3889 than the architecture that v8 will actually run on; we then run the
3890 code under an emulator. For example, we might run v8 on x86, but
3891 generate arm code and run that under emulation.
3892
3893 This arg is defined here rather than in the v8 project because we want
3894 some of the common architecture-specific args (like arm_float_abi or
3895 mips_arch_variant) to be set to their defaults either if the current_cpu
3896 applies *or* if the v8_current_cpu applies.
3897
3898 As described below, you can also specify the v8_target_cpu to use
3899 indirectly by specifying a `custom_toolchain` that contains v8_$cpu in the
3900 name after the normal toolchain.
3901
3902 For example, `gn gen --args="custom_toolchain=...:clang_x64_v8_arm64"`
3903 is equivalent to setting --args=`v8_target_cpu="arm64"`. Setting
3904 `custom_toolchain` is more verbose but makes the toolchain that is
3905 (effectively) being used explicit.
3906
3907 v8_target_cpu can only be used to target one architecture in a build,
3908 so if you wish to build multiple copies of v8 that are targeting
3909 different architectures, you will need to do something more
3910 complicated involving multiple toolchains along the lines of
3911 custom_toolchain, above.
3912
3913v8_typed_array_max_size_in_heap
3914 Current value (from the default) = 64
3915 From //v8/BUILD.gn:155
3916
3917 Controls the threshold for on-heap/off-heap Typed Arrays.
3918
3919v8_untrusted_code_mitigations
3920 Current value (from the default) = true
3921 From //v8/BUILD.gn:175
3922
3923v8_use_external_startup_data
3924 Current value (from the default) = ""
3925 From //v8/gni/v8.gni:52
3926
3927 Use external files for startup data blobs:
3928 the JS builtins sources and the start snapshot.
3929
3930v8_use_mips_abi_hardfloat
3931 Current value (from the default) = true
3932 From //v8/BUILD.gn:152
3933
3934 Similar to the ARM hard float ABI but on MIPS.
3935
3936v8_use_multi_snapshots
3937 Current value (from the default) = false
3938 From //v8/gni/v8.gni:48
3939
3940 Enable several snapshots side-by-side (e.g. default and for trusted code).
3941
3942v8_use_perfetto
3943 Current value (from the default) = false
3944 From //v8/gni/v8.gni:69
3945
3946 Use Perfetto (https://perfetto.dev) as the default TracingController. Not
3947 currently implemented.
3948
3949v8_use_siphash
3950 Current value (from the default) = false
3951 From //v8/BUILD.gn:140
3952
3953 Use Siphash as added protection against hash flooding attacks.
3954
3955v8_use_snapshot
3956 Current value (from the default) = true
3957 From //v8/gni/v8.gni:44
3958
3959 Enable the snapshot feature, for fast context creation.
3960 https://v8.dev/blog/custom-startup-snapshots
3961 TODO(thakis): Make snapshots work in 64-bit win/cross builds,
3962 https://803591
3963 On Mac hosts, 32-bit builds targeting Windows can't use snapshots, see
3964 https://crbug.com/794838
3965
3966v8_win64_unwinding_info
3967 Current value (from the default) = true
3968 From //v8/BUILD.gn:95
3969
3970 Enable the registration of unwinding info for Windows x64 and ARM64.
3971
3972weblayer_shell_major_version
3973 Current value (from the default) = "99"
3974 From //weblayer/shell/BUILD.gn:20
3975
3976weblayer_shell_product_name
3977 Current value (from the default) = "WebLayer Shell"
3978 From //weblayer/shell/BUILD.gn:18
3979
3980weblayer_shell_version
3981 Current value (from the default) = "99.77.34.5"
3982 From //weblayer/shell/BUILD.gn:19
3983
3984win_console_app
3985 Current value (from the default) = false
3986 From //build/config/win/console_app.gni:12
3987
3988 If true, builds as a console app (rather than a windowed app), which allows
3989 logging to be printed to the user. This will cause a terminal window to pop
3990 up when the executable is not run from the command line, so should only be
3991 used for development. Only has an effect on Windows builds.
3992
3993x64_arch
3994 Current value (from the default) = ""
3995 From //build/config/x64.gni:16
3996
3997 The micro architecture of x64 cpu. This will be a string like "haswell" or
3998 "skylake". An empty string means to use the default architecture which is
3999 "x86-64".
4000 CPU options for "x86-64" in GCC can be found at
4001 https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html
4002 CPU options for "x86-64" in llvm can be found at
4003 https://github.com/llvm/llvm-project/blob/master/llvm/include/llvm/Support/X86TargetParser.def