Henrik Kjellander | 0be9df4 | 2016-02-23 06:18:43 | [diff] [blame] | 1 | # Copyright (c) 2016 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 | |
kjellander | 6820889 | 2016-06-17 06:29:30 | [diff] [blame] | 9 | # Some non-Chromium builds don't support building java targets. |
| 10 | enable_java_templates = true |
| 11 | |
Mirko Bonadei | 6ef89e7 | 2018-11-14 08:52:53 | [diff] [blame] | 12 | # Don't set this variable to true when building stadalone WebRTC, it is |
| 13 | # only needed to support both WebRTC standalone and Chromium builds. |
kjellander | e3897ad | 2016-04-28 09:51:02 | [diff] [blame] | 14 | build_with_chromium = false |
ehmaldonado | 2df32a3 | 2016-08-24 14:46:11 | [diff] [blame] | 15 | |
Markus Handell | f70fbc8 | 2020-06-03 22:41:20 | [diff] [blame] | 16 | # WebRTC checks out google_benchmark by default since it is always used. |
| 17 | checkout_google_benchmark = true |
| 18 | |
ehmaldonado | 2df32a3 | 2016-08-24 14:46:11 | [diff] [blame] | 19 | # Use our own suppressions files. |
| 20 | asan_suppressions_file = "//build/sanitizers/asan_suppressions.cc" |
Henrik Kjellander | 90fd7d8 | 2017-05-09 06:30:10 | [diff] [blame] | 21 | lsan_suppressions_file = "//tools_webrtc/sanitizers/lsan_suppressions_webrtc.cc" |
| 22 | tsan_suppressions_file = "//tools_webrtc/sanitizers/tsan_suppressions_webrtc.cc" |
Artem Titov | c39080c | 2021-05-27 15:08:49 | [diff] [blame] | 23 | msan_ignorelist_path = |
Mirko Bonadei | 2a89320 | 2020-06-29 14:16:49 | [diff] [blame] | 24 | rebase_path("//tools_webrtc/msan/suppressions.txt", root_build_dir) |
Artem Titov | c39080c | 2021-05-27 15:08:49 | [diff] [blame] | 25 | ubsan_ignorelist_path = |
Mirko Bonadei | 2a89320 | 2020-06-29 14:16:49 | [diff] [blame] | 26 | rebase_path("//tools_webrtc/ubsan/suppressions.txt", root_build_dir) |
Artem Titov | c39080c | 2021-05-27 15:08:49 | [diff] [blame] | 27 | ubsan_vptr_ignorelist_path = |
Mirko Bonadei | 2a89320 | 2020-06-29 14:16:49 | [diff] [blame] | 28 | rebase_path("//tools_webrtc/ubsan/vptr_suppressions.txt", root_build_dir) |
ehmaldonado | 08c047e | 2016-08-31 08:55:04 | [diff] [blame] | 29 | |
kjellander | b112568 | 2016-10-26 20:38:03 | [diff] [blame] | 30 | # For Chromium, Android 32-bit non-component, non-clang builds hit a 4GiB size |
| 31 | # limit, making them requiring symbol_level=2. WebRTC doesn't hit that problem |
| 32 | # so we just ignore that assert. See https://crbug.com/648948 for more info. |
| 33 | ignore_elf32_limitations = true |
kjellander | 218f436 | 2016-11-14 07:54:24 | [diff] [blame] | 34 | |
oprypin | 370c6d5 | 2017-09-11 18:38:48 | [diff] [blame] | 35 | # Use bundled hermetic Xcode installation maintainted by Chromium, |
| 36 | # except for local iOS builds where it's unsupported. |
Andrey Logvin | bccfd26 | 2021-03-08 19:12:20 | [diff] [blame] | 37 | # Allow for mac cross compile on linux machines. |
| 38 | if (host_os == "mac" || host_os == "linux") { |
oprypin | 370c6d5 | 2017-09-11 18:38:48 | [diff] [blame] | 39 | _result = exec_script("//build/mac/should_use_hermetic_xcode.py", |
| 40 | [ target_os ], |
| 41 | "value") |
Mirko Bonadei | e07d3b4 | 2019-03-14 15:37:19 | [diff] [blame] | 42 | assert(_result != 2, |
| 43 | "Do not allow building targets with the default " + |
| 44 | "hermetic toolchain if the minimum OS version is not met.") |
| 45 | use_system_xcode = _result == 0 |
oprypin | 370c6d5 | 2017-09-11 18:38:48 | [diff] [blame] | 46 | } |
Jeremy Leconte | b19cfee | 2020-06-25 20:57:49 | [diff] [blame] | 47 | |
| 48 | declare_args() { |
| 49 | # WebRTC doesn't depend on //base from production code but only for testing |
| 50 | # purposes. In any case, it doesn't depend on //third_party/perfetto which |
| 51 | # is used for base tracing, so this feature is disabled. |
| 52 | enable_base_tracing = false |
Courtney Edwards | e3f70cd | 2020-07-22 09:03:45 | [diff] [blame] | 53 | use_perfetto_client_library = false |
Jeremy Leconte | f4b956c | 2020-06-29 07:58:17 | [diff] [blame] | 54 | |
Mirko Bonadei | 8093935 | 2021-04-12 17:03:37 | [diff] [blame] | 55 | # Limits the defined //third_party/android_deps targets to only "buildCompile" |
| 56 | # and "buildCompileNoDeps" targets. This is useful for third-party |
| 57 | # repositories which do not use JUnit tests. For instance, |
| 58 | # limit_android_deps == true removes "gn gen" requirement for |
| 59 | # //third_party/robolectric . |
| 60 | limit_android_deps = false |
| 61 | |
Jeremy Leconte | f4b956c | 2020-06-29 07:58:17 | [diff] [blame] | 62 | # If true, it assumes that //third_party/abseil-cpp is an available |
| 63 | # dependency for googletest. |
| 64 | gtest_enable_absl_printers = true |
Jeremy Leconte | b19cfee | 2020-06-25 20:57:49 | [diff] [blame] | 65 | } |