xref: /aosp_15_r20/external/webrtc/.gn (revision d9f758449e529ab9291ac668be2861e7a55c2422)
1*d9f75844SAndroid Build Coastguard Worker# Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
2*d9f75844SAndroid Build Coastguard Worker#
3*d9f75844SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license
4*d9f75844SAndroid Build Coastguard Worker# that can be found in the LICENSE file in the root of the source
5*d9f75844SAndroid Build Coastguard Worker# tree. An additional intellectual property rights grant can be found
6*d9f75844SAndroid Build Coastguard Worker# in the file PATENTS.  All contributing project authors may
7*d9f75844SAndroid Build Coastguard Worker# be found in the AUTHORS file in the root of the source tree.
8*d9f75844SAndroid Build Coastguard Worker
9*d9f75844SAndroid Build Coastguard Workerimport("//build/dotfile_settings.gni")
10*d9f75844SAndroid Build Coastguard Worker
11*d9f75844SAndroid Build Coastguard Worker# The location of the build configuration file.
12*d9f75844SAndroid Build Coastguard Workerbuildconfig = "//build/config/BUILDCONFIG.gn"
13*d9f75844SAndroid Build Coastguard Worker
14*d9f75844SAndroid Build Coastguard Worker# The python interpreter to use by default. On Windows, this will look
15*d9f75844SAndroid Build Coastguard Worker# for python3.exe and python3.bat.
16*d9f75844SAndroid Build Coastguard Workerscript_executable = "python3"
17*d9f75844SAndroid Build Coastguard Worker
18*d9f75844SAndroid Build Coastguard Worker# The secondary source root is a parallel directory tree where
19*d9f75844SAndroid Build Coastguard Worker# GN build files are placed when they can not be placed directly
20*d9f75844SAndroid Build Coastguard Worker# in the source tree, e.g. for third party source trees.
21*d9f75844SAndroid Build Coastguard Workersecondary_source = "//build/secondary/"
22*d9f75844SAndroid Build Coastguard Worker
23*d9f75844SAndroid Build Coastguard Worker# These are the targets to skip header checking by default. The files in targets
24*d9f75844SAndroid Build Coastguard Worker# matching these patterns (see "gn help label_pattern" for format) will not have
25*d9f75844SAndroid Build Coastguard Worker# their includes checked for proper dependencies when you run either
26*d9f75844SAndroid Build Coastguard Worker# "gn check" or "gn gen --check".
27*d9f75844SAndroid Build Coastguard Workerno_check_targets = [
28*d9f75844SAndroid Build Coastguard Worker  "//third_party/icu/*",
29*d9f75844SAndroid Build Coastguard Worker
30*d9f75844SAndroid Build Coastguard Worker  # TODO(crbug.com/1151236) Remove once fixed.
31*d9f75844SAndroid Build Coastguard Worker  "//base/allocator/partition_allocator:partition_alloc",
32*d9f75844SAndroid Build Coastguard Worker]
33*d9f75844SAndroid Build Coastguard Worker
34*d9f75844SAndroid Build Coastguard Worker# These are the list of GN files that run exec_script. This whitelist exists
35*d9f75844SAndroid Build Coastguard Worker# to force additional review for new uses of exec_script, which is strongly
36*d9f75844SAndroid Build Coastguard Worker# discouraged except for gypi_to_gn calls.
37*d9f75844SAndroid Build Coastguard Workerexec_script_whitelist = build_dotfile_settings.exec_script_whitelist +
38*d9f75844SAndroid Build Coastguard Worker                        [ "//build_overrides/build.gni" ]
39*d9f75844SAndroid Build Coastguard Worker
40*d9f75844SAndroid Build Coastguard Workerdefault_args = {
41*d9f75844SAndroid Build Coastguard Worker  # Webrtc does not support component builds because we are not using the
42*d9f75844SAndroid Build Coastguard Worker  # template "component" but we rely directly on "rtc_static_library" and
43*d9f75844SAndroid Build Coastguard Worker  # "rtc_shared_library". This means that we cannot use the chromium default
44*d9f75844SAndroid Build Coastguard Worker  # value for this argument.
45*d9f75844SAndroid Build Coastguard Worker  # This also means that the user can override this value using --args or
46*d9f75844SAndroid Build Coastguard Worker  # the args.gn file but this setting will be ignored because we don't support
47*d9f75844SAndroid Build Coastguard Worker  # component builds.
48*d9f75844SAndroid Build Coastguard Worker  is_component_build = false
49*d9f75844SAndroid Build Coastguard Worker
50*d9f75844SAndroid Build Coastguard Worker  mac_sdk_min = "10.12"
51*d9f75844SAndroid Build Coastguard Worker
52*d9f75844SAndroid Build Coastguard Worker  ios_deployment_target = "12.0"
53*d9f75844SAndroid Build Coastguard Worker
54*d9f75844SAndroid Build Coastguard Worker  # The SDK API level, in contrast, is set by build/android/AndroidManifest.xml.
55*d9f75844SAndroid Build Coastguard Worker  android32_ndk_api_level = 16
56*d9f75844SAndroid Build Coastguard Worker  android64_ndk_api_level = 21
57*d9f75844SAndroid Build Coastguard Worker
58*d9f75844SAndroid Build Coastguard Worker  # WebRTC does not provide the gflags dependency. Because libyuv uses it only
59*d9f75844SAndroid Build Coastguard Worker  # for unittests, it can be disabled (see third_party/libyuv/BUILD.gn)
60*d9f75844SAndroid Build Coastguard Worker  libyuv_use_gflags = false
61*d9f75844SAndroid Build Coastguard Worker
62*d9f75844SAndroid Build Coastguard Worker  enable_libaom = true
63*d9f75844SAndroid Build Coastguard Worker
64*d9f75844SAndroid Build Coastguard Worker  gtest_enable_absl_printers = true
65*d9f75844SAndroid Build Coastguard Worker
66*d9f75844SAndroid Build Coastguard Worker  # Differently from Chromium, WebRTC still support SDK 21.
67*d9f75844SAndroid Build Coastguard Worker  default_min_sdk_version = 21
68*d9f75844SAndroid Build Coastguard Worker
69*d9f75844SAndroid Build Coastguard Worker  # Prevent jsoncpp to pass -Wno-deprecated-declarations to users
70*d9f75844SAndroid Build Coastguard Worker  jsoncpp_no_deprecated_declarations = false
71*d9f75844SAndroid Build Coastguard Worker
72*d9f75844SAndroid Build Coastguard Worker  # Fixes the abi-revision issue.
73*d9f75844SAndroid Build Coastguard Worker  # TODO(https://bugs.webrtc.org/14437):  Remove this section if general
74*d9f75844SAndroid Build Coastguard Worker  # Chromium fix resolves the problem.
75*d9f75844SAndroid Build Coastguard Worker  fuchsia_sdk_readelf_exec =
76*d9f75844SAndroid Build Coastguard Worker      "//third_party/llvm-build/Release+Asserts/bin/llvm-readelf"
77*d9f75844SAndroid Build Coastguard Worker  fuchsia_target_api_level = 9
78*d9f75844SAndroid Build Coastguard Worker}
79