-
-
Save Lakshmipathi/d2f552388677ca44b710ce1d64bd022b to your computer and use it in GitHub Desktop.
gn args {V8}/out.gn/x64.release/ --list (V8 v7.1.163)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
action_pool_depth | |
Current value (from the default) = -1 | |
From //build/toolchain/BUILD.gn:10 | |
Pool for non goma tasks. | |
android_full_debug | |
Current value (from the default) = false | |
From //build/config/compiler/BUILD.gn:48 | |
Normally, Android builds are lightly optimized, even for debug builds, to | |
keep binary size down. Setting this flag to true disables such optimization | |
asan_globals | |
Current value (from the default) = true | |
From //build/config/sanitizers/sanitizers.gni:152 | |
Detect overflow/underflow for global objects. | |
Mac: http://crbug.com/352073 | |
auto_profile_path | |
Current value (from the default) = "" | |
From //build/config/compiler/BUILD.gn:92 | |
AFDO (Automatic Feedback Directed Optimizer) is a form of profile-guided | |
optimization that GCC supports. It used by ChromeOS in their official | |
builds. To use it, set auto_profile_path to the path to a file containing | |
the needed gcov profiling data. | |
binutils_path | |
Current value (from the default) = "../../third_party/binutils/Linux_x64/Release/bin" | |
From //build/config/compiler/BUILD.gn:57 | |
build_devil_arm_deps | |
Current value (from the default) = false | |
From //third_party/catapult/devil/devil_arm.gni:8 | |
Whether to build Devil host dependencies for Linux arm, e.g. for use on | |
Raspberry Pis. | |
cc_wrapper | |
Current value (from the default) = "" | |
From //build/toolchain/cc_wrapper.gni:36 | |
Set to "ccache", "icecc" or "distcc". Probably doesn't work on windows. | |
chrome_pgo_phase | |
Current value (from the default) = 0 | |
From //build/config/compiler/pgo/pgo.gni:13 | |
Specify the current PGO phase. | |
Here's the different values that can be used: | |
0 : Means that PGO is turned off. | |
1 : Used during the PGI (instrumentation) phase. | |
2 : Used during the PGO (optimization) phase. | |
TODO(sebmarchand): Add support for the PGU (update) phase. | |
chromecast_branding | |
Current value (from the default) = "public" | |
From //build/config/chromecast_build.gni:15 | |
chromecast_branding is used to include or exclude Google-branded components. | |
Set it to "public" for a Chromium build. | |
clang_base_path | |
Current value (from the default) = "//third_party/llvm-build/Release+Asserts" | |
From //build/config/clang/clang.gni:14 | |
clang_format_svn_revision | |
Current value (from the default) = "302580" | |
From //buildtools/deps_revisions.gni:8 | |
The svn revisions that belong to the git hashes in DEPS. Used to cause full | |
rebuilds on libc++ rolls. | |
clang_sample_profile_path | |
Current value (from the default) = "" | |
From //build/config/compiler/BUILD.gn:107 | |
Path to an AFDO profile to use while building with clang, if any. Empty | |
implies none. | |
clang_use_chrome_plugins | |
Current value (from the default) = true | |
From //build/config/clang/clang.gni:12 | |
Indicates if the build should use the Chrome-specific plugins for enforcing | |
coding guidelines, etc. Only used when compiling with Clang. | |
clang_use_default_sample_profile | |
Current value (from the default) = false | |
From //build/config/compiler/BUILD.gn:115 | |
Some configurations have default sample profiles. If this is true and | |
clang_sample_profile_path is empty, we'll fall back to the default. | |
We currently only have default profiles for Chromium in-tree, so we disable | |
this by default for all downstream projects, since these profiles are likely | |
nonsensical for said projects. | |
clang_version | |
Current value (from the default) = "8.0.0" | |
From //build/toolchain/toolchain.gni:51 | |
Clang compiler version. Clang files are placed at version-dependent paths. | |
compiler_timing | |
Current value (from the default) = false | |
From //build/config/compiler/BUILD.gn:119 | |
Turn this on to have the compiler output extra timing information. | |
concurrent_links | |
Current value (from the default) = -1 | |
From //build/toolchain/concurrent_links.gni:19 | |
Limit the number of concurrent links; we often want to run fewer | |
links at once than we do compiles, because linking is memory-intensive. | |
The default to use varies by platform and by the amount of memory | |
available, so we call out to a script to get the right value. | |
current_cpu | |
Current value (from the default) = "" | |
(Internally set; try `gn help current_cpu`.) | |
current_os | |
Current value (from the default) = "" | |
(Internally set; try `gn help current_os`.) | |
custom_toolchain | |
Current value (from the default) = "" | |
From //build/config/BUILDCONFIG.gn:144 | |
Allows the path to a custom target toolchain to be injected as a single | |
argument, and set as the default toolchain. | |
dcheck_always_on | |
Current value (from the default) = false | |
From //build/config/dcheck_always_on.gni:14 | |
Set to true to enable dcheck in Release builds. | |
dcheck_is_configurable | |
Current value (from the default) = false | |
From //build/config/dcheck_always_on.gni:9 | |
Enables DCHECKs to be built-in, but to default to being non-fatal/log-only. | |
DCHECKS can then be set as fatal/non-fatal via the DCheckIsFatal feature. | |
See crbug.com/596231 for details on how this is used. | |
disable_libfuzzer | |
Current value (from the default) = false | |
From //build/config/sanitizers/sanitizers.gni:95 | |
Helper variable for testing builds with disabled libfuzzer. | |
Not for client use. | |
enable_full_stack_frames_for_profiling | |
Current value (from the default) = false | |
From //build/config/compiler/BUILD.gn:65 | |
Compile in such a way as to make it possible for the profiler to unwind full | |
stack frames. Setting this flag has a large effect on the performance of the | |
generated code than just setting profiling, but gives the profiler more | |
information to analyze. | |
Requires profiling to be set to true. | |
enable_iterator_debugging | |
Current value (from the default) = true | |
From //build/config/BUILD.gn:36 | |
When set (the default) enables C++ iterator debugging in debug builds. | |
Iterator debugging is always off in release builds (technically, this flag | |
affects the "debug" config, which is always available but applied by | |
default only in debug builds). | |
Iterator debugging is generally useful for catching bugs. But it can | |
introduce extra locking to check the state of an iterator against the state | |
of the current object. For iterator- and thread-heavy code, this can | |
significantly slow execution. | |
enable_precompiled_headers | |
Current value (from the default) = true | |
From //build/config/pch.gni:11 | |
Precompiled header file support is by default available, | |
but for distributed build system uses (like goma) or when | |
doing official builds. | |
enable_profiling | |
Current value (from the default) = false | |
From //build/config/compiler/compiler.gni:35 | |
Compile in such a way as to enable profiling of the generated code. For | |
example, don't omit the frame pointer and leave in symbols. | |
enable_resource_whitelist_generation | |
Current value (from the default) = false | |
From //build/toolchain/gcc_toolchain.gni:26 | |
fatal_linker_warnings | |
Current value (from the default) = true | |
From //build/config/compiler/BUILD.gn:81 | |
Enable fatal linker warnings. Building Chromium with certain versions | |
of binutils can cause linker warning. | |
See: https://bugs.chromium.org/p/chromium/issues/detail?id=457359 | |
fieldtrial_testing_like_official_build | |
Current value (from the default) = false | |
From //build/config/features.gni:46 | |
Set to true make a build that disables activation of field trial tests | |
specified in testing/variations/fieldtrial_testing_config_*.json. | |
Note: this setting is ignored if is_chrome_branded. | |
force_local_build_id | |
Current value (from the default) = false | |
From //build/config/compiler/BUILD.gn:140 | |
By default only the binaries in official builds get build IDs. | |
full_wpo_on_official | |
Current value (from the default) = false | |
From //build/config/compiler/compiler.gni:162 | |
gcc_target_rpath | |
Current value (from the default) = "" | |
From //build/config/gcc/BUILD.gn:19 | |
When non empty, overrides the target rpath value. This allows a user to | |
make a Chromium build where binaries and shared libraries are meant to be | |
installed into separate directories, like /usr/bin/chromium and | |
/usr/lib/chromium for instance. It is useful when a build system that | |
generates a whole target root filesystem (like Yocto) is used on top of gn, | |
especially when cross-compiling. | |
Note: this gn arg is similar to gyp target_rpath generator flag. | |
generate_linker_map | |
Current value (from the default) = false | |
From //build/toolchain/toolchain.gni:28 | |
Used for binary size analysis. | |
Currently disabled on LLD because of a bug (fixed upstream). | |
See https://crbug.com/716209. | |
generate_order_files | |
Current value (from the default) = false | |
From //build/config/chrome_build.gni:17 | |
Turn this on to generate order files. See | |
https://chromium.googlesource.com/chromium/src/+/master/docs/win_order_files.md | |
gold_path | |
Current value (from the default) = false | |
From //build/config/compiler/BUILD.gn:69 | |
When we are going to use gold we need to find it. | |
This is initialized below, after use_gold might have been overridden. | |
goma_dir | |
Current value (from the default) = "/root/goma" | |
From //build/toolchain/goma.gni:26 | |
Absolute directory containing the gomacc binary. | |
has_gomacc_path | |
Current value (from the default) = false | |
From //build/toolchain/goma.gni:14 | |
This flag is for ChromeOS compiler wrapper. | |
By passing gomacc path via GOMACC_PATH environment variable, ChromeOS' | |
compiler wrapper invokes gomacc inside it. | |
host_byteorder | |
Current value (from the default) = "undefined" | |
From //build/config/host_byteorder.gni:9 | |
host_cpu | |
Current value (from the default) = "x64" | |
(Internally set; try `gn help host_cpu`.) | |
host_os | |
Current value (from the default) = "linux" | |
(Internally set; try `gn help host_os`.) | |
host_pkg_config | |
Current value (from the default) = "" | |
From //build/config/linux/pkg_config.gni:36 | |
A optional pkg-config wrapper to use for tools built on the host. | |
host_toolchain | |
Current value (from the default) = "" | |
From //build/config/BUILDCONFIG.gn:148 | |
This should not normally be set as a build argument. It's here so that | |
every toolchain can pass through the "global" value via toolchain_args(). | |
icu_use_data_file | |
Current value (from the default) = true | |
From //third_party/icu/config.gni:15 | |
Tells icu to load an external data file rather than rely on the icudata | |
being linked directly into the binary. | |
This flag is a bit confusing. As of this writing, icu.gyp set the value to | |
0 but common.gypi sets the value to 1 for most platforms (and the 1 takes | |
precedence). | |
TODO(GYP) We'll probably need to enhance this logic to set the value to | |
true or false in similar circumstances. | |
ios_deployment_target | |
Current value (from the default) = "10.0" | |
From //build/config/ios/ios_sdk_overrides.gni:10 | |
Version of iOS that we're targeting. | |
is_asan | |
Current value (from the default) = false | |
From //build/config/sanitizers/sanitizers.gni:12 | |
Compile for Address Sanitizer to find memory bugs. | |
is_cast_audio_only | |
Current value (from the default) = false | |
From //build/config/chromecast_build.gni:18 | |
Set this true for an audio-only Chromecast build. | |
is_cast_desktop_build | |
Current value (from the default) = false | |
From //build/config/chromecast_build.gni:30 | |
True if Chromecast build is targeted for linux desktop. This type of build | |
is useful for testing and development, but currently supports only a subset | |
of Cast functionality. Though this defaults to true for x86 Linux devices, | |
this should be overriden manually for an embedded x86 build. | |
TODO(slan): Remove instances of this when x86 is a fully supported platform. | |
is_cfi | |
Current value (from the default) = false | |
From //build/config/sanitizers/sanitizers.gni:57 | |
Compile with Control Flow Integrity to protect virtual calls and casts. | |
See http://clang.llvm.org/docs/ControlFlowIntegrity.html | |
TODO(pcc): Remove this flag if/when CFI is enabled in all official builds. | |
is_chrome_branded | |
Current value (from the default) = false | |
From //build/config/chrome_build.gni:9 | |
Select the desired branding flavor. False means normal Chromium branding, | |
true means official Google Chrome branding (requires extra Google-internal | |
resources). | |
is_chromecast | |
Current value (from the default) = false | |
From //build/config/chromecast_build.gni:11 | |
Set this true for a Chromecast build. Chromecast builds are supported on | |
Linux and Android. | |
is_clang | |
Current value (from the default) = false | |
From //build/config/BUILDCONFIG.gn:137 | |
Set to true when compiling with the Clang compiler. | |
is_component_build | |
Current value (from the default) = false | |
From //build/config/BUILDCONFIG.gn:165 | |
Component build. Setting to true compiles targets declared as "components" | |
as shared libraries loaded dynamically. This speeds up development time. | |
When false, components will be linked statically. | |
For more information see | |
https://chromium.googlesource.com/chromium/src/+/master/docs/component_build.md | |
is_debug | |
Current value = false | |
From //out.gn/x64.release/args.gn:1 | |
Overridden from the default = true | |
From //build/config/BUILDCONFIG.gn:155 | |
Debug build. Enabling official builds automatically sets is_debug to false. | |
is_desktop_linux | |
Current value (from the default) = true | |
From //build/config/BUILDCONFIG.gn:134 | |
Whether we're a traditional desktop unix. | |
is_lsan | |
Current value (from the default) = false | |
From //build/config/sanitizers/sanitizers.gni:15 | |
Compile for Leak Sanitizer to find leaks. | |
is_msan | |
Current value (from the default) = false | |
From //build/config/sanitizers/sanitizers.gni:18 | |
Compile for Memory Sanitizer to find uninitialized reads. | |
is_multi_dll_chrome | |
Current value (from the default) = false | |
From //build/config/chrome_build.gni:13 | |
Break chrome.dll into multple pieces based on process type. Only available | |
on Windows. | |
is_official_build | |
Current value (from the default) = false | |
From //build/config/BUILDCONFIG.gn:131 | |
Set to enable the official build level of optimization. This has nothing | |
to do with branding, but enables an additional level of optimization above | |
release (!is_debug). This might be better expressed as a tri-state | |
(debug, release, official) but for historical reasons there are two | |
separate flags. | |
is_safestack | |
Current value (from the default) = false | |
From //build/config/sanitizers/sanitizers.gni:37 | |
Compile with SafeStack shadow stack support. | |
is_tsan | |
Current value (from the default) = false | |
From //build/config/sanitizers/sanitizers.gni:21 | |
Compile for Thread Sanitizer to find threading bugs. | |
is_ubsan | |
Current value (from the default) = false | |
From //build/config/sanitizers/sanitizers.gni:25 | |
Compile for Undefined Behaviour Sanitizer to find various types of | |
undefined behaviour (excludes vptr checks). | |
is_ubsan_no_recover | |
Current value (from the default) = false | |
From //build/config/sanitizers/sanitizers.gni:28 | |
Halt the program if a problem is detected. | |
is_ubsan_null | |
Current value (from the default) = false | |
From //build/config/sanitizers/sanitizers.gni:31 | |
Compile for Undefined Behaviour Sanitizer's null pointer checks. | |
is_ubsan_security | |
Current value (from the default) = false | |
From //build/config/sanitizers/sanitizers.gni:87 | |
Enables core ubsan security features. Will later be removed once it matches | |
is_ubsan. | |
is_ubsan_vptr | |
Current value (from the default) = false | |
From //build/config/sanitizers/sanitizers.gni:34 | |
Compile for Undefined Behaviour Sanitizer's vptr checks. | |
is_win_fastlink | |
Current value (from the default) = false | |
From //build/config/compiler/compiler.gni:57 | |
Tell VS to create a PDB that references information in .obj files rather | |
than copying it all. This should improve linker performance. mspdbcmf.exe | |
can be used to convert a fastlink pdb to a normal one. | |
jumbo_build_excluded | |
Current value (from the default) = [] | |
From //build/config/jumbo.gni:15 | |
A list of targets to exclude from jumbo builds, for optimal round trip time | |
when frequently changing a set of cpp files. | |
jumbo_file_merge_limit | |
Current value (from the default) = -1 | |
From //build/config/jumbo.gni:31 | |
How many files to group on average. Smaller numbers give more | |
parallellism, higher numbers give less total CPU usage. Higher | |
numbers also give longer single-file recompilation times. | |
Recommendations: | |
Higher numbers than 100 does not reduce wall clock compile times | |
even for 4 cores or less so no reason to go higher than 100. | |
Going from 50 to 100 with a 4 core CPU saves about 3% CPU time and | |
3% wall clock time in a tree with blink, v8 and content | |
jumbofied. At the same time it increases the compile time for the | |
largest jumbo chunks by 10-20% and reduces the chance to use all | |
available CPU cores. So set the default to 50 to balance between | |
high and low-core build performance. -1 means do the default which | |
varies depending on whether goma is enabled. | |
ldso_path | |
Current value (from the default) = "" | |
From //build/config/gcc/BUILD.gn:20 | |
libcxx_svn_revision | |
Current value (from the default) = "332543" | |
From //buildtools/deps_revisions.gni:9 | |
libcxxabi_svn_revision | |
Current value (from the default) = "331450" | |
From //buildtools/deps_revisions.gni:10 | |
libunwind_svn_revision | |
Current value (from the default) = "332513" | |
From //buildtools/deps_revisions.gni:11 | |
linux_use_bundled_binutils | |
Current value (from the default) = true | |
From //build/config/compiler/BUILD.gn:55 | |
llvm_force_head_revision | |
Current value (from the default) = false | |
From //build/toolchain/toolchain.gni:18 | |
If this is set to true, or if LLVM_FORCE_HEAD_REVISION is set to 1 | |
in the environment, we use the revision in the llvm repo to determine | |
the CLANG_REVISION to use, instead of the version hard-coded into | |
//tools/clang/scripts/update.py. This should only be used in | |
conjunction with setting LLVM_FORCE_HEAD_REVISION in the | |
environment when `gclient runhooks` is run as well. | |
mac_sdk_min | |
Current value (from the default) = "10.12" | |
From //build/config/mac/mac_sdk_overrides.gni:12 | |
mips_use_mmi | |
Current value (from the default) = false | |
From //build/config/mips.gni:13 | |
MIPS MultiMedia Instruction compilation flag. | |
msan_track_origins | |
Current value (from the default) = 2 | |
From //build/config/sanitizers/sanitizers.gni:42 | |
Track where uninitialized memory originates from. From fastest to slowest: | |
0 - no tracking, 1 - track only the initial allocation site, 2 - track the | |
chain of stores leading from allocation site to use site. | |
msvc_use_absolute_paths | |
Current value (from the default) = false | |
From //build/toolchain/toolchain.gni:32 | |
Use absolute file paths in the compiler diagnostics and __FILE__ macro | |
if needed. | |
optimize_for_fuzzing | |
Current value (from the default) = false | |
From //build/config/sanitizers/sanitizers.gni:99 | |
Optimize for coverage guided fuzzing (balance between speed and number of | |
branches). Can be also used to remove non-determinism and other issues. | |
pgo_data_path | |
Current value (from the default) = "" | |
From //build/config/compiler/pgo/pgo.gni:16 | |
When using chrome_pgo_phase = 2, read profile data from this path. | |
pkg_config | |
Current value (from the default) = "" | |
From //build/config/linux/pkg_config.gni:33 | |
A pkg-config wrapper to call instead of trying to find and call the right | |
pkg-config directly. Wrappers like this are common in cross-compilation | |
environments. | |
Leaving it blank defaults to searching PATH for 'pkg-config' and relying on | |
the sysroot mechanism to find the right .pc files. | |
proprietary_codecs | |
Current value (from the default) = false | |
From //build/config/features.gni:29 | |
Enables proprietary codecs and demuxers; e.g. H264, AAC, MP3, and MP4. | |
We always build Google Chrome and Chromecast with proprietary codecs. | |
Note: this flag is used by WebRTC which is DEPSed into Chrome. Moving it | |
out of //build will require using the build_overrides directory. | |
ro_segment_workaround_for_valgrind | |
Current value (from the default) = false | |
From //build/config/compiler/BUILD.gn:124 | |
Set to true to pass --no-rosegment to lld. This is a workaround | |
for a KI issue in Valgrind, | |
https://bugs.kde.org/show_bug.cgi?id=384727 | |
safe_browsing_mode | |
Current value (from the default) = 1 | |
From //build/config/features.gni:40 | |
sample_profile_is_accurate | |
Current value (from the default) = false | |
From //build/config/compiler/compiler.gni:96 | |
Whether we should consider the profile we're using to be accurate. Accurate | |
profiles have the benefit of (potentially substantial) binary size | |
reductions, by instructing the compiler to optimize cold and uncovered | |
functions heavily for size. This often comes at the cost of performance. | |
sanitizer_coverage_flags | |
Current value (from the default) = "" | |
From //build/config/sanitizers/sanitizers.gni:109 | |
Value for -fsanitize-coverage flag. Setting this causes | |
use_sanitizer_coverage to be enabled. | |
This flag is not used for libFuzzer (use_libfuzzer=true). Instead, we use: | |
-fsanitize=fuzzer-no-link | |
Default value when unset and use_afl=true: | |
trace-pc-guard | |
Default value when unset and use_sanitizer_coverage=true: | |
trace-pc-guard,indirect-calls | |
strip_absolute_paths_from_debug_symbols | |
Current value (from the default) = false | |
From //build/config/compiler/BUILD.gn:100 | |
strip_debug_info | |
Current value (from the default) = false | |
From //build/config/compiler/compiler.gni:31 | |
Android-only: Strip the debug info of libraries within lib.unstripped to | |
reduce size. As long as symbol_level > 0, this will still allow stacks to be | |
symbolized. | |
symbol_level | |
Current value (from the default) = -1 | |
From //build/config/compiler/compiler.gni:26 | |
How many symbols to include in the build. This affects the performance of | |
the build since the symbols are large and dealing with them is slow. | |
2 means regular build with symbols. | |
1 means minimal symbols, usually enough for backtraces only. Symbols with | |
internal linkage (static functions or those in anonymous namespaces) may not | |
appear when using this level. | |
0 means no symbols. | |
-1 means auto-set according to debug/release and platform. | |
system_libdir | |
Current value (from the default) = "lib" | |
From //build/config/linux/pkg_config.gni:47 | |
CrOS systemroots place pkgconfig files at <systemroot>/usr/share/pkgconfig | |
and one of <systemroot>/usr/lib/pkgconfig or <systemroot>/usr/lib64/pkgconfig | |
depending on whether the systemroot is for a 32 or 64 bit architecture. | |
When build under GYP, CrOS board builds specify the 'system_libdir' variable | |
as part of the GYP_DEFINES provided by the CrOS emerge build or simple | |
chrome build scheme. This variable permits controlling this for GN builds | |
in similar fashion by setting the `system_libdir` variable in the build's | |
args.gn file to 'lib' or 'lib64' as appropriate for the target architecture. | |
target_cpu | |
Current value = "x64" | |
From //out.gn/x64.release/args.gn:2 | |
Overridden from the default = "" | |
(Internally set; try `gn help target_cpu`.) | |
target_os | |
Current value (from the default) = "" | |
(Internally set; try `gn help target_os`.) | |
target_sysroot | |
Current value (from the default) = "" | |
From //build/config/sysroot.gni:13 | |
The absolute path of the sysroot that is applied when compiling using | |
the target toolchain. | |
target_sysroot_dir | |
Current value (from the default) = "//build/linux" | |
From //build/config/sysroot.gni:16 | |
The absolute path to directory containing linux sysroot images | |
thin_lto_enable_optimizations | |
Current value (from the default) = false | |
From //build/config/compiler/BUILD.gn:137 | |
Whether to enable ThinLTO optimizations. Turning ThinLTO optimizations on | |
can substantially increase link time and binary size, but they generally | |
also make binaries a fair bit faster. | |
TODO(gbiv): We disable optimizations by default on most platforms because | |
the space overhead is too great. We should use some mixture of profiles and | |
optimization settings to better tune the size increase. | |
toolkit_views | |
Current value (from the default) = true | |
From //build/config/ui.gni:38 | |
True means the UI is built using the "views" framework. | |
treat_warnings_as_errors | |
Current value (from the default) = true | |
From //build/config/compiler/BUILD.gn:44 | |
Default to warnings as errors for default workflow, where we catch | |
warnings with known toolchains. Allow overriding this e.g. for Chromium | |
builds on Linux that could use a different version of the compiler. | |
With GCC, warnings in no-Chromium code are always not treated as errors. | |
use_afl | |
Current value (from the default) = false | |
From //build/config/sanitizers/sanitizers.gni:83 | |
Compile for fuzzing with AFL. | |
use_allocator | |
Current value (from the default) = "tcmalloc" | |
From //build/config/allocator.gni:28 | |
Memory allocator to use. Set to "none" to use default allocator. | |
use_allocator_shim | |
Current value (from the default) = true | |
From //build/config/allocator.gni:31 | |
Causes all the allocations to be routed via allocator_shim.cc. | |
use_aura | |
Current value (from the default) = true | |
From //build/config/ui.gni:30 | |
Indicates if Aura is enabled. Aura is a low-level windowing library, sort | |
of a replacement for GDI or GTK. | |
use_cfi_cast | |
Current value (from the default) = false | |
From //build/config/sanitizers/sanitizers.gni:63 | |
Enable checks for bad casts: derived cast and unrelated cast. | |
TODO(krasin): remove this, when we're ready to add these checks by default. | |
https://crbug.com/626794 | |
use_cfi_diag | |
Current value (from the default) = false | |
From //build/config/sanitizers/sanitizers.gni:72 | |
Print detailed diagnostics when Control Flow Integrity detects a violation. | |
use_cfi_icall | |
Current value (from the default) = false | |
From //build/config/sanitizers/sanitizers.gni:68 | |
Enable checks for indirect function calls via a function pointer. | |
TODO(pcc): remove this when we're ready to add these checks by default. | |
https://crbug.com/701919 | |
use_cfi_recover | |
Current value (from the default) = false | |
From //build/config/sanitizers/sanitizers.gni:76 | |
Let Control Flow Integrity continue execution instead of crashing when | |
printing diagnostics (use_cfi_diag = true). | |
use_clang_coverage | |
Current value (from the default) = false | |
From //build/config/coverage/coverage.gni:9 | |
Enable Clang's Source-based Code Coverage. | |
use_clang_static_analyzer | |
Current value (from the default) = false | |
From //build/toolchain/clang_static_analyzer.gni:10 | |
Uses the Clang static analysis tools during compilation. | |
use_custom_libcxx | |
Current value (from the default) = true | |
From //build/config/c++/c++.gni:14 | |
use_custom_libcxx_for_host | |
Current value (from the default) = false | |
From //build/config/c++/c++.gni:24 | |
Use libc++ instead of stdlibc++ when using the host_cpu toolchain, even if | |
use_custom_libcxx is false. This is useful for cross-compiles where a custom | |
toolchain for the target_cpu has been set as the default toolchain, but | |
use_custom_libcxx should still be true when building for the host. The | |
expected usage is to set use_custom_libcxx=false and | |
use_custom_libcxx_for_host=true in the passed in buildargs. | |
use_cxx11 | |
Current value (from the default) = false | |
From //build/config/compiler/BUILD.gn:103 | |
Allow projects that wish to stay on C++11 to override Chromium's default. | |
use_cxx11_on_android | |
Current value (from the default) = false | |
From //build/config/compiler/BUILD.gn:145 | |
C++11 may not be an option if Android test infrastructure is used. | |
use_dbus | |
Current value (from the default) = true | |
From //build/config/features.gni:51 | |
use_debug_fission | |
Current value (from the default) = "default" | |
From //build/config/compiler/compiler.gni:47 | |
use_debug_fission: whether to use split DWARF debug info | |
files. This can reduce link time significantly, but is incompatible | |
with some utilities such as icecc and ccache. Requires gold and | |
gcc >= 4.8 or clang. | |
http://gcc.gnu.org/wiki/DebugFission | |
This is a placeholder value indicating that the code below should set | |
the default. This is necessary to delay the evaluation of the default | |
value expression until after its input values such as use_gold have | |
been set, e.g. by a toolchain_args() block. | |
use_drfuzz | |
Current value (from the default) = false | |
From //build/config/sanitizers/sanitizers.gni:91 | |
Compile for fuzzing with Dr. Fuzz | |
See http://www.chromium.org/developers/testing/dr-fuzz | |
use_ghash | |
Current value (from the default) = false | |
From //build/config/compiler/BUILD.gn:128 | |
Turn this on to use ghash feature of lld for faster debug link on Windows. | |
http://blog.llvm.org/2018/01/improving-link-time-on-windows-with.html | |
use_gio | |
Current value (from the default) = true | |
From //build/config/features.gni:53 | |
use_glib | |
Current value (from the default) = true | |
From //build/config/ui.gni:33 | |
Whether we should use glib, a low level C utility library. | |
use_gold | |
Current value (from the default) = false | |
From //build/config/compiler/compiler.gni:181 | |
Whether to use the gold linker from binutils instead of lld or bfd. | |
use_goma | |
Current value (from the default) = false | |
From //build/toolchain/goma.gni:9 | |
Set to true to enable distributed compilation using Goma. | |
use_icf | |
Current value (from the default) = true | |
From //build/config/compiler/BUILD.gn:161 | |
Set to true to use icf, Identical Code Folding. | |
icf=all is broken in older golds, see | |
https://sourceware.org/bugzilla/show_bug.cgi?id=17704 | |
See also https://crbug.com/663886 | |
`linux_use_bundled_binutils` is to avoid breaking Linux distros which may | |
still have a buggy gold. | |
chromeos binutils has been patched with the fix, so always use icf there. | |
The bug only affects x86 and x64, so we can still use ICF when targeting | |
other architectures. | |
lld doesn't have the bug. | |
use_incremental_wpo | |
Current value (from the default) = false | |
From //build/config/compiler/compiler.gni:61 | |
Whether or not we should turn on incremental WPO. Only affects the VS | |
Windows build. | |
use_jumbo_build | |
Current value (from the default) = false | |
From //build/config/jumbo.gni:11 | |
If true, use a jumbo build (files compiled together) to speed up | |
compilation. | |
use_libfuzzer | |
Current value (from the default) = false | |
From //build/config/sanitizers/sanitizers.gni:80 | |
Compile for fuzzing with LLVM LibFuzzer. | |
See http://www.chromium.org/developers/testing/libfuzzer | |
use_lld | |
Current value (from the default) = true | |
From //build/config/compiler/compiler.gni:172 | |
use_locally_built_instrumented_libraries | |
Current value (from the default) = false | |
From //build/config/sanitizers/sanitizers.gni:51 | |
Use dynamic libraries instrumented by one of the sanitizers instead of the | |
standard system libraries. Set this flag to build the libraries from source. | |
use_new_tcmalloc | |
Current value (from the default) = false | |
From //build/config/allocator.gni:37 | |
Use the new tcmalloc. It's relevant only when use_allocator == "tcmalloc". | |
use_ozone | |
Current value (from the default) = false | |
From //build/config/ui.gni:26 | |
Indicates if Ozone is enabled. Ozone is a low-level library layer for Linux | |
that does not require X11. Enabling this feature disables use of glib, x11, | |
Pango, and Cairo. | |
use_partition_alloc | |
Current value (from the default) = true | |
From //build/config/allocator.gni:34 | |
Partition alloc is included by default except iOS. | |
use_pic | |
Current value (from the default) = true | |
From //build/config/compiler/compiler.gni:64 | |
Whether or not we should use position independent code. | |
use_prebuilt_instrumented_libraries | |
Current value (from the default) = false | |
From //build/config/sanitizers/sanitizers.gni:47 | |
Use dynamic libraries instrumented by one of the sanitizers instead of the | |
standard system libraries. Set this flag to download prebuilt binaries from | |
GCS. | |
use_rtti | |
Current value (from the default) = false | |
From //build/config/compiler/BUILD.gn:86 | |
Build with C++ RTTI enabled. Chromium builds without RTTI by default, | |
but some sanitizers are known to require it, like CFI diagnostics | |
and UBsan variants. | |
use_sanitizer_coverage | |
Current value (from the default) = false | |
From //build/config/sanitizers/sanitizers.gni:146 | |
use_sysroot | |
Current value (from the default) = true | |
From //build/config/sysroot.gni:18 | |
use_thin_lto | |
Current value (from the default) = false | |
From //build/config/compiler/compiler.gni:52 | |
Enables support for ThinLTO, which links 3x-10x faster than full LTO. See | |
also http://blog.llvm.org/2016/06/thinlto-scalable-and-incremental-lto.html | |
TODO(https://crbug.com/887272): Reenable on is_android && is_official_build | |
use_udev | |
Current value (from the default) = true | |
From //build/config/features.gni:49 | |
libudev usage. This currently only affects the content layer. | |
use_xcode_clang | |
Current value (from the default) = false | |
From //build/toolchain/toolchain.gni:23 | |
Compile with Xcode version of clang instead of hermetic version shipped | |
with the build. Used on iOS to ship official builds (as they are built | |
with the version of clang shipped with Xcode). | |
using_mismatched_sample_profile | |
Current value (from the default) = false | |
From //build/config/compiler/compiler.gni:71 | |
Whether we're using a sample profile collected on an architecture different | |
than the one we're compiling for. | |
It's currently not possible to collect AFDO profiles on anything but | |
x86{,_64}. | |
v8_android_log_stdout | |
Current value (from the default) = false | |
From //BUILD.gn:23 | |
Print to stdout on Android. | |
v8_can_use_fpu_instructions | |
Current value (from the default) = true | |
From //BUILD.gn:126 | |
Similar to vfp but on MIPS. | |
v8_check_header_includes | |
Current value (from the default) = false | |
From //BUILD.gn:163 | |
Check that each header can be included in isolation (requires also | |
setting the "check_v8_header_includes" gclient variable to run a | |
specific hook). | |
v8_check_microtasks_scopes_consistency | |
Current value (from the default) = "" | |
From //BUILD.gn:152 | |
Temporary flag to allow embedders to update their microtasks scopes | |
while rolling in a new version of V8. | |
v8_code_coverage | |
Current value (from the default) = false | |
From //gni/v8.gni:13 | |
Set flags for tracking code coverage. Uses gcov with gcc and sanitizer | |
coverage with clang. | |
v8_correctness_fuzzer | |
Current value (from the default) = false | |
From //gni/v8.gni:16 | |
Includes files needed for correctness fuzzing. | |
v8_current_cpu | |
Current value (from the default) = "x64" | |
From //build/config/v8_target_cpu.gni:60 | |
This argument is declared here so that it can be overridden in toolchains. | |
It should never be explicitly set by the user. | |
v8_custom_deps | |
Current value (from the default) = "" | |
From //BUILD.gn:26 | |
Dynamically set an additional dependency from v8/custom_deps. | |
v8_deprecation_warnings | |
Current value (from the default) = true | |
From //BUILD.gn:42 | |
Enable compiler warnings when using V8_DEPRECATED apis. | |
v8_embed_script | |
Current value (from the default) = "" | |
From //BUILD.gn:48 | |
Embeds the given script into the snapshot. | |
v8_embedder_string | |
Current value (from the default) = "" | |
From //BUILD.gn:51 | |
Allows the embedder to add a custom suffix to the version string. | |
v8_enable_backtrace | |
Current value (from the default) = "" | |
From //gni/v8.gni:32 | |
Support for backtrace_symbols on linux. | |
v8_enable_concurrent_marking | |
Current value (from the default) = true | |
From //BUILD.gn:105 | |
Sets -dV8_CONCURRENT_MARKING | |
v8_enable_debugging_features | |
Current value (from the default) = false | |
From //BUILD.gn:30 | |
Turns on all V8 debug features. Enables running V8 in a pseudo debug mode | |
within a release Chrome. | |
v8_enable_disassembler | |
Current value (from the default) = "" | |
From //BUILD.gn:54 | |
Sets -dENABLE_DISASSEMBLER. | |
v8_enable_embedded_builtins | |
Current value (from the default) = true | |
From //BUILD.gn:76 | |
Enable embedded builtins. | |
TODO(jgruber,v8:6666): Support ia32 and maybe MSVC. | |
v8_enable_fast_mksnapshot | |
Current value (from the default) = false | |
From //BUILD.gn:72 | |
Enable fast mksnapshot runs. | |
v8_enable_future | |
Current value (from the default) = false | |
From //BUILD.gn:33 | |
Sets -DV8_ENABLE_FUTURE. | |
v8_enable_gdbjit | |
Current value (from the default) = true | |
From //BUILD.gn:147 | |
v8_enable_handle_zapping | |
Current value (from the default) = true | |
From //BUILD.gn:66 | |
Sets -dENABLE_HANDLE_ZAPPING. | |
v8_enable_i18n_support | |
Current value (from the default) = true | |
From //gni/v8.gni:49 | |
Enable ECMAScript Internationalization API. Enabling this feature will | |
add a dependency on the ICU library. | |
v8_enable_minor_mc | |
Current value (from the default) = true | |
From //BUILD.gn:158 | |
Enable minor mark compact. | |
v8_enable_object_print | |
Current value (from the default) = "" | |
From //BUILD.gn:90 | |
Sets -dOBJECT_PRINT. | |
v8_enable_pointer_compression | |
Current value (from the default) = false | |
From //BUILD.gn:83 | |
Enable pointer compression (sets -dV8_COMPRESS_POINTERS). | |
v8_enable_slow_dchecks | |
Current value (from the default) = false | |
From //BUILD.gn:69 | |
Enable slow dchecks. | |
v8_enable_test_features | |
Current value (from the default) = "" | |
From //BUILD.gn:108 | |
Enables various testing features. | |
v8_enable_trace_feedback_updates | |
Current value (from the default) = false | |
From //BUILD.gn:102 | |
Sets -dV8_TRACE_FEEDBACK_UPDATES. | |
v8_enable_trace_ignition | |
Current value (from the default) = false | |
From //BUILD.gn:99 | |
Sets -dV8_TRACE_IGNITION. | |
v8_enable_trace_maps | |
Current value (from the default) = "" | |
From //BUILD.gn:93 | |
Sets -dV8_TRACE_MAPS. | |
v8_enable_v8_checks | |
Current value (from the default) = "" | |
From //BUILD.gn:96 | |
Sets -dV8_ENABLE_CHECKS. | |
v8_enable_verify_csa | |
Current value (from the default) = false | |
From //BUILD.gn:80 | |
Enable code-generation-time checking of types in the CodeStubAssembler. | |
v8_enable_verify_heap | |
Current value (from the default) = "" | |
From //BUILD.gn:36 | |
Sets -DVERIFY_HEAP. | |
v8_enable_verify_predictable | |
Current value (from the default) = false | |
From //BUILD.gn:39 | |
Sets -DVERIFY_PREDICTABLE | |
v8_enable_vtunejit | |
Current value (from the default) = false | |
From //BUILD.gn:63 | |
Sets -dENABLE_VTUNE_JIT_INTERFACE. | |
v8_experimental_extra_library_files | |
Current value (from the default) = ["//test/cctest/test-experimental-extra.js"] | |
From //BUILD.gn:144 | |
v8_extra_library_files | |
Current value (from the default) = ["//test/cctest/test-extra.js"] | |
From //BUILD.gn:138 | |
List of extra files to snapshot. They will be snapshotted in order so | |
if files export symbols used by later files, they should go first. | |
This default is used by cctests. Projects using V8 will want to override. | |
v8_gcmole | |
Current value (from the default) = false | |
From //gni/v8.gni:26 | |
Indicate if gcmole was fetched as a hook to make it available on swarming. | |
v8_has_valgrind | |
Current value (from the default) = false | |
From //gni/v8.gni:23 | |
Indicate if valgrind was fetched as a custom deps to make it available on | |
swarming. | |
v8_imminent_deprecation_warnings | |
Current value (from the default) = true | |
From //BUILD.gn:45 | |
Enable compiler warnings when using V8_DEPRECATE_SOON apis. | |
v8_interpreted_regexp | |
Current value (from the default) = false | |
From //BUILD.gn:87 | |
Interpreted regexp engine exists as platform-independent alternative | |
based where the regular expression is compiled to a bytecode. | |
v8_monolithic | |
Current value (from the default) = false | |
From //gni/v8.gni:55 | |
Enable monolithic static library for embedders. | |
v8_multi_arch_build | |
Current value (from the default) = false | |
From //gni/v8.gni:19 | |
Adds additional compile target for building multiple architectures at once. | |
v8_no_inline | |
Current value (from the default) = false | |
From //BUILD.gn:120 | |
Switches off inlining in V8. | |
v8_optimized_debug | |
Current value (from the default) = true | |
From //gni/v8.gni:29 | |
Turns on compiler optimizations in V8 in Debug build. | |
v8_os_page_size | |
Current value (from the default) = "0" | |
From //BUILD.gn:123 | |
Override OS page size when generating snapshot | |
v8_perf_prof_unwinding_info | |
Current value (from the default) = false | |
From //BUILD.gn:112 | |
Build the snapshot with unwinding information for perf. | |
Sets -dV8_USE_SNAPSHOT_WITH_UNWINDING_INFO. | |
v8_postmortem_support | |
Current value (from the default) = false | |
From //BUILD.gn:117 | |
With post mortem support enabled, metadata is embedded into libv8 that | |
describes various parameters of the VM for use by debuggers. See | |
tools/gen-postmortem-metadata.py for details. | |
v8_promise_internal_field_count | |
Current value (from the default) = 0 | |
From //BUILD.gn:57 | |
Sets the number of internal fields on promise objects. | |
v8_snapshot_toolchain | |
Current value (from the default) = "" | |
From //snapshot_toolchain.gni:34 | |
The v8 snapshot needs to be built by code that is compiled with a | |
toolchain that matches the bit-width of the target CPU, but runs on | |
the host. | |
v8_static_library | |
Current value (from the default) = false | |
From //gni/v8.gni:52 | |
Use static libraries instead of source_sets. | |
v8_target_cpu | |
Current value (from the default) = "" | |
From //build/config/v8_target_cpu.gni:33 | |
This arg is used when we want to tell the JIT-generating v8 code | |
that we want to have it generate for an architecture that is different | |
than the architecture that v8 will actually run on; we then run the | |
code under an emulator. For example, we might run v8 on x86, but | |
generate arm code and run that under emulation. | |
This arg is defined here rather than in the v8 project because we want | |
some of the common architecture-specific args (like arm_float_abi or | |
mips_arch_variant) to be set to their defaults either if the current_cpu | |
applies *or* if the v8_current_cpu applies. | |
As described below, you can also specify the v8_target_cpu to use | |
indirectly by specifying a `custom_toolchain` that contains v8_$cpu in the | |
name after the normal toolchain. | |
For example, `gn gen --args="custom_toolchain=...:clang_x64_v8_arm64"` | |
is equivalent to setting --args=`v8_target_cpu="arm64"`. Setting | |
`custom_toolchain` is more verbose but makes the toolchain that is | |
(effectively) being used explicit. | |
v8_target_cpu can only be used to target one architecture in a build, | |
so if you wish to build multiple copies of v8 that are targeting | |
different architectures, you will need to do something more | |
complicated involving multiple toolchains along the lines of | |
custom_toolchain, above. | |
v8_typed_array_max_size_in_heap | |
Current value (from the default) = 64 | |
From //BUILD.gn:132 | |
Controls the threshold for on-heap/off-heap Typed Arrays. | |
v8_untrusted_code_mitigations | |
Current value (from the default) = true | |
From //BUILD.gn:155 | |
Enable mitigations for executing untrusted code. | |
v8_use_external_startup_data | |
Current value (from the default) = "" | |
From //gni/v8.gni:45 | |
Use external files for startup data blobs: | |
the JS builtins sources and the start snapshot. | |
v8_use_mips_abi_hardfloat | |
Current value (from the default) = true | |
From //BUILD.gn:129 | |
Similar to the ARM hard float ABI but on MIPS. | |
v8_use_multi_snapshots | |
Current value (from the default) = false | |
From //gni/v8.gni:41 | |
Enable several snapshots side-by-side (e.g. default and for trusted code). | |
v8_use_snapshot | |
Current value (from the default) = true | |
From //gni/v8.gni:38 | |
Enable the snapshot feature, for fast context creation. | |
http://v8project.blogspot.com/2015/09/custom-startup-snapshots.html | |
TODO(thakis): Make snapshots work in 64-bit win/cross builds, | |
https://803591 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment