| # 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 python3.exe and python3.bat. |
| script_executable = "python3" |
| |
| # 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.com/1151236) Remove once fixed. |
| "//base/allocator/partition_allocator:partition_alloc", |
| ] |
| |
| # These are the list of GN files that run exec_script. This whitelist exists |
| # to force additional review for new uses of exec_script, which is strongly |
| # discouraged except for gypi_to_gn calls. |
| exec_script_whitelist = build_dotfile_settings.exec_script_whitelist + |
| [ "//build_overrides/build.gni" ] |
| |
| 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 = "12.0" |
| mac_deployment_target = "10.13" |
| |
| # 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" |
| fuchsia_target_api_level = 9 |
| |
| use_cxx17 = true |
| } |