| # Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. | 
 | # | 
 | # Use of this source code is governed by a BSD-style license | 
 | # that can be found in the LICENSE file in the root of the source | 
 | # tree. An additional intellectual property rights grant can be found | 
 | # in the file PATENTS.  All contributing project authors may | 
 | # be found in the AUTHORS file in the root of the source tree. | 
 |  | 
 | import("//build/dotfile_settings.gni") | 
 |  | 
 | # The location of the build configuration file. | 
 | buildconfig = "//build/config/BUILDCONFIG.gn" | 
 |  | 
 | # The python interpreter to use by default. On Windows, this will look | 
 | # for vpython3.exe and vpython3.bat. | 
 | script_executable = "vpython3" | 
 |  | 
 | # The secondary source root is a parallel directory tree where | 
 | # GN build files are placed when they can not be placed directly | 
 | # in the source tree, e.g. for third party source trees. | 
 | secondary_source = "//build/secondary/" | 
 |  | 
 | # These are the targets to skip header checking by default. The files in targets | 
 | # matching these patterns (see "gn help label_pattern" for format) will not have | 
 | # their includes checked for proper dependencies when you run either | 
 | # "gn check" or "gn gen --check". | 
 | no_check_targets = [ | 
 |   "//third_party/icu/*", | 
 |  | 
 |   # TODO: crbug/326607005 - GTEST_HAS_ABSL is broken | 
 |   "//third_party/googletest:gmock", | 
 |   "//third_party/googletest:gtest", | 
 | ] | 
 |  | 
 | # These are the list of GN files that run exec_script. This allowlist exists | 
 | # to force additional review for new uses of exec_script, which is strongly | 
 | # discouraged except for gypi_to_gn calls. | 
 | exec_script_allowlist = build_dotfile_settings.exec_script_allowlist + | 
 |                         [ "//build_overrides/build.gni" ] | 
 |  | 
 | export_compile_commands = [ "*" ] | 
 |  | 
 | default_args = { | 
 |   # Webrtc does not support component builds because we are not using the | 
 |   # template "component" but we rely directly on "rtc_static_library" and | 
 |   # "rtc_shared_library". This means that we cannot use the chromium default | 
 |   # value for this argument. | 
 |   # This also means that the user can override this value using --args or | 
 |   # the args.gn file but this setting will be ignored because we don't support | 
 |   # component builds. | 
 |   is_component_build = false | 
 |  | 
 |   mac_sdk_min = "10.12" | 
 |  | 
 |   ios_deployment_target = "14.0" | 
 |  | 
 |   # The SDK API level, in contrast, is set by build/android/AndroidManifest.xml. | 
 |   android32_ndk_api_level = 21 | 
 |   android64_ndk_api_level = 21 | 
 |  | 
 |   # WebRTC does not provide the gflags dependency. Because libyuv uses it only | 
 |   # for unittests, it can be disabled (see third_party/libyuv/BUILD.gn) | 
 |   libyuv_use_gflags = false | 
 |  | 
 |   enable_libaom = true | 
 |  | 
 |   gtest_enable_absl_printers = true | 
 |  | 
 |   # Differently from Chromium, WebRTC still support SDK 21. | 
 |   default_min_sdk_version = 21 | 
 |  | 
 |   # Prevent jsoncpp to pass -Wno-deprecated-declarations to users | 
 |   jsoncpp_no_deprecated_declarations = false | 
 |  | 
 |   # Fixes the abi-revision issue. | 
 |   # TODO(https://bugs.webrtc.org/14437):  Remove this section if general | 
 |   # Chromium fix resolves the problem. | 
 |   fuchsia_sdk_readelf_exec = | 
 |       "//third_party/llvm-build/Release+Asserts/bin/llvm-readelf" | 
 |  | 
 |   # WebRTC doesn't use jni_zero's multiplexing. Since this causes an error | 
 |   # let's temporarily disable it. | 
 |   enable_jni_multiplexing = false | 
 |  | 
 |   # TODO(b/42223878): use_fuzztest_wrapper adds a dependency to //base so | 
 |   # let's temporarly disable it. | 
 |   use_fuzztest_wrapper = false | 
 |  | 
 |   # Enable Rust in WebRTC | 
 |   enable_rust = true | 
 |   enable_rust_cxx = true | 
 |   enable_chromium_prelude = true | 
 |  | 
 |   # See context on https://issues.chromium.org/issues/415076048. | 
 |   enable_js_protobuf = false | 
 | } |