| # Copyright (c) 2016 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. |
| |
| # Some non-Chromium builds don't support building java targets. |
| enable_java_templates = true |
| |
| # Enables assertions on safety checks in libc++. |
| enable_safe_libcxx = true |
| |
| # Don't set this variable to true when building standalone WebRTC, it is |
| # only needed to support both WebRTC standalone and Chromium builds. |
| build_with_chromium = false |
| |
| use_cxx17 = !is_android |
| |
| # Use our own suppressions files. |
| asan_suppressions_file = "//build/sanitizers/asan_suppressions.cc" |
| lsan_suppressions_file = "//tools_webrtc/sanitizers/lsan_suppressions_webrtc.cc" |
| tsan_suppressions_file = "//tools_webrtc/sanitizers/tsan_suppressions_webrtc.cc" |
| msan_ignorelist_path = |
| rebase_path("//tools_webrtc/msan/suppressions.txt", root_build_dir) |
| ubsan_ignorelist_path = |
| rebase_path("//tools_webrtc/ubsan/suppressions.txt", root_build_dir) |
| ubsan_vptr_ignorelist_path = |
| rebase_path("//tools_webrtc/ubsan/vptr_suppressions.txt", root_build_dir) |
| |
| # For Chromium, Android 32-bit non-component, non-clang builds hit a 4GiB size |
| # limit, making them requiring symbol_level=2. WebRTC doesn't hit that problem |
| # so we just ignore that assert. See https://crbug.com/648948 for more info. |
| ignore_elf32_limitations = true |
| |
| perfetto_build_with_embedder = true |
| enable_perfetto_trace_processor = true |
| |
| # Use bundled hermetic Xcode installation maintainted by Chromium, |
| # except for local iOS builds where it's unsupported. |
| # Allow for mac cross compile on linux machines. |
| if (host_os == "mac" || host_os == "linux") { |
| _result = exec_script("//build/mac/should_use_hermetic_xcode.py", |
| [ target_os ], |
| "value") |
| assert(_result != 2, |
| "Do not allow building targets with the default " + |
| "hermetic toolchain if the minimum OS version is not met.") |
| use_system_xcode = _result == 0 |
| } |
| |
| declare_args() { |
| # WebRTC doesn't depend on //base from production code but only for testing |
| # purposes. In any case, it doesn't depend on //third_party/perfetto which |
| # is used for base tracing, so this feature is disabled. |
| enable_base_tracing = false |
| |
| # TODO(b/336718643): Remove use_perfetto_client_library_flag. |
| use_perfetto_client_library = false |
| use_perfetto_trace_processor = false |
| |
| # Limits the defined //third_party/android_deps targets to only "buildCompile" |
| # and "buildCompileNoDeps" targets. This is useful for third-party |
| # repositories which do not use JUnit tests. For instance, |
| # limit_android_deps == true removes "gn gen" requirement for |
| # //third_party/robolectric . |
| limit_android_deps = false |
| |
| # If true, it assumes that //third_party/abseil-cpp is an available |
| # dependency for googletest. |
| gtest_enable_absl_printers = true |
| } |