blob: 5fb87ef2176d0b29192b0d6b09ae71e821758701 [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 Bonadei32586ea2018-02-06 13:28:07 +010031
32 # TODO(bugs.webrtc.org/8850): re-enable when 'gn check' will be fixed.
33 # "//examples/*",
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020034 "//logging/*",
35 "//media/*",
36 "//modules/*",
37 "//ortc/*",
38 "//p2p/*",
39 "//pc/*",
40 "//rtc_base/*",
41 "//rtc_tools/*",
Mirko Bonadei19052ba2018-02-06 11:43:16 +010042
43 # TODO(bugs.webrtc.org/8850): Remove "/android" to re-enable on objc.
44 "//sdk/android/*",
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020045 "//stats/*",
46 "//system_wrappers/*",
47 "//test/*",
48 "//video/*",
Mirko Bonadeidca1aee2018-02-06 11:02:11 +010049
Mirko Bonadei19052ba2018-02-06 11:43:16 +010050 # TODO(bugs.webrtc.org/8850): re-enable when libyuv 'gn check' will be fixed.
Mirko Bonadeidca1aee2018-02-06 11:02:11 +010051 # "//third_party/libyuv/*",
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020052]
Henrik Kjellander41177752015-04-09 15:36:28 +020053
54# These are the list of GN files that run exec_script. This whitelist exists
55# to force additional review for new uses of exec_script, which is strongly
56# discouraged except for gypi_to_gn calls.
oprypin370c6d52017-09-11 11:38:48 -070057exec_script_whitelist = build_dotfile_settings.exec_script_whitelist +
58 [ "//build_overrides/build.gni" ]
mbonadei96606272017-03-03 19:41:59 -080059
60default_args = {
61 # Webrtc does not support component builds because we are not using the
62 # template "component" but we rely directly on "rtc_static_library" and
63 # "rtc_shared_library". This means that we cannot use the chromium default
64 # value for this argument.
65 # This also means that the user can override this value using --args or
66 # the args.gn file but this setting will be ignored because we don't support
67 # component builds.
68 is_component_build = false
erikchen0ff78002017-07-13 09:03:13 -070069
kjellanderec2c93e2017-09-08 10:52:17 -070070 mac_sdk_min = "10.12"
oprypin28104eb2017-08-02 01:26:18 -070071
Oleh Prypinceec4d02017-11-28 18:47:21 +010072 # http://bugs.webrtc.org/8570
73 ios_deployment_target = "9.0"
74
Mirko Bonadei81ed7e52018-01-18 17:24:43 +010075 # The SDK API level, in contrast, is set by build/android/AndroidManifest.xml.
76 android32_ndk_api_level = 16
77 android64_ndk_api_level = 21
78
oprypin28104eb2017-08-02 01:26:18 -070079 # WebRTC does not want to switch to C++14 yet.
80 use_cxx11 = true
charujain474acce2017-08-25 06:21:52 -070081
82 # WebRTC relies on Chromium's Android test infrastructure.
83 use_cxx11_on_android = false
oprypinfbbba3f2017-09-25 08:34:41 -070084
85 # WebRTC does not provide the gflags dependency. Because libyuv uses it only
86 # for unittests, it can be disabled (see third_party/libyuv/BUILD.gn)
87 libyuv_use_gflags = false
mbonadei96606272017-03-03 19:41:59 -080088}