absl_build_tests
    Current value (from the default) = false
      From //third_party/abseil-cpp/absl.gni:23

action_pool_depth
    Current value (from the default) = -1
      From //build/toolchain/BUILD.gn:10

    Pool for non remote tasks.

added_rust_stdlib_libs
    Current value (from the default) = []
      From //build/config/rust.gni:91

    Any extra std rlibs in your Rust toolchain, relative to the standard
    Rust toolchain. Typically used with 'rust_sysroot_absolute'

android_full_debug
    Current value (from the default) = false
      From //build/config/compiler/BUILD.gn:59

    Normally, Android builds are lightly optimized, even for debug builds, to
    keep binary size down. Setting this flag to true disables such optimization

apm_debug_dump
    Current value (from the default) = false
      From //webrtc.gni:126

    Selects whether debug dumps for the audio processing module
    should be generated.

apple_mobile_app_bundle_id_suffix
    Current value (from the default) = ".dev"
      From //build/config/apple/mobile_config.gni:46

    Suffix for CFBundleIdentifier property of iOS Chrome signed bundles
    (main bundle and extensions). Code signing will fail if no mobile
    provisioning for the selected code signing identify support that suffix.
    For extension, the suffix will be added before the extension identifier.
    The suffix is not added to test applications.
    No dot is added before the suffix, so add one if needed.

archive_seed_corpus
    Current value (from the default) = true
      From //build/config/sanitizers/sanitizers.gni:121

    When true, seed corpora archives are built.

auto_profile_path
    Current value (from the default) = ""
      From //build/config/compiler/BUILD.gn:81

    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.

branding_file_path
    Current value (from the default) = "//chrome/app/theme/chromium/BRANDING"
      From //build/config/chrome_build.gni:86

    The path to the BRANDING file in chrome/app/theme.

branding_path_component
    Current value (from the default) = "chromium"
      From //build/config/chrome_build.gni:79

branding_path_product
    Current value (from the default) = "chromium"
      From //build/config/chrome_build.gni:80

build_libsrtp_tests
    Current value (from the default) = false
      From //third_party/libsrtp/BUILD.gn:11

    Tests may not be appropriate for some build environments, e.g. Windows.
    Rather than enumerate valid options, we just let clients ask for them.

build_mojo_proxy
    Current value (from the default) = true
      From //build/config/chromeos/args.gni:43

    Build Mojo Proxy binary, to be used as a IPCZ <=> Mojo Core translation layer.

build_with_mozilla
    Current value (from the default) = false
      From //webrtc.gni:150

    Enable to use the Mozilla internal settings.

cc_wrapper
    Current value (from the default) = ""
      From //build/toolchain/cc_wrapper.gni:33

    Set to "ccache", "sccache", "icecc" or "distcc".

chrome_pgo_phase
    Current value (from the default) = 0
      From //build/config/compiler/pgo/pgo.gni:26

    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.
    PGO profiles are generated from `dcheck_always_on = false` builds. Mixing
    those profiles with `dcheck_always_on = true` builds can cause the compiler
    to think some code is hotter than it actually is, potentially causing very
    bad compile times.

chromeos_afdo_platform
    Current value (from the default) = "atom"
      From //build/config/compiler/BUILD.gn:105

    This configuration is used to select a default profile in Chrome OS based on
    the microarchitectures we are using. This is only used if
    clang_use_default_sample_profile is true and clang_sample_profile_path is
    empty.

chromeos_is_browser_only
    Current value (from the default) = false
      From //build/config/chromeos/ui_mode.gni:8

clang_base_path
    Current value (from the default) = "//third_party/llvm-build/Release+Asserts"
      From //build/config/clang/clang.gni:38

clang_diagnostic_dir
    Current value (from the default) = "../../../../_source/ubuntu-20.04_x86_64/webrtc/src/tools/clang/crashreports"
      From //build/config/compiler/compiler.gni:114

clang_embed_bitcode
    Current value (from the default) = false
      From //build/config/clang/clang.gni:42

    Specifies whether or not bitcode should be embedded during compilation.
    This is used for creating a MLGO corpus from Chromium in the non-ThinLTO case.

clang_emit_debug_info_for_profiling
    Current value (from the default) = false
      From //build/config/compiler/BUILD.gn:109

    Emit debug information for profiling wile building with clang.
    Only enable this for ChromeOS official builds for AFDO.

clang_sample_profile_path
    Current value (from the default) = ""
      From //build/config/compiler/BUILD.gn:89

    Path to an AFDO profile to use while building with clang, if any. Empty
    implies none.

clang_unsafe_buffers_paths
    Current value (from the default) = ""
      From //build/config/BUILDCONFIG.gn:186

    Unsafe buffers. Location of file used by plugins to track portions of
    the codebase which have been made manifestly safe.

clang_use_chrome_plugins
    Current value = false
      From /mnt/spare/cvlv-llwebrtc-m137/3p-webrtc-build/build/_build/ubuntu-20.04_x86_64/release/webrtc/args.gn:16
    Overridden from the default = true
      From //build/config/clang/clang.gni:17

clang_use_default_sample_profile
    Current value (from the default) = false
      From //build/config/compiler/BUILD.gn:98

clang_use_raw_ptr_plugin
    Current value (from the default) = false
      From //build/config/clang/clang.gni:24

    Use this instead of clang_use_chrome_plugins to enable just the raw-ptr-plugin.

clang_version
    Current value (from the default) = "21"
      From //build/toolchain/toolchain.gni:54

clang_warning_suppression_file
    Current value (from the default) = ""
      From //build/config/BUILDCONFIG.gn:187

compiler_timing
    Current value (from the default) = false
      From //build/config/compiler/BUILD.gn:112

    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:23

    Limit the number of concurrent links; we often want to run fewer
    links at once than we do compiles, because linking is memory-intensive.
    The default to use varies by platform and by the amount of memory
    available, so we call out to a script to get the right value.

coverage_instrumentation_input_file
    Current value (from the default) = ""
      From //build/config/coverage/coverage.gni:36

    The path to the coverage instrumentation input file should be a source root
    absolute path (e.g. //out/Release/coverage_instrumentation_input.txt), and
    the file consists of multiple lines where each line represents a path to a
    source file, and the paths must be relative to the root build directory.
    e.g. ../../base/task/post_task.cc for build directory 'out/Release'.
   
    NOTE that this arg will be non-op if use_clang_coverage is false.

cros_board
    Current value (from the default) = ""
      From //build/config/chromeos/args.gni:8

    This is used only by Simple Chrome to bind its value to test-runner scripts
    generated at build-time.

cros_needs_rewrapper_path_arg
    Current value (from the default) = true
      From //build/toolchain/cros/cros_config.gni:14

    Whether or not the toolchain used to build for ChromeOS needs
    --rewrapper-path and --rewrapper-cfg arguments.
    TODO(crbug.com/356466829): Remove this once we no longer use
    ChromeOS's toolchain.

cros_sdk_version
    Current value (from the default) = ""
      From //build/config/chromeos/args.gni:12

    Similar to cros_board above, this used only by test-runner scripts in
    Simple Chrome.

current_cpu
    Current value (from the default) = ""
      (Internally set; try `gn help current_cpu`.)

current_os
    Current value (from the default) = ""
      (Internally set; try `gn help current_os`.)

custom_toolchain
    Current value (from the default) = ""
      From //build/config/BUILDCONFIG.gn:147

    Allows the path to a custom target toolchain to be injected as a single
    argument, and set as the default toolchain.

dcheck_always_on
    Current value (from the default) = false
      From //build/config/dcheck_always_on.gni:25

dcheck_is_configurable
    Current value (from the default) = false
      From //build/config/dcheck_always_on.gni:14

    Enables DCHECKs to be built-in, but to default to being non-fatal/log-only.
    DCHECKS can then be set as fatal/non-fatal via the "DcheckIsFatal" feature.
    See https://bit.ly/dcheck-albatross for details on how this is used.

devtools_grd_location
    Current value (from the default) = ""
      From //build/config/devtools.gni:28

devtools_location
    Current value (from the default) = ""
      From //build/config/devtools.gni:26

    DevTools is building a standalone version

devtools_root_location
    Current value (from the default) = ""
      From //build/config/devtools.gni:27

disable_libfuzzer
    Current value (from the default) = false
      From //build/config/sanitizers/sanitizers.gni:99

    Helper variable for testing builds with disabled libfuzzer.
    Not for client use.

enable_base_tracing
    Current value (from the default) = false
      From //build_overrides/build.gni:55

    WebRTC doesn't depend on //base from production code but only for testing
    purposes. In any case, it doesn't depend on //third_party/perfetto which
    is used for base tracing, so this feature is disabled.

enable_call_graph_profile_sort
    Current value (from the default) = false
      From //build/config/compiler/BUILD.gn:234

enable_cast_audio_renderer
    Current value (from the default) = false
      From //build/config/cast.gni:24

    True to enable the cast audio renderer.
   
    TODO(crbug.com/1293520): Remove this buildflag.

enable_cast_receiver
    Current value (from the default) = false
      From //build/config/cast.gni:42

    Set this true for a Chromecast build. Chromecast builds are supported on
    Linux, Android, ChromeOS, and Fuchsia.

enable_cast_renderer
    Current value (from the default) = false
      From //build/config/cast.gni:51

enable_cet_shadow_stack
    Current value (from the default) = true
      From //build/config/compiler/compiler.gni:121

    Mark binaries as compatible with Shadow Stack of Control-flow Enforcement
    Technology (CET). If Windows version and hardware supports the feature and
    it's enabled by OS then additional validation of return address will be
    performed as mitigation against Return-oriented programming (ROP).
    https://chromium.googlesource.com/chromium/src/+/main/docs/design/sandbox.md#cet-shadow-stack

enable_check_raw_ptr_fields
    Current value (from the default) = false
      From //build/config/clang/clang.gni:27

enable_check_raw_ref_fields
    Current value (from the default) = false
      From //build/config/clang/clang.gni:34

enable_chromium_prelude
    Current value = true
      From //.gn:92
    Overridden from the default = false
      From //build/config/rust.gni:55

    The chromium prelude crate provides the `chromium::import!` macro which
    is needed to depend on first-party rust libraries. Third-party libraries
    are specified with cargo_crate and do not get imported through this macro.
   
    The macro requires //third_party/rust for syn, quote, and proc_macro2.
    Downstream projects that want to use //build for the rust GN templates but
    don't want to enable the chromium prelude can disable it here, and should
    specify a globally unique `crate_name` in their rust library GN rules
    instead. Note that using a `crate_name` is strongly discouraged inside
    Chromium, and is also discouraged for downstream projects when possible.
   
    We do not support disabling this flag in Chromium code.

enable_dsyms
    Current value (from the default) = false
      From //build/config/apple/symbols.gni:17

    Produce dSYM files for targets that are configured to do so. dSYM
    generation is controlled globally as it is a linker output (produced via
    the //build/toolchain/apple/linker_driver.py. Enabling this will result in
    all shared library, loadable module, and executable targets having a dSYM
    generated.

enable_expensive_dchecks
    Current value (from the default) = false
      From //build/config/dcheck_always_on.gni:33

enable_freetype
    Current value (from the default) = true
      From //build/config/freetype/freetype.gni:18

    Use FreeType for font rendering. If this is set to false, FreeType is
    replaced with the Rust-based Fontations set of libraries plus Skia
    path rendering.

enable_full_stack_frames_for_profiling
    Current value (from the default) = false
      From //build/config/compiler/BUILD.gn:66

    Compile in such a way as to make it possible for the profiler to unwind full
    stack frames. Setting this flag has a large effect on the performance of the
    generated code than just setting profiling, but gives the profiler more
    information to analyze.
    Requires profiling to be set to true.

enable_fuzztest_fuzz
    Current value (from the default) = false
      From //build/config/sanitizers/sanitizers.gni:169

enable_iterator_debugging
    Current value (from the default) = false
      From //build/config/c++/c++.gni:44

    When set, enables libc++ debug mode with iterator debugging.
   
    Iterator debugging is generally useful for catching bugs. But it can
    introduce extra locking to check the state of an iterator against the state
    of the current object. For iterator- and thread-heavy code, this can
    significantly slow execution - two orders of magnitude slowdown has been
    seen (crbug.com/903553) and iterator debugging also slows builds by making
    generation of snapshot_blob.bin take ~40-60 s longer. Therefore this
    defaults to off.

enable_js_protobuf
    Current value (from the default) = true
      From //third_party/protobuf/proto_library.gni:152

    Allows subprojects to omit javascript dependencies (e.g.) closure_compiler
    and google-closure-library.

enable_kythe_annotations
    Current value (from the default) = false
      From //build/toolchain/kythe.gni:10

    Enables Kythe annotations necessary to build cross references.

enable_libaom
    Current value = true
      From //.gn:65
    Overridden from the default = true
      From //third_party/libaom/options.gni:7

    Enable encoding and decoding AV1 video files.

enable_modular_updater
    Current value (from the default) = false
      From //build/config/cast.gni:19

    Set true to enable modular_updater.

enable_opengl_apitrace
    Current value (from the default) = false
      From //build/config/ozone.gni:33

    Enable explicit apitrace (https://apitrace.github.io) loading.
    This requires apitrace library with additional bindings.
    See ChromeOS package for details:
    https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/2659419
    Chrome will not start without an apitrace.so library.
    Trace will be saved to /tmp/gltrace.dat file by default. You can
    override it at run time with TRACE_FILE=<path> environment variable.

enable_paint_preview
    Current value (from the default) = true
      From //build/config/buildflags_paint_preview.gni:15

    Enable basic paint preview support. Does not work on iOS. Should
    not be included with Chromecast hardware devices.
    Used by //components/paint_preview and //third_party/harfbuzz-ng.
    TODO(crbug.com/webrtc/11223) Move back this file in
    //components/paint_preview/ once WebRTC doesn't roll harfbuzz-ng anymore,
    for consistency sake.

enable_perfetto_android_java_sdk
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:211

enable_perfetto_benchmarks
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:213

enable_perfetto_etm_importer
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:362

enable_perfetto_fuzzers
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:216

enable_perfetto_grpc
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:356

    Enables gRPC in the Perfetto codebase. gRPC significantly increases build
    times and the general footprint of Perfetto. As it only required for
    BigTrace and even then only to build the final ready-to-ship binary, don't
    enable this by default.

enable_perfetto_heapprofd
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:172

enable_perfetto_integration_tests
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:208

enable_perfetto_ipc
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:165

enable_perfetto_llvm_demangle
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:350

enable_perfetto_merged_protos_check
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:384

    Check that the merged perfetto_trace.proto can be translated to a C++ lite
    proto and compiled. This is disabled by default because it's expensive (it
    can take a couple of minutes).

enable_perfetto_platform_services
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:156

enable_perfetto_site
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:379

    Allows to build the perfetto.dev website.
    WARNING: if this flag is enabled, the build performs globbing at generation
    time. Incremental builds that add/remove files will not be supported without
    rerunning gn.

enable_perfetto_stderr_crash_dump
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:253

enable_perfetto_system_consumer
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:274

enable_perfetto_tools
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:202

enable_perfetto_trace_processor_httpd
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:334

enable_perfetto_trace_processor_json
    Current value (from the default) = true
      From //third_party/perfetto/gn/perfetto.gni:319

enable_perfetto_trace_processor_linenoise
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:313

enable_perfetto_trace_processor_mac_instruments
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:325

enable_perfetto_trace_processor_percentile
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:308

enable_perfetto_trace_processor_sqlite
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:303

enable_perfetto_traceconv
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:368

enable_perfetto_traced_perf
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:180

enable_perfetto_traced_probes
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:291

enable_perfetto_traced_relay
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:295

    The relay service is enabled when platform services are enabled.
    TODO(chinglinyu) check if we can enable on Windows.

enable_perfetto_ui
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:372

enable_perfetto_unittests
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:204

enable_perfetto_version_gen
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:222

enable_perfetto_watchdog
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:197

enable_perfetto_x64_cpu_opt
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:261

enable_perfetto_zlib
    Current value (from the default) = true
      From //third_party/perfetto/gn/perfetto.gni:342

enable_precompiled_headers
    Current value (from the default) = false
      From //build/config/pch.gni:19

enable_profiling
    Current value (from the default) = false
      From //build/config/compiler/compiler.gni:65

    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_allowlist_generation
    Current value (from the default) = false
      From //build/toolchain/gcc_toolchain.gni:28

enable_rust
    Current value = true
      From //.gn:90
    Overridden from the default = false
      From //build/config/rust.gni:34

    Rust is available in the Chromium build but 3p repos that use //build may
    not use Rust and thus won't want to depend on having the Rust toolchain
    present, so this defaults to off in those cases.
   
    Chromium-based projects that are built for for architectures Chrome does not
    support may need to disable this as well, though they may need to replace
    code with C/C++ to get a functional product.
   
    Based on the above:
   
    * `enable_rust` may be consulted under `//build` and `//testing` directories
      (which may be used outside of Chromium build)
    * `enable_rust` should *not* be consulted in other Chromium directories
      (including `//base`, `//net`, etc.)

enable_rust_cxx
    Current value = true
      From //.gn:91
    Overridden from the default = false
      From //build/config/rust.gni:41

    The CXX tool is in //third_party/rust which is not shared with downstream
    projects yet. So they need to copy the required dependencies and GN files
    into their project to enable CXX there.
   
    We do not support disabling this flag in Chromium code.

enable_segment_heap
    Current value (from the default) = false
      From //build/config/win/manifest.gni:46

enable_shadow_call_stack
    Current value (from the default) = false
      From //build/config/compiler/BUILD.gn:188

    Enable ShadowCallStack for compiled binaries. SCS stores a pointer to a
    shadow call stack in register x18. Hence, x18 must not be used by the OS
    or libraries. We assume that to be the case for high end Android
    configurations. For more details see
    https://clang.llvm.org/docs/ShadowCallStack.html

enable_stripping
    Current value (from the default) = false
      From //build/config/apple/symbols.gni:24

    Strip symbols from linked targets by default. If this is enabled, the
    //build/config/apple:strip_all config will be applied to all linked targets.
    If custom stripping parameters are required, remove that config from a
    linked target and apply custom -Wcrl,strip flags. See
    //build/toolchain/apple/linker_driver.py for more information.

exclude_unwind_tables
    Current value (from the default) = false
      From //build/config/compiler/compiler.gni:110

    Exclude unwind tables by default for official builds as unwinding can be
    done from stack dumps produced by Crashpad at a later time "offline" in the
    crash server. Since this increases binary size, we don't recommend including
    them in shipping builds.
    For unofficial (e.g. development) builds and non-Chrome branded (e.g. Cronet
    which doesn't use Crashpad, crbug.com/479283) builds it's useful to be able
    to unwind at runtime.
    Include the unwind tables on Android even for official builds, as otherwise
    the crash dumps generated by Android's debuggerd are largely useless, and
    having this additional mechanism to understand issues is particularly helpful
    to WebView.

extra_sysroot_libs
    Current value (from the default) = []
      From //build/config/rust.gni:99

    Non-rlib libs provided in the toolchain sysroot. Usually this is empty, but
    e.g. the Android Rust Toolchain provides a libunwind.a that rustc expects.

fail_on_san_warnings
    Current value (from the default) = false
      From //build/config/sanitizers/sanitizers.gni:261

    When true, sanitizer warnings will cause test case failures.

fatal_linker_warnings
    Current value (from the default) = true
      From //build/config/compiler/BUILD.gn:70

    Enable fatal linker warnings. Building Chromium with certain versions
    of binutils can cause linker warning.

forbid_non_component_debug_builds
    Current value (from the default) = false
      From //build/config/compiler/compiler.gni:97

    Whether an error should be raised on attempts to make debug builds with
    is_component_build=false. Very large debug symbols can have unwanted side
    effects so this is enforced by default for chromium.

force_rustc_color_output
    Current value (from the default) = false
      From //build/config/rust.gni:104

    Force-enable `--color=always` for rustc, even when it would be disabled for
    a platform. Mostly applicable to Windows, where new versions can handle ANSI
    escape sequences but it's not reliable in general.

gcc_target_rpath
    Current value (from the default) = ""
      From //build/config/gcc/BUILD.gn:19

    When non empty, overrides the target rpath value. This allows a user to
    make a Chromium build where binaries and shared libraries are meant to be
    installed into separate directories, like /usr/bin/chromium and
    /usr/lib/chromium for instance. It is useful when a build system that
    generates a whole target root filesystem (like Yocto) is used on top of gn,
    especially when cross-compiling.
    Note: this gn arg is similar to gyp target_rpath generator flag.

generate_fuzzer_owners
    Current value (from the default) = false
      From //build/config/sanitizers/sanitizers.gni:265

    Generates an owners file for each fuzzer test.
    TODO(crbug.com/40175535): Remove this arg when finding OWNERS is faster.

generate_linker_map
    Current value (from the default) = false
      From //build/toolchain/toolchain.gni:27

    Used for binary size analysis.

gtest_enable_absl_printers
    Current value = true
      From //.gn:67
    Overridden from the default = true
      From //build_overrides/build.gni:70

    If true, it assumes that //third_party/abseil-cpp is an available
    dependency for googletest.

high_end_fuzzer_targets
    Current value (from the default) = false
      From //build/config/sanitizers/sanitizers.gni:129

    When true, only builds fuzzer targets that require high end machines to run.
    Otherwise, builds all the targets.
    TODO(paulsemel): once we have everything implemented on the recipe side, we
    can change the behaviour for the false case, and only build the non high-end
    jobs, so that they do not appear in the zip. As for now, this behaviour
    ensures nothing breaks.

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 = "linux"
      From /mnt/spare/cvlv-llwebrtc-m137/3p-webrtc-build/build/_build/ubuntu-20.04_x86_64/release/webrtc/args.gn:11
    Overridden 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:37

    A optional pkg-config wrapper to use for tools built on the host.

host_toolchain
    Current value (from the default) = ""
      From //build/config/BUILDCONFIG.gn:151

    This should not normally be set as a build argument.  It's here so that
    every toolchain can pass through the "global" value via toolchain_args().

host_toolchain_is_msan
    Current value (from the default) = false
      From //build/config/sanitizers/sanitizers.gni:143

    These are set for some non-host toolchain which requires to run built binary
    from host toolchain with msan config but in non-host toolchain context.

host_toolchain_msan_track_origins
    Current value (from the default) = 2
      From //build/config/sanitizers/sanitizers.gni:144

icu_copy_icudata_to_root_build_dir
    Current value (from the default) = true
      From //third_party/icu/config.gni:32

    If set, the ":icudata" target will copy the ICU data to $root_build_dir.

icu_disable_thin_archive
    Current value (from the default) = false
      From //third_party/icu/config.gni:24

    If true, compile icu into a standalone static library. Currently this is
    only useful on Chrome OS.

icu_fuchsia_extra_compile_flags
    Current value (from the default) = []
      From //third_party/icu/config.gni:39

    Fuchsia sometimes requires extra compilation flags for ICU to adapt it to
    its current toolchain. Since it takes a while for ICU to roll through
    Fuchsia, it can take a long time from an ICU commit to a fix rolling into
    Fuchsia. This flag allows us to define the flag ahead of time in
    //build/icu.gni, and remove the rollout issues.

icu_fuchsia_extra_configs
    Current value (from the default) = []
      From //third_party/icu/config.gni:42

    Similar to above, except it allows adding an entire `config` target.

icu_fuchsia_override_data_dir
    Current value (from the default) = ""
      From //third_party/icu/config.gni:29

    If set to nonempty, this is the label of the directory to be used to pull
    the ICU data files content.  The setting has effect only when building
    inside the Fuchsia source tree.

icu_fuchsia_remove_configs
    Current value (from the default) = []
      From //third_party/icu/config.gni:46

    Similar to above, except it allows removing an entire `config` target, if
    it exists.

icu_use_data_file
    Current value (from the default) = true
      From //third_party/icu/config.gni:15

    Tells icu to load an external data file rather than rely on the icudata
    being linked directly into the binary.

icu_use_stub_data
    Current value (from the default) = true
      From //third_party/icu/config.gni:20

    If true, then this creates a stub data file. This should be disabled if
    a custom data file will be used instead, in order to avoid conflicting
    symbols.

incremental_install
    Current value (from the default) = false
      From //build/config/android/config.gni:12

    Build incremental targets whenever possible.
    See //build/android/incremental_install/README.md for more details.

init_stack_vars
    Current value (from the default) = true
      From //build/config/compiler/BUILD.gn:144

    Initialize all local variables with a pattern. This flag will fill
    uninitialized floating-point types (and 32-bit pointers) with 0xFF and the
    rest with 0xAA. This makes behavior of uninitialized memory bugs consistent,
    recognizable in the debugger, and crashes on memory accesses through
    uninitialized pointers.
   
    Flag discussion: https://crbug.com/977230
   
    TODO(crbug.com/40721698): This regresses binary size by ~1MB on Android and
    needs to be evaluated before enabling it there as well.

init_stack_vars_zero
    Current value (from the default) = false
      From //build/config/compiler/BUILD.gn:148

    Zero init has favorable performance/size tradeoffs for Chrome OS
    but was not evaluated for other platforms.

ios_allow_asan_for_official_to_debug_371135823
    Current value (from the default) = false
      From //build/config/sanitizers/BUILD.gn:20

    Allow building official with ASAN enabled to help with
    debugging https://crbug.com/371135823.

ios_app_bundle_id_prefix
    Current value (from the default) = "org.chromium.ost"
      From //build/config/apple/mobile_config.gni:38

    Prefix for CFBundleIdentifier property of iOS bundles (correspond to the
    "Organization Identifier" in Xcode). Code signing will fail if no mobile
    provisioning for the selected code signing identify support that prefix.
    TODO(crbug.com/378918882): Prefix with apple_mobile_ instead of ios_.

ios_chrome_generate_order_file
    Current value (from the default) = false
      From //build/config/ios/config.gni:12

    Generate orderfile at application startup and then exit.
    NOTE: This flag adds runtime tooling to capture function call details,
    writes out an orderfile to the documents directory, then terminates the
    application. It should generally NOT be enabled.

ios_code_signing_identity
    Current value (from the default) = ""
      From //build/config/apple/mobile_config.gni:26

    Explicitly select the identity to use for codesigning. If defined, must
    be set to a non-empty string that will be passed to codesigning. Can be
    left unspecified if ios_code_signing_identity_description is used instead.
    TODO(crbug.com/378918882): Prefix with apple_mobile_ instead of ios_.

ios_code_signing_identity_description
    Current value (from the default) = "Apple Development"
      From //build/config/apple/mobile_config.gni:32

    Pattern used to select the identity to use for codesigning. If defined,
    must be a substring of the description of exactly one of the identities by
    `security find-identity -v -p codesigning`.
    TODO(crbug.com/378918882): Prefix with apple_mobile_ instead of ios_.

ios_deployment_target
    Current value = "14.0"
      From //.gn:55
    Overridden from the default = "18.4"
      From //build/config/ios/ios_sdk_overrides.gni:13

ios_enable_code_signing
    Current value (from the default) = true
      From //build/config/apple/mobile_config.gni:20

    Control whether codesiging is enabled (ignored for simulator builds).
    TODO(crbug.com/378918882): Prefix with apple_mobile_ instead of ios_.

ios_mobileprovision_files
    Current value (from the default) = []
      From //build/config/apple/mobile_config.gni:51

    Paths to the mobileprovision files for the chosen code signing
    identity description and app bundle id prefix.
    TODO(crbug.com/378918882): Prefix with apple_mobile_ instead of ios_.

is_asan
    Current value (from the default) = false
      From //build/config/sanitizers/sanitizers.gni:14

    Compile for Address Sanitizer to find memory bugs.

is_cast_android
    Current value (from the default) = false
      From //build/config/cast.gni:32

    Set this to true to build for Android-based Cast devices.
    Set this to false to use the defaults for Android.

is_cast_audio_only
    Current value (from the default) = false
      From //build/config/cast.gni:12

    Set this true for an audio-only Chromecast build.
    TODO(crbug.com/41489655): Remove this arg as CastOS builds are no
    longer supported.

is_castos
    Current value (from the default) = false
      From //build/config/cast.gni:28

    Set this to true to build for Nest hardware running Linux (aka "CastOS").
    Set this to false to use the defaults for Linux.

is_cfi
    Current value (from the default) = false
      From //build/config/sanitizers/sanitizers.gni:59

    Compile with Control Flow Integrity to protect virtual calls and casts.
    See http://clang.llvm.org/docs/ControlFlowIntegrity.html
   
    TODO(pcc): Remove this flag if/when CFI is enabled in all official builds.

is_chrome_branded
    Current value (from the default) = false
      From //build/config/chrome_build.gni:9

    Select the desired branding flavor. False means normal Chromium branding,
    true means official Google Chrome branding (requires extra Google-internal
    resources).

is_chrome_for_testing
    Current value (from the default) = false
      From //build/config/chrome_build.gni:15

    Whether to enable the Chrome for Testing (CfT) flavor. This arg is not
    compatible with `is_chrome_branded`.
   
    Design document: https://goo.gle/chrome-for-testing

is_chrome_for_testing_branded
    Current value (from the default) = false
      From //build/config/chrome_build.gni:21

    Whether to use internal Chrome for Testing (CfT).
    Requires `src-internal/` and `is_chrome_for_testing = true`.
   
    When true, use Google-internal icons, otherwise fall back to Chromium icons.

is_chromeos_device
    Current value (from the default) = false
      From //build/config/chromeos/args.gni:26

    Determines if we're building for a Chrome OS device (or VM) and not just
    linux-chromeos. NOTE: Most test targets in Chrome expect to run under
    linux-chromeos, so some have compile-time asserts that intentionally fail
    when this build flag is set. Build and run the tests for linux-chromeos
    instead.
    https://chromium.googlesource.com/chromium/src/+/main/docs/chromeos_build_instructions.md
    https://chromium.googlesource.com/chromiumos/docs/+/main/simple_chrome_workflow.md

is_chromeos_with_hw_details
    Current value (from the default) = false
      From //build/config/chromeos/args.gni:34

    Determines if we collect hardware information in chrome://system and
    feedback logs. A similar build flag "hw_details" is defined in Chrome OS
    (see https://crrev.com/c/3123455).

is_clang
    Current value (from the default) = true
      From //build/config/BUILDCONFIG.gn:139

    Set to true when compiling with the Clang compiler.

is_component_build
    Current value = false
      From /mnt/spare/cvlv-llwebrtc-m137/3p-webrtc-build/build/_build/ubuntu-20.04_x86_64/release/webrtc/args.gn:4
    Overridden from the default = false
      From //build/config/BUILDCONFIG.gn:174

is_cronet_build
    Current value (from the default) = false
      From //build/config/cronet/config.gni:9

    Control whether cronet is built (this is usually set by the script
    components/cronet/tools/cr_cronet.py as cronet requires specific
    gn args to build correctly).

is_cronet_for_aosp_build
    Current value (from the default) = false
      From //build/config/cronet/config.gni:14

    Controls whether cronet is currently being built for AOSP or Chromium.
    This will always be false when building Cronet for Chromium.
    the flag exists to accommodate for the divergence between the repos.

is_debug
    Current value = false
      From /mnt/spare/cvlv-llwebrtc-m137/3p-webrtc-build/build/_build/ubuntu-20.04_x86_64/release/webrtc/args.gn:1
    Overridden from the default = true
      From //build/config/BUILDCONFIG.gn:163

    Debug build. Enabling official builds automatically sets is_debug to false.

is_desktop_android
    Current value (from the default) = false
      From //build/config/chrome_build.gni:29

    Set to true to set defaults that enable features on Android that are more
    typically available on desktop.

is_high_end_android
    Current value (from the default) = true
      From //build/config/chrome_build.gni:25

    Set to true to enable settings for high end Android devices, typically
    enhancing speed at the expense of resources such as binary sizes and memory.

is_high_end_android_secondary_toolchain
    Current value (from the default) = false
      From //build/config/chrome_build.gni:54

    Whether to apply size->speed trade-offs to the secondary toolchain.
    Relevant only for 64-bit target_cpu.

is_hwasan
    Current value (from the default) = false
      From //build/config/sanitizers/sanitizers.gni:19

    Compile for Hardware-Assisted Address Sanitizer to find memory bugs
    (android/arm64 only).
    See http://clang.llvm.org/docs/HardwareAssistedAddressSanitizerDesign.html

is_java_debug
    Current value (from the default) = false
      From //build/config/android/config.gni:18

    Java debug on Android. Having this on enables multidexing, and turning it
    off will enable proguard.

is_lsan
    Current value (from the default) = false
      From //build/config/sanitizers/sanitizers.gni:22

    Compile for Leak Sanitizer to find leaks.

is_msan
    Current value (from the default) = false
      From //build/config/sanitizers/sanitizers.gni:25

    Compile for Memory Sanitizer to find uninitialized reads.

is_nacl_glibc
    Current value (from the default) = false
      From //build/config/nacl/config.gni:12

    True if nacl_glibc is used.

is_nacl_saigo
    Current value (from the default) = false
      From //build/config/nacl/config.gni:15

    True if saigo_newlib is used.

is_official_build
    Current value (from the default) = false
      From //build/config/BUILDCONFIG.gn:136

    Set to enable the official build level of optimization. This has nothing
    to do with branding, but enables an additional level of optimization above
    release (!is_debug). This might be better expressed as a tri-state
    (debug, release, official) but for historical reasons there are two
    separate flags.
   
    IMPORTANT NOTE: (!is_debug) is *not* sufficient to get satisfying
    performance. In particular, DCHECK()s are still enabled for release builds,
    which can halve overall performance, and do increase memory usage. Always
    set "is_official_build" to true for any build intended to ship to end-users.

is_perfetto_build_generator
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:90

    All the tools/gen_* scripts set this to true. This is mainly used to locate
    .gni files from //gn rather than //build.

is_perfetto_embedder
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:95

    This is for override via `gn args` (e.g. for tools/gen_xxx). Embedders
    based on GN (e.g. v8) should NOT set this and instead directly sets
    perfetto_build_with_embedder=true in their GN files.

is_reven
    Current value (from the default) = false
      From //build/config/chromeos/args.gni:40

    Refers to the separate branding required for the reven build.

is_robolectric
    Current value (from the default) = false
      From //build/config/BUILDCONFIG.gn:156

    Do not set this directly.
    It should be set only by //build/toolchains/android:robolectric_x64.
    True when compiling native code for use with robolectric_binary().

is_skylab
    Current value (from the default) = false
      From //build/config/chromeos/args.gni:29

    Determines if we run the test in skylab, aka the CrOS labs.

is_tsan
    Current value (from the default) = false
      From //build/config/sanitizers/sanitizers.gni:28

    Compile for Thread Sanitizer to find threading bugs.

is_ubsan
    Current value (from the default) = false
      From //build/config/sanitizers/sanitizers.gni:32

    Compile for Undefined Behaviour Sanitizer to find various types of
    undefined behaviour (excludes vptr checks).

is_ubsan_no_recover
    Current value (from the default) = false
      From //build/config/sanitizers/sanitizers.gni:35

    Halt the program if a problem is detected.

is_ubsan_security
    Current value (from the default) = false
      From //build/config/sanitizers/sanitizers.gni:95

    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:139

    Compile for Undefined Behaviour Sanitizer's vptr checks.

lacros_use_chromium_toolchain
    Current value (from the default) = false
      From //build/toolchain/cros/cros_config.gni:8

    If set, build lacros with Chromium's toolchain instead of with Chrome OS's.
    TODO(thakis): Set this to `= chromeos_is_browser_only` once that works.

ldso_path
    Current value (from the default) = ""
      From //build/config/gcc/BUILD.gn:20

libcxx_is_shared
    Current value (from the default) = false
      From //build/config/c++/c++.gni:88

    WARNING: Setting this to a non-default value is highly discouraged.
    If true, libc++ will be built as a shared library; otherwise libc++ will be
    linked statically. Setting this to something other than the default is
    unsupported and can be broken by libc++ rolls. Note that if this is set to
    true, you must also set libcxx_abi_unstable=false, which is bad for
    performance and memory use.

libcxx_natvis_include
    Current value (from the default) = true
      From //build/config/c++/c++.gni:33

    Builds libcxx Natvis into the symbols for type visualization.
    Set to false to workaround http://crbug.com/966676 and
    http://crbug.com/966687.

libsrtp_build_boringssl
    Current value (from the default) = true
      From //third_party/libsrtp/options.gni:8

    Build with BoringSSL by default, allow WebRTC to override
    this and the include path from rtc_build_ssl and rtc_ssl_root

libsrtp_ssl_root
    Current value (from the default) = ""
      From //third_party/libsrtp/options.gni:9

libyuv_disable_jpeg
    Current value (from the default) = false
      From //third_party/libyuv/libyuv.gni:16

libyuv_disable_rvv
    Current value (from the default) = false
      From //third_party/libyuv/libyuv.gni:17

libyuv_include_tests
    Current value (from the default) = true
      From //third_party/libyuv/libyuv.gni:15

libyuv_symbols_visible
    Current value (from the default) = false
      From //third_party/libyuv/BUILD.gn:20

    When building a shared library using a target in WebRTC or
    Chromium projects that depends on libyuv, setting this flag
    to true makes libyuv symbols visible inside that library.

libyuv_use_absl_flags
    Current value (from the default) = true
      From //third_party/libyuv/BUILD.gn:15

    Set to false to disable building with absl flags.

libyuv_use_lasx
    Current value (from the default) = false
      From //third_party/libyuv/libyuv.gni:33

libyuv_use_lsx
    Current value (from the default) = false
      From //third_party/libyuv/libyuv.gni:32

libyuv_use_mmi
    Current value (from the default) = false
      From //third_party/libyuv/libyuv.gni:31

libyuv_use_msa
    Current value (from the default) = false
      From //third_party/libyuv/libyuv.gni:29

libyuv_use_neon
    Current value (from the default) = false
      From //third_party/libyuv/libyuv.gni:19

libyuv_use_sme
    Current value (from the default) = false
      From //third_party/libyuv/libyuv.gni:27

    Restrict to (is_linux || is_android) to work around undefined symbol linker
    errors on Fuchsia, macOS, and compilation errors on Windows.
    TODO: bug 359006069 - Remove the restriction after the linker and
    compilation errors are fixed.

libyuv_use_sve
    Current value (from the default) = false
      From //third_party/libyuv/libyuv.gni:21

limit_android_deps
    Current value (from the default) = false
      From //build_overrides/build.gni:66

    Limits the defined //third_party/android_deps targets to only "buildCompile"
    and "buildCompileNoDeps" targets. This is useful for third-party
    repositories which do not use JUnit tests. For instance,
    limit_android_deps == true removes "gn gen" requirement for
    //third_party/robolectric .

lld_emit_indexes_and_imports
    Current value (from the default) = false
      From //build/config/clang/clang.gni:46

    Set to true to enable output of ThinLTO index and import files used for
    creating a Chromium MLGO corpus in the ThinLTO case.

llvm_android_mainline
    Current value (from the default) = false
      From //build/toolchain/toolchain.gni:24

    Cronet is shipped in AOSP, where it is built using the Android Mainline
    Clang. Please refer to go/cronet-builders-with-mainline-clang-design for
    more information.
    If this arg is set to true, we use the Android Mainline LLVM.

llvm_force_head_revision
    Current value (from the default) = false
      From //build/toolchain/toolchain.gni:18

    If this is set to true, we use the revision in the llvm repo to determine
    the CLANG_REVISION to use, instead of the version hard-coded into
    //tools/clang/scripts/update.py. This should only be used in
    conjunction with setting the llvm_force_head_revision DEPS variable when
    `gclient runhooks` is run as well.

mac_sdk_min
    Current value = "10.12"
      From //.gn:53
    Overridden from the default = "10.15"
      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.

monolithic_binaries
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:232

    Only for local development. When true the binaries (perfetto, traced, ...)
    are monolithic and don't use a common shared library. This is mainly to
    avoid LD_LIBRARY_PATH dances when testing locally.
    On Windows we default to monolithic executables, because pairing
    dllexport/import adds extra complexity for little benefit. Te only reason
    for monolithic_binaries=false is saving binary size, which matters mainly on
    Android. See also comments on PERFETTO_EXPORT_ENTRYPOINT in compiler.h.

msan_check_use_after_dtor
    Current value (from the default) = true
      From //build/config/sanitizers/sanitizers.gni:49

    TODO(crbug.com/40222690): Enable everywhere.

msan_eager_checks
    Current value (from the default) = true
      From //build/config/sanitizers/sanitizers.gni:46

    Enables "param-retval" mode, which finds more uses of uninitialized data and
    reduces code size. Behind a flag as there are a number of previously
    undetected violations that still need to be fixed.
    TODO(crbug.com/40240570): Default this to true and remove.

msan_track_origins
    Current value (from the default) = 2
      From //build/config/sanitizers/sanitizers.gni:40

    Track where uninitialized memory originates from. From fastest to slowest:
    0 - no tracking, 1 - track only the initial allocation site, 2 - track the
    chain of stores leading from allocation site to use site.

optimize_for_fuzzing
    Current value (from the default) = false
      From //build/config/compiler/BUILD.gn:85

    Optimize for coverage guided fuzzing (balance between speed and number of
    branches)

optimize_for_size
    Current value (from the default) = false
      From //build/config/compiler/compiler.gni:38

ozone_auto_platforms
    Current value (from the default) = true
      From //build/config/ozone.gni:20

    Select platforms automatically. Turn this off for manual control.

ozone_extra_path
    Current value (from the default) = "//build/config/ozone_extra.gni"
      From //build/config/ozone.gni:17

    Ozone extra platforms file path. Can be overridden to build out of
    tree ozone platforms.

ozone_platform
    Current value (from the default) = "x11"
      From //build/config/ozone.gni:84

ozone_platform_cast
    Current value (from the default) = false
      From //build/config/ozone.gni:42

    Compile the 'cast' platform.

ozone_platform_drm
    Current value (from the default) = false
      From //build/config/ozone.gni:45

    Compile the 'drm' platform.

ozone_platform_flatland
    Current value (from the default) = false
      From //build/config/ozone.gni:51

    Compile the 'flatland' platform.

ozone_platform_gbm
    Current value (from the default) = -1
      From //build/config/ozone.gni:24

    TODO(petermcneeley): Backwards compatiblity support for VM images.
    Remove when deprecated. (https://crbug.com/1122009)

ozone_platform_headless
    Current value (from the default) = true
      From //build/config/ozone.gni:62

ozone_platform_wayland
    Current value (from the default) = true
      From //build/config/ozone.gni:85

ozone_platform_x11
    Current value (from the default) = true
      From //build/config/ozone.gni:86

perfetto_build_with_android
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:86

    The Android blueprint file generator set this to true (as well as
    is_perfetto_build_generator). This is just about being built in the
    Android tree (AOSP and internal) and is NOT related with the target OS.
    In standalone Android builds and Chromium Android builds, this is false.

perfetto_enable_git_rev_version_header
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:280

perfetto_force_dcheck
    Current value (from the default) = ""
      From //third_party/perfetto/gn/perfetto.gni:247

    Whether DCHECKs should be enabled or not. Values: "on" | "off" | "".
    By default ("") DCHECKs are enabled only:
    - If DCHECK_ALWAYS_ON is defined (which is mainly a Chromium-ism).
    - On debug builds (i.e. if NDEBUG is NOT defined) but only in Chromium,
      Android and standalone builds.
    - On all other builds (e.g., SDK) it's off regardless of NDEBUG (unless
      DCHECK_ALWAYS_ON is defined).
    See base/logging.h for the implementation of all this.

perfetto_force_dlog
    Current value (from the default) = ""
      From //third_party/perfetto/gn/perfetto.gni:237

    Whether DLOG should be enabled on debug builds (""), all builds ("on"), or
    none ("off"). We disable it by default for embedders to avoid spamming their
    console.

perfetto_thread_safety_annotations
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:266

perfetto_use_pkgconfig
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:394

    Used by CrOS builds. Uses pkg-config to determine the appropriate flags
    for including and linking system libraries.
      set `host_pkg_config` to the `BUILD_PKG_CONFIG` and
      set `pkg_config` to the target `PKG_CONFIG`.
    Note: that if this is enabled `perfetto_use_system_protobuf` should be also.

perfetto_use_system_protobuf
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:398

    Used by CrOS system builds. Uses the system version of protobuf
    from /usr/include instead of the hermetic one.

perfetto_use_system_sqlite
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:402

    Used by CrOS system builds. Uses the system version of sqlite
    from /usr/include instead of the hermetic one.

perfetto_use_system_zlib
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:404

perfetto_verbose_logs_enabled
    Current value (from the default) = true
      From //third_party/perfetto/gn/perfetto.gni:299

pgo_data_path
    Current value (from the default) = ""
      From //build/config/compiler/pgo/pgo.gni:38

    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:34

    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:31

    Enables proprietary codecs and demuxers; e.g. H264, AAC, MP3, and MP4.
    We always build Google Chrome and Chromecast with proprietary codecs.
   
    Note: this flag is used by WebRTC which is DEPSed into Chrome. Moving it
    out of //build will require using the build_overrides directory.
   
    Do not add any other conditions to the following line.
   
    TODO(crbug.com/1314528): Remove chromecast-related conditions and force
    builds to explicitly specify this.

protobuf_abseil_dir
    Current value (from the default) = "//third_party/abseil-cpp"
      From //third_party/protobuf/proto_library.gni:159

rbe_bin_dir
    Current value (from the default) = ""
      From //build/toolchain/rbe.gni:12

    Deprecated: Please use reclient_bin_dir instead.

rbe_cfg_dir
    Current value (from the default) = ""
      From //build/toolchain/rbe.gni:15

    Deprecated: Please use reclient_cfg_dir instead.

rbe_cros_cc_wrapper
    Current value (from the default) = ""
      From //build/toolchain/rbe.gni:18

    Deprecated: Please use reclient_cros_cc_wrapper instead.

rbe_exec_root
    Current value (from the default) = "/mnt/spare/cvlv-llwebrtc-m137/3p-webrtc-build/build/_source/ubuntu-20.04_x86_64/webrtc/src/"
      From //build/toolchain/rbe.gni:24

    Execution root - this should be the root of the source tree.
    This is defined here instead of in the config file because
    this will vary depending on where the user has placed the
    chromium source on their system.

reclient_bin_dir
    Current value (from the default) = "../../../../_source/ubuntu-20.04_x86_64/webrtc/src/buildtools/reclient"
      From //build/toolchain/rbe.gni:52

reclient_cc_cfg_file
    Current value (from the default) = ""
      From //build/toolchain/rbe.gni:97

reclient_cfg_dir
    Current value (from the default) = "//buildtools/reclient_cfgs"
      From //build/toolchain/rbe.gni:63

reclient_cros_cc_wrapper
    Current value (from the default) = ""
      From //build/toolchain/rbe.gni:133

reclient_py_cfg_file
    Current value (from the default) = ""
      From //build/toolchain/rbe.gni:98

register_fuzztests_in_test_suites
    Current value (from the default) = true
      From //build/config/sanitizers/sanitizers.gni:183

removed_rust_stdlib_libs
    Current value (from the default) = []
      From //build/config/rust.gni:95

    Any removed std rlibs in your Rust toolchain, relative to the standard
    Rust toolchain. Typically used with 'rust_sysroot_absolute'

rtc_allow_deprecated_namespaces
    Current value (from the default) = true
      From //webrtc.gni:277

    When true allows exports from deprecated namespaces.
    This will be set to false on Jun 23 2025. See bugs.webrtc.org/42232595
    for details.

rtc_audio_device_plays_sinus_tone
    Current value (from the default) = false
      From //webrtc.gni:213

    When set to true, replace the audio output with a sinus tone at 440Hz.
    The ADM will ask for audio data from WebRTC but instead of reading real
    audio samples from NetEQ, a sinus tone will be generated and replace the
    real audio samples.

rtc_build_dcsctp
    Current value (from the default) = true
      From //webrtc.gni:341

    Enable the dcsctp backend for DataChannels and related unittests

rtc_build_examples
    Current value = false
      From /mnt/spare/cvlv-llwebrtc-m137/3p-webrtc-build/build/_build/ubuntu-20.04_x86_64/release/webrtc/args.gn:5
    Overridden from the default = true
      From //webrtc.gni:132

    Set this to false to skip building examples.

rtc_build_json
    Current value (from the default) = true
      From //webrtc.gni:295

    Disable these to not build components which can be externally provided.

rtc_build_libsrtp
    Current value (from the default) = true
      From //webrtc.gni:296

rtc_build_libvpx
    Current value (from the default) = true
      From //webrtc.gni:297

rtc_build_opus
    Current value (from the default) = true
      From //webrtc.gni:299

rtc_build_ssl
    Current value (from the default) = true
      From //webrtc.gni:300

rtc_build_tools
    Current value = false
      From /mnt/spare/cvlv-llwebrtc-m137/3p-webrtc-build/build/_build/ubuntu-20.04_x86_64/release/webrtc/args.gn:8
    Overridden from the default = true
      From //webrtc.gni:135

    Set this to false to skip building tools.

rtc_build_with_neon
    Current value (from the default) = false
      From //webrtc.gni:171

rtc_builtin_ssl_root_certificates
    Current value (from the default) = true
      From //webrtc.gni:100

    Setting this to false will require the API user to pass in their own
    SSLCertificateVerifier to verify the certificates presented from a
    TLS-TURN server. In return disabling this saves around 100kb in the binary.

rtc_common_public_deps
    Current value (from the default) = []
      From //webrtc.gni:269

    Embedders can define dependencies needed by WebRTC. Dependencies can be
    configs or targets. This can be defined in their `.gn` file.
   
    In practise, this is use by Chromium: Targets from
    `//third_party/webrtc_overrides` are depending on Chrome's `//base`, but
    WebRTC does not declare its public dependencies. See webrtc:8603. Instead
    WebRTC is using a global common dependencies.

rtc_disable_check_msg
    Current value (from the default) = false
      From //webrtc.gni:333

    Set this to true to disable detailed error message and logging for
    RTC_CHECKs.

rtc_disable_logging
    Current value (from the default) = false
      From //webrtc.gni:326

    Set this to true to fully remove logging from WebRTC.

rtc_disable_metrics
    Current value (from the default) = false
      From //webrtc.gni:336

    Set this to true to disable webrtc metrics.

rtc_disable_trace_events
    Current value (from the default) = false
      From //webrtc.gni:329

    Set this to true to disable trace events.

rtc_dlog_always_on
    Current value (from the default) = false
      From //webrtc.gni:59

    Setting this to true, will make RTC_DLOG() expand to log statements instead
    of being removed by the preprocessor.
    This is useful for example to be able to get RTC_DLOGs on a release build.

rtc_enable_android_aaudio
    Current value (from the default) = false
      From //webrtc.gni:154

    Experimental: enable use of Android AAudio which requires Android SDK 26 or above
    and NDK r16 or above.

rtc_enable_avx2
    Current value (from the default) = true
      From //webrtc.gni:312

rtc_enable_external_auth
    Current value (from the default) = false
      From //webrtc.gni:122

    Enable when an external authentication mechanism is used for performing
    packet authentication for RTP packets instead of libsrtp.

rtc_enable_google_benchmarks
    Current value (from the default) = true
      From //webrtc.gni:63

    Enables additional build targets that rely on
    //third_party/google_benchmarks.

rtc_enable_grpc
    Current value (from the default) = false
      From //webrtc.gni:344

    Enable gRPC used for negotiation in multiprocess tests

rtc_enable_objc_symbol_export
    Current value (from the default) = false
      From //webrtc.gni:70

    Setting this to true will make RTC_OBJC_EXPORT expand to code that will
    manage symbols visibility. By default, Obj-C/Obj-C++ symbols are exported
    if C++ symbols are but setting this arg to true while keeping
    rtc_enable_symbol_export=false will only export RTC_OBJC_EXPORT
    annotated symbols.

rtc_enable_protobuf
    Current value = false
      From /mnt/spare/cvlv-llwebrtc-m137/3p-webrtc-build/build/_build/ubuntu-20.04_x86_64/release/webrtc/args.gn:9
    Overridden from the default = true
      From //webrtc.gni:289

    Enables the use of protocol buffers for debug recordings.

rtc_enable_sctp
    Current value (from the default) = true
      From //webrtc.gni:292

    Set this to disable building with support for SCTP data channels.

rtc_enable_symbol_export
    Current value (from the default) = false
      From //webrtc.gni:52

    Setting this to true will make RTC_EXPORT (see rtc_base/system/rtc_export.h)
    expand to code that will manage symbols visibility.

rtc_enable_win_wgc
    Current value (from the default) = false
      From //webrtc.gni:241

    When set to true, a capturer implementation that uses the
    Windows.Graphics.Capture APIs will be available for use. This introduces a
    dependency on the Win 10 SDK v10.0.17763.0.

rtc_exclude_audio_processing_module
    Current value (from the default) = false
      From //webrtc.gni:129

    Selects whether the audio processing module should be excluded.

rtc_exclude_field_trial_default
    Current value (from the default) = false
      From //webrtc.gni:82

rtc_exclude_metrics_default
    Current value (from the default) = false
      From //webrtc.gni:89

    Setting this to true will define WEBRTC_EXCLUDE_METRICS_DEFAULT which
    will tell the pre-processor to remove the default definition of symbols
    needed to use metrics. In that case a new implementation needs to be
    provided.

rtc_exclude_system_time
    Current value (from the default) = false
      From //webrtc.gni:95

    Setting this to true will define WEBRTC_EXCLUDE_SYSTEM_TIME which
    will tell the pre-processor to remove the default definition of the
    SystemTimeNanos() which is defined in rtc_base/system_time.cc. In
    that case a new implementation needs to be provided.

rtc_include_builtin_audio_codecs
    Current value (from the default) = true
      From //webrtc.gni:228

    When set to false, builtin audio encoder/decoder factories and all the
    audio codecs they depend on will not be included in libwebrtc.{a|lib}
    (they will still be included in libjingle_peerconnection_so.so and
    WebRTC.framework)

rtc_include_dav1d_in_internal_decoder_factory
    Current value (from the default) = true
      From //webrtc.gni:244

    Includes the dav1d decoder in the internal decoder factory when set to true.

rtc_include_internal_audio_device
    Current value = true
      From /mnt/spare/cvlv-llwebrtc-m137/3p-webrtc-build/build/_build/ubuntu-20.04_x86_64/release/webrtc/args.gn:20
    Overridden from the default = true
      From //webrtc.gni:307

    Chromium uses its own IO handling, so the internal ADM is only built for
    standalone WebRTC.

rtc_include_opus
    Current value (from the default) = true
      From //webrtc.gni:103

    Disable this to avoid building the Opus audio codec.

rtc_include_pulse_audio
    Current value = false
      From /mnt/spare/cvlv-llwebrtc-m137/3p-webrtc-build/build/_build/ubuntu-20.04_x86_64/release/webrtc/args.gn:19
    Overridden from the default = true
      From //webrtc.gni:303

    Excluded in Chromium since its prerequisites don't require Pulse Audio.

rtc_include_tests
    Current value = false
      From /mnt/spare/cvlv-llwebrtc-m137/3p-webrtc-build/build/_build/ubuntu-20.04_x86_64/release/webrtc/args.gn:2
    Overridden from the default = true
      From //webrtc.gni:319

    Set this to true to build the unit tests.
    Disabled when building with Chromium or Mozilla.

rtc_ios_use_opengl_rendering
    Current value (from the default) = false
      From //webrtc.gni:222

    Determines whether OpenGL is available on iOS.

rtc_jsoncpp_root
    Current value (from the default) = "//third_party/jsoncpp/source/include"
      From //webrtc.gni:114

    Used to specify an external Jsoncpp include path when not compiling the
    library that comes with WebRTC (i.e. rtc_build_json == 0).

rtc_libvpx_build_vp9
    Current value (from the default) = true
      From //webrtc.gni:298

rtc_link_pipewire
    Current value (from the default) = false
      From //webrtc.gni:147

    Set this to link PipeWire and required libraries directly instead of using the dlopen.

rtc_objc_prefix
    Current value (from the default) = ""
      From //webrtc.gni:260

    If different from "", symbols exported with RTC_OBJC_EXPORT will be prefixed
    with this string.
    See the definition of RTC_OBJC_TYPE_PREFIX in the code.

rtc_opus_support_120ms_ptime
    Current value (from the default) = true
      From //webrtc.gni:107

    Enable this if the Opus version upon which WebRTC is built supports direct
    encoding of 120 ms packets.

rtc_opus_variable_complexity
    Current value (from the default) = false
      From //webrtc.gni:110

    Enable this to let the Opus audio codec change complexity on the fly.

rtc_prefer_fixed_point
    Current value (from the default) = false
      From //webrtc.gni:164

    Selects fixed-point code where possible.

rtc_sanitize_coverage
    Current value (from the default) = ""
      From //webrtc.gni:161

    Set to "func", "block", "edge" for coverage generation.
    At unit test runtime set UBSAN_OPTIONS="coverage=1".
    It is recommend to set include_examples=0.
    Use llvm's sancov -html-report for human readable reports.
    See http://clang.llvm.org/docs/SanitizerCoverage.html .

rtc_ssl_root
    Current value (from the default) = ""
      From //webrtc.gni:118

    Used to specify an external OpenSSL include path when not compiling the
    library that comes with WebRTC (i.e. rtc_build_ssl == 0).

rtc_strict_field_trials
    Current value (from the default) = ""
      From //webrtc.gni:255

    When enabled, a run-time check will make sure that all field trial keys have
    been registered in accordance with the field trial policy, see
    g3doc/field-trials.md. The value can be set to the following:
   
     "dcheck": RTC_DCHECKs that the field trial has been registered. RTC_DCHECK
               must be enabled separately.
   
     "warn": RTC_LOGs a message with LS_WARNING severity if the field trial
             hasn't been registered.

rtc_system_openh264
    Current value (from the default) = false
      From //webrtc.gni:193

    Use system OpenH264

rtc_use_absl_mutex
    Current value (from the default) = false
      From //webrtc.gni:203

    Enable this flag to make webrtc::Mutex be implemented by absl::Mutex.

rtc_use_dummy_audio_file_devices
    Current value (from the default) = false
      From //webrtc.gni:207

    By default, use normal platform audio support or dummy audio, but don't
    use file-based audio playout and record.

rtc_use_h264
    Current value = false
      From /mnt/spare/cvlv-llwebrtc-m137/3p-webrtc-build/build/_build/ubuntu-20.04_x86_64/release/webrtc/args.gn:3
    Overridden from the default = false
      From //webrtc.gni:189

rtc_use_h265
    Current value (from the default) = true
      From //webrtc.gni:199

rtc_use_perfetto
    Current value (from the default) = false
      From //webrtc.gni:272

    When true, include the Perfetto library.

rtc_use_pipewire
    Current value = false
      From /mnt/spare/cvlv-llwebrtc-m137/3p-webrtc-build/build/_build/ubuntu-20.04_x86_64/release/webrtc/args.gn:18
    Overridden from the default = true
      From //webrtc.gni:144

    Set this to use PipeWire on the Wayland display server.
    By default it's only enabled on desktop Linux (excludes ChromeOS) and
    only when using the sysroot as PipeWire is not available in older and
    supported Ubuntu and Debian distributions.

rtc_use_x11
    Current value = false
      From /mnt/spare/cvlv-llwebrtc-m137/3p-webrtc-build/build/_build/ubuntu-20.04_x86_64/release/webrtc/args.gn:17
    Overridden from the default = true
      From //webrtc.gni:138

    Set this to false to skip building code that requires X11.

rtc_use_x11_extensions
    Current value (from the default) = false
      From //webrtc.gni:323

    Set this to false to skip building code that also requires X11 extensions
    such as Xdamage, Xfixes.

rtc_win_undef_unicode
    Current value (from the default) = false
      From //webrtc.gni:236

    When set to true and in a standalone build, it will undefine UNICODE and
    _UNICODE (which are always defined globally by the Chromium Windows
    toolchain).
    This is only needed for testing purposes, WebRTC wants to be sure it
    doesn't assume /DUNICODE and /D_UNICODE but that it explicitly uses
    wide character functions.

rust_bindgen_root
    Current value (from the default) = "//third_party/rust-toolchain"
      From //build/config/rust.gni:66

    Directory under which to find `bin/bindgen` (a `bin` directory containing
    the bindgen exectuable).

rust_sysroot_absolute
    Current value (from the default) = ""
      From //build/config/rust.gni:62

    Chromium provides a Rust toolchain in //third_party/rust-toolchain.
   
    To use a custom toolchain instead, specify an absolute path to the root of
    a Rust sysroot, which will have a 'bin' directory and others. Commonly
    <home dir>/.rustup/toolchains/nightly-<something>-<something>

rust_toolchain_supports_nacl
    Current value (from the default) = false
      From //build/config/rust.gni:76

    If you're using a Rust toolchain as specified by rust_sysroot_absolute,
    you can specify whether it supports nacl here.

rustc_version
    Current value (from the default) = ""
      From //build/config/rust.gni:72

    If you're using a Rust toolchain as specified by rust_sysroot_absolute,
    set this to the output of `rustc -V`. Changing this string will cause all
    Rust targets to be rebuilt, which allows you to update your toolchain and
    not break incremental builds.

sample_profile_is_accurate
    Current value (from the default) = false
      From //build/config/compiler/compiler.gni:136

    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_allowlist
    Current value (from the default) = ""
      From //build/config/sanitizers/sanitizers.gni:113

    A sanitizer coverage allowlist, specifying exactly which
    files or symbol names should be instrumented, rather than all of them.

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_fuzzing_engine=true:
        trace-pc-guard
    Default value when unset and use_sanitizer_coverage=true:
        trace-pc-guard,indirect-calls

save_reproducers_on_lld_crash
    Current value (from the default) = false
      From //build/config/compiler/BUILD.gn:181

    If true, linker crashes will be rerun with `--reproduce` which causes
    a reproducer file to be saved.

show_includes
    Current value (from the default) = false
      From //build/config/compiler/BUILD.gn:172

    Enable -H, which prints the include tree during compilation.
    For use by tools/clang/scripts/analyze_includes.py

simple_template_names
    Current value (from the default) = true
      From //build/config/compiler/BUILD.gn:200

    Use DWARF simple template names, with the following exceptions:
   
    * Windows is not supported as it doesn't use DWARF.
    * Apple platforms (e.g. MacOS, iPhone, iPad) aren't supported because xcode
      lldb doesn't have the needed changes yet.
    TODO(crbug.com/40244196): Remove if the upstream default ever changes.
   
    This greatly reduces the size of debug builds, at the cost of
    debugging information which is required by some specialized
    debugging tools.

skip_buildtools_check
    Current value (from the default) = false
      From //third_party/perfetto/gn/perfetto.gni:387

    Skip buildtools dependency checks (needed for ChromeOS).

strip_debug_info
    Current value (from the default) = false
      From //build/config/compiler/compiler.gni:61

    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:56

    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.

sysroot
    Current value (from the default) = ""
      From //build/config/sysroot.gni:18

    The path of the sysroot for the current toolchain. If empty, default
    sysroot is used.

system_headers_in_deps
    Current value (from the default) = false
      From //build/toolchain/gcc_toolchain.gni:37

    Use -MD instead of -MMD for compiler commands. This is useful for tracking
    the comprehensive set of dependencies.  It's also required when building
    without the sysroot so that updates to system header files trigger a
    rebuild (when using the sysroot, the CR_SYSROOT_KEY define takes care of
    this already).

system_libdir
    Current value (from the default) = "lib"
      From //build/config/linux/pkg_config.gni:48

    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 /mnt/spare/cvlv-llwebrtc-m137/3p-webrtc-build/build/_build/ubuntu-20.04_x86_64/release/webrtc/args.gn:13
    Overridden from the default = ""
      (Internally set; try `gn help target_cpu`.)

target_environment
    Current value (from the default) = ""
      From //build/config/apple/mobile_config.gni:10

    Configure the environment for which to build. Could be either "device",
    "simulator" or "catalyst". Must be specified.

target_os
    Current value = "linux"
      From /mnt/spare/cvlv-llwebrtc-m137/3p-webrtc-build/build/_build/ubuntu-20.04_x86_64/release/webrtc/args.gn:12
    Overridden from the default = ""
      (Internally set; try `gn help target_os`.)

target_platform
    Current value (from the default) = "iphoneos"
      From //build/config/apple/mobile_config.gni:16

    Valid values: "iphoneos" (default), "tvos", "watchos".
    Indicates the kind of iOS or iOS-based platform that is being targeted.
    Note that this value is available only when is_ios is also true (i.e. it
    cannot be used with the host toolchain).

target_rpath
    Current value (from the default) = ""
      From //build/config/cast.gni:16

    If non empty, rpath of executables is set to this.
    If empty, default value is used.

target_sysroot
    Current value (from the default) = ""
      From //build/config/sysroot.gni:11

    The path of the sysroot that is applied when compiling using the target
    toolchain.

target_sysroot_dir
    Current value (from the default) = "//build/linux"
      From //build/config/sysroot.gni:14

    The path to directory containing linux sysroot images.

temporal_pgo_profile
    Current value (from the default) = false
      From //build/config/compiler/pgo/pgo.gni:41

    Whether to enable temporal pgo or not (experimental).

tests_have_location_tags
    Current value (from the default) = true
      From //testing/test.gni:22

    Some component repos (e.g. ANGLE) import //testing but do not have
    "location_tags.json", and so we don't want to try and upload the tags
    for their tests.
    And, some build configs may simply turn off generation altogether.

thin_lto_enable_cache
    Current value (from the default) = true
      From //build/config/compiler/BUILD.gn:132

    Whether to enable thin lto incremental builds.
    See: https://clang.llvm.org/docs/ThinLTO.html#incremental
    The cache can lead to non-determinism: https://crbug.com/1486045

thin_lto_enable_optimizations
    Current value (from the default) = false
      From //build/config/compiler/BUILD.gn:126

toolchain_allows_use_partition_alloc_as_malloc
    Current value (from the default) = true
      From //build/toolchain/toolchain.gni:36

    If false, the toolchain overrides `use_partition_alloc_as_malloc` in
    PartitionAlloc, to allow use of the system allocator.

toolchain_for_rust_host_build_tools
    Current value (from the default) = false
      From //build/toolchain/toolchain.gni:32

    Whether this toolchain is to be used for building host tools that are
    consumed during the build process. That includes proc macros and Cargo build
    scripts.

toolchain_supports_rust_thin_lto
    Current value (from the default) = true
      From //build/config/rust.gni:87

    Whether artifacts produced by the Rust compiler can participate in ThinLTO.
   
    One important consideration is whether the linker uses the same LLVM
    version as `rustc` (i.e. if it can understand the LLVM-IR from the
    compilation artifacts produced by `rustc`).  In LaCrOS and ash builds this
    may not be true - see b/299483903.
   
    TODO(crbug.com/40281834): Re-enable ThinLTO for Rust on LaCrOS
    TODO(b/300937673): Re-enable ThinLTO for Rust on ash-chrome

toolkit_views
    Current value (from the default) = true
      From //build/config/ui.gni:33

    True means the UI is built using the "views" framework.

treat_warnings_as_errors
    Current value = false
      From /mnt/spare/cvlv-llwebrtc-m137/3p-webrtc-build/build/_build/ubuntu-20.04_x86_64/release/webrtc/args.gn:10
    Overridden from the default = true
      From //build/config/compiler/compiler.gni:46

    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:85

    Compile for fuzzing with AFL.

use_android_unwinder_v2
    Current value (from the default) = true
      From //build/config/compiler/compiler.gni:130

    Set to true to use the android unwinder V2 implementation.

use_aura
    Current value (from the default) = true
      From //build/config/ui.gni:28

    Indicates if Aura is enabled. Aura is a low-level windowing library, sort
    of a replacement for GDI or GTK.

use_blink
    Current value (from the default) = true
      From //build/config/features.gni:41

use_centipede
    Current value (from the default) = false
      From //build/config/sanitizers/sanitizers.gni:82

    Compile for fuzzing with centipede.
    See https://github.com/google/centipede

use_cfi_cast
    Current value (from the default) = false
      From //build/config/sanitizers/sanitizers.gni:136

    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:70

    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:67

use_cfi_recover
    Current value (from the default) = false
      From //build/config/sanitizers/sanitizers.gni:74

    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:23

use_clang_profiling
    Current value (from the default) = false
      From //build/config/profiling/profiling.gni:10

use_clang_profiling_inside_sandbox
    Current value (from the default) = false
      From //build/config/sanitizers/sanitizers.gni:275

use_custom_libcxx
    Current value = false
      From /mnt/spare/cvlv-llwebrtc-m137/3p-webrtc-build/build/_build/ubuntu-20.04_x86_64/release/webrtc/args.gn:14
    Overridden from the default = true
      From //build/config/c++/c++.gni:17

    Use in-tree libc++ (buildtools/third_party/libc++ and
    buildtools/third_party/libc++abi) instead of the system C++ library for C++
    standard library support.
   
    WARNING: Bringing your own C++ standard library is deprecated and will not
    be supported in the future. This flag will be removed.

use_custom_libcxx_for_host
    Current value = false
      From /mnt/spare/cvlv-llwebrtc-m137/3p-webrtc-build/build/_build/ubuntu-20.04_x86_64/release/webrtc/args.gn:15
    Overridden from the default = true
      From //build/config/c++/c++.gni:28

    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.
   
    WARNING: Bringing your own C++ standard library is deprecated and will not
    be supported in the future. This flag will be removed.

use_custom_libunwind
    Current value (from the default) = false
      From //build/config/unwind.gni:6

    Use in-tree libunwind (buildtools/third_party/libunwind) instead of whatever
    system library provides unwind symbols (e.g. libgcc).

use_dbus
    Current value (from the default) = true
      From //build/config/features.gni:37

use_debug_fission
    Current value (from the default) = true
      From //build/config/compiler/compiler.gni:70

use_dummy_lastchange
    Current value (from the default) = true
      From //build/util/lastchange.gni:9

use_dwarf5
    Current value (from the default) = false
      From //build/config/compiler/BUILD.gn:160

    Enable DWARF v5.

use_external_fuzzing_engine
    Current value (from the default) = false
      From //build/config/sanitizers/sanitizers.gni:91

    Compile for fuzzing with an external engine (e.g., Grammarinator).

use_full_pdb_paths
    Current value (from the default) = false
      From //build/config/compiler/BUILD.gn:168

    Override this to put full paths to PDBs in Windows PE files. This helps
    windbg and Windows Performance Analyzer with finding the PDBs in some local-
    build scenarios. This is never needed for bots or official builds. Because
    this puts the output directory in the DLLs/EXEs it breaks build determinism.
    Bugs have been reported to the windbg/WPA teams and this workaround will be
    removed when they are fixed.

use_fuzzilli
    Current value (from the default) = false
      From //build/config/sanitizers/sanitizers.gni:88

    Compile for fuzzing with Fuzzilli.

use_fuzztest_wrapper
    Current value = false
      From //.gn:87
    Overridden from the default = true
      From //testing/libfuzzer/BUILD.gn:25

    Build individual_fuzztest_wrapper if use_fuzztest_wrapper is set.
    Some projects doesn't have //base and cannot build
    individual_fuzztest_wrapper.

use_ghash
    Current value (from the default) = true
      From //build/config/compiler/BUILD.gn:116

    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:39

use_glib
    Current value (from the default) = true
      From //build/config/ui.gni:36

use_icf
    Current value (from the default) = true
      From //build/config/compiler/BUILD.gn:205

    Set to true to use icf, Identical Code Folding.

use_implicit_libcxx_modules
    Current value (from the default) = false
      From //build/config/c++/c++.gni:56

    Use implicit Clang header modules for libc++.
    This is experimental only (see crbug.com/543704).
    For details on the current state of modules in Chromium see
    https://chromium.googlesource.com/chromium/src/+/main/docs/modules.md

use_jacoco_coverage
    Current value (from the default) = false
      From //build/config/coverage/coverage.gni:27

    Enables JaCoCo Java code coverage.

use_javascript_coverage
    Current value (from the default) = false
      From //build/config/coverage/coverage.gni:39

    Enables TypeScript/JavaScript code coverage.

use_libcxx_modules
    Current value (from the default) = false
      From //build/config/c++/c++.gni:50

    Use explicit Clang header modules for libc++.
    This is experimental only (see crbug.com/543704).
    For details on the current state of modules in Chromium see
    https://chromium.googlesource.com/chromium/src/+/main/docs/modules.md

use_libfuzzer
    Current value (from the default) = false
      From //build/config/sanitizers/sanitizers.gni:78

    Compile for fuzzing with LLVM LibFuzzer.
    See http://www.chromium.org/developers/testing/libfuzzer

use_libinput
    Current value (from the default) = false
      From //build/config/chromeos/args.gni:37

    Determines if we're willing to link against libinput

use_libjpeg_turbo
    Current value (from the default) = true
      From //third_party/libjpeg.gni:11

    Uses libjpeg_turbo as the jpeg implementation. Has no effect if
    use_system_libjpeg is set.

use_lld
    Current value (from the default) = true
      From //build/config/compiler/compiler.gni:33

    Set to true to use lld, the LLVM linker.
    In late bring-up on macOS (see docs/mac_lld.md).
    Tentatively used on iOS.
    The default linker everywhere else.

use_llvm_libatomic
    Current value (from the default) = true
      From //build/config/c++/c++.gni:65

    Build atomic support from in-tree compiler-rt.
   
    Apple platforms provide the intrinsics from a different library, and the
    implementations in compiler-rt are outdated, so avoid building them in this
    case.
    We disable that on LibFuzzer builds because it breaks the libfuzzer
    runtime. See crbug.com/411020147.

use_locally_built_instrumented_libraries
    Current value (from the default) = false
      From //build/config/sanitizers/sanitizers.gni:53

    Use dynamic libraries instrumented by one of the sanitizers instead of the
    standard system libraries. Set this flag to build the libraries from source.

use_ml_inliner
    Current value (from the default) = false
      From //build/config/compiler/compiler.gni:126

    Set to true to enable using the ML inliner in LLVM. This currently only
    enables the ML inliner when targeting Android.
    Currently the ML inliner is only supported on linux hosts

use_ozone
    Current value (from the default) = true
      From //build/config/ozone.gni:11

    Indicates if Ozone is enabled. Ozone is a low-level library layer for Linux
    that does not require X11.

use_perfetto_client_library
    Current value (from the default) = false
      From //build_overrides/build.gni:58

    TODO(b/336718643): Remove use_perfetto_client_library_flag.

use_perfetto_trace_processor
    Current value (from the default) = false
      From //build_overrides/build.gni:59

use_profi
    Current value (from the default) = false
      From //build/config/compiler/BUILD.gn:177

    Enable Profi algorithm. Profi can infer block and edge counts.
    https://clang.llvm.org/docs/UsersManual.html#using-sampling-profilers
    TODO(crbug.com/1375958i:) Possibly enable this for Android too.

use_reclient
    Current value (from the default) = false
      From //build/toolchain/rbe.gni:42

    Set to true to use re-client.
    Set to false to use Siso's builtin RBE client.

use_relative_vtables_abi
    Current value (from the default) = false
      From //build/config/compiler/compiler.gni:141

    Use offsets rather than pointers in vtables in order to reduce the number of
    relocations. This is safe to enable only when all C++ code is built with the
    flag set to the same value.

use_remoteexec
    Current value (from the default) = false
      From //build/toolchain/rbe.gni:27

    Set to true to enable remote executions.

use_rts
    Current value (from the default) = false
      From //build/config/rts.gni:6

    Regression Test Selection (RTS) will use a ML model
    to predict what test cases can be excluded from a
    given test suite based on historical data when using
    a .filter file.

use_rtti
    Current value = true
      From /mnt/spare/cvlv-llwebrtc-m137/3p-webrtc-build/build/_build/ubuntu-20.04_x86_64/release/webrtc/args.gn:6
    Overridden from the default = false
      From //build/config/compiler/BUILD.gn:75

    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_safe_libstdcxx
    Current value (from the default) = true
      From //build/config/c++/c++.gni:96

    In case the C++ standard library implementation used is libstdc++, then
    enable its own hardening checks. As we cannot determine in GN if libstdc++
    is used or not, by default enable it for Linux without the custom libc++.
   
    WARNING: Bringing your own C++ standard library is deprecated and will not
    be supported in the future. This flag will be removed.

use_sanitizer_configs_without_instrumentation
    Current value (from the default) = false
      From //build/config/sanitizers/sanitizers.gni:118

    When enabled, only relevant sanitizer defines are set, but compilation
    happens with no extra flags. This is useful when in component build
    enabling sanitizers only in some of the components.

use_sanitizer_coverage
    Current value (from the default) = false
      From //build/config/sanitizers/sanitizers.gni:189

use_siso
    Current value (from the default) = false
      From //build/toolchain/siso.gni:35

    Placeholder to allow having use_siso in args.gn file.
    Explicit `use_siso` in args.gn can override default.
    This is used only for autoninja (to dispatch siso or ninja),
    and for use_reclient's default.

use_sized_deallocation
    Current value (from the default) = false
      From //build/config/compiler/compiler.gni:147

    Enable C++14 sized global deallocation functions.
    Disabled by default because of binary size increase.
    TODO(crbug.com/345541122): investigate the fuchsia binary size increase.

use_sysroot
    Current value (from the default) = true
      From //build/config/sysroot.gni:23

use_system_freetype
    Current value (from the default) = false
      From //build/config/freetype/freetype.gni:13

    Blink needs a recent and properly build-configured FreeType version to
    support OpenType variations, color emoji and avoid security bugs. By default
    we ship and link such a version as part of Chrome. For distributions that
    prefer to keep linking to the version the system, FreeType must be newer
    than version 2.7.1 and have color bitmap support compiled in. WARNING:
    System FreeType configurations other than as described WILL INTRODUCE TEXT
    RENDERING AND SECURITY REGRESSIONS.

use_system_harfbuzz
    Current value (from the default) = false
      From //third_party/harfbuzz-ng/harfbuzz.gni:11

    Blink uses a cutting-edge version of Harfbuzz; most Linux distros do not
    contain a new enough version of the code to work correctly. However,
    ChromeOS chroots (i.e, real ChromeOS builds for devices) do contain a
    new enough version of the library, and so this variable exists so that
    ChromeOS can build against the system lib and keep binary sizes smaller.

use_system_libjpeg
    Current value (from the default) = false
      From //third_party/libjpeg.gni:7

    Uses system libjpeg. If true, overrides use_libjpeg_turbo.

use_text_section_splitting
    Current value (from the default) = false
      From //build/config/compiler/BUILD.gn:157

    This argument is to control whether enabling text section splitting in the
    final binary. When enabled, the separated text sections with prefix
    '.text.hot', '.text.unlikely', '.text.startup' and '.text.exit' will not be
    merged to '.text' section. This allows us to identify the hot code section
    ('.text.hot') in the binary, which allows our data collection pipelines to
    more easily identify code that we assume to be hot/cold that doesn't turn
    out to be such in the field.

use_thin_lto
    Current value = false
      From /mnt/spare/cvlv-llwebrtc-m137/3p-webrtc-build/build/_build/ubuntu-20.04_x86_64/release/webrtc/args.gn:7
    Overridden from the default = false
      From //build/config/compiler/compiler.gni:81

use_udev
    Current value (from the default) = true
      From //build/config/features.gni:35

    libudev usage. This currently only affects the content layer.

using_mismatched_sample_profile
    Current value (from the default) = false
      From //build/config/compiler/compiler.gni:92

    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_current_cpu
    Current value (from the default) = "x64"
      From //build/config/v8_target_cpu.gni:63

    This argument is declared here so that it can be overridden in toolchains.
    It should never be explicitly set by the user.

v8_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.

zlib_symbols_visible
    Current value (from the default) = false
      From //third_party/zlib/BUILD.gn:11

    Expose zlib's symbols, used by Node.js to provide zlib APIs for its native
    modules.

