blob: 807c0a16859f4203193761df3fdbe4bca7ea2473 [file] [log] [blame]
Henrik Kjellander41177752015-04-09 15:36:28 +02001# Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
2#
3# Use of this source code is governed by a BSD-style license
4# that can be found in the LICENSE file in the root of the source
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS. All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
8
kjellanderad6f6462016-11-29 06:35:14 -08009import("//build/dotfile_settings.gni")
10
Henrik Kjellander41177752015-04-09 15:36:28 +020011# The location of the build configuration file.
12buildconfig = "//build/config/BUILDCONFIG.gn"
13
14# The secondary source root is a parallel directory tree where
15# GN build files are placed when they can not be placed directly
16# in the source tree, e.g. for third party source trees.
17secondary_source = "//build/secondary/"
18
19# These are the targets to check headers for by default. The files in targets
20# matching these patterns (see "gn help label_pattern" for format) will have
21# their includes checked for proper dependencies when you run either
22# "gn check" or "gn gen --check".
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020023check_targets = [
Patrik Höglund3e113432017-12-15 14:40:10 +010024 ":webrtc_common",
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020025 "//api/*",
26 "//audio/*",
27 "//backup/*",
28 "//call/*",
29 "//common_audio/*",
30 "//common_video/*",
Mirko Bonadeicbaaaed2018-02-19 15:14:04 +010031 "//examples/*",
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020032 "//logging/*",
33 "//media/*",
34 "//modules/*",
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020035 "//p2p/*",
36 "//pc/*",
37 "//rtc_base/*",
38 "//rtc_tools/*",
Kári Tristan Helgason99bf77c2018-02-16 10:49:22 +010039 "//sdk/*",
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020040 "//stats/*",
41 "//system_wrappers/*",
42 "//test/*",
43 "//video/*",
Mirko Bonadei1bc1ec42018-02-09 07:47:30 +010044 "//third_party/libyuv/*",
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020045]
Henrik Kjellander41177752015-04-09 15:36:28 +020046
47# These are the list of GN files that run exec_script. This whitelist exists
48# to force additional review for new uses of exec_script, which is strongly
49# discouraged except for gypi_to_gn calls.
oprypin370c6d52017-09-11 11:38:48 -070050exec_script_whitelist = build_dotfile_settings.exec_script_whitelist +
51 [ "//build_overrides/build.gni" ]
mbonadei96606272017-03-03 19:41:59 -080052
53default_args = {
54 # Webrtc does not support component builds because we are not using the
55 # template "component" but we rely directly on "rtc_static_library" and
56 # "rtc_shared_library". This means that we cannot use the chromium default
57 # value for this argument.
58 # This also means that the user can override this value using --args or
59 # the args.gn file but this setting will be ignored because we don't support
60 # component builds.
61 is_component_build = false
erikchen0ff78002017-07-13 09:03:13 -070062
kjellanderec2c93e2017-09-08 10:52:17 -070063 mac_sdk_min = "10.12"
oprypin28104eb2017-08-02 01:26:18 -070064
Kári Tristan Helgasonffe93762019-03-07 13:14:32 +010065 ios_deployment_target = "10.0"
Oleh Prypinceec4d02017-11-28 18:47:21 +010066
Mirko Bonadei81ed7e52018-01-18 17:24:43 +010067 # The SDK API level, in contrast, is set by build/android/AndroidManifest.xml.
68 android32_ndk_api_level = 16
69 android64_ndk_api_level = 21
70
oprypinfbbba3f2017-09-25 08:34:41 -070071 # WebRTC does not provide the gflags dependency. Because libyuv uses it only
72 # for unittests, it can be disabled (see third_party/libyuv/BUILD.gn)
73 libyuv_use_gflags = false
Mirko Bonadei42369912018-06-25 15:52:42 +020074
Danil Chapovalov560e87a2020-03-17 15:56:20 +010075 enable_libaom = true
Danil Chapovalovc46385c2020-03-11 10:45:57 +010076
Mirko Bonadeidb7ea8c2018-08-13 08:52:42 +020077 gtest_enable_absl_printers = true
mbonadei96606272017-03-03 19:41:59 -080078}