blob: cfa795870aeaa735a996a971ebc26e854e4ea44f [file] [log] [blame]
# 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 stadalone 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/"
lsan_suppressions_file = "//tools_webrtc/sanitizers/"
tsan_suppressions_file = "//tools_webrtc/sanitizers/"
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 for more info.
ignore_elf32_limitations = 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/",
[ target_os ],
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
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