summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/build_overrides
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
commit43a97878ce14b72f0981164f87f2e35e14151312 (patch)
tree620249daf56c0258faa40cbdcf9cfba06de2a846 /third_party/libwebrtc/build_overrides
parentInitial commit. (diff)
downloadfirefox-upstream.tar.xz
firefox-upstream.zip
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/libwebrtc/build_overrides')
-rw-r--r--third_party/libwebrtc/build_overrides/OWNERS1
-rw-r--r--third_party/libwebrtc/build_overrides/README.md7
-rw-r--r--third_party/libwebrtc/build_overrides/build.gni69
-rw-r--r--third_party/libwebrtc/build_overrides/gtest.gni19
4 files changed, 96 insertions, 0 deletions
diff --git a/third_party/libwebrtc/build_overrides/OWNERS b/third_party/libwebrtc/build_overrides/OWNERS
new file mode 100644
index 0000000000..48e6927746
--- /dev/null
+++ b/third_party/libwebrtc/build_overrides/OWNERS
@@ -0,0 +1 @@
+mbonadei@webrtc.org
diff --git a/third_party/libwebrtc/build_overrides/README.md b/third_party/libwebrtc/build_overrides/README.md
new file mode 100644
index 0000000000..906136e50e
--- /dev/null
+++ b/third_party/libwebrtc/build_overrides/README.md
@@ -0,0 +1,7 @@
+# Build overrides in GN
+
+This directory is used to allow us to customize variables that differ between
+WebRTC being built as standalone and as a part of Chromium.
+
+There's another build_overrides in Chromium that needs to contain the same
+set of files with the same set of variables (but with different values).
diff --git a/third_party/libwebrtc/build_overrides/build.gni b/third_party/libwebrtc/build_overrides/build.gni
new file mode 100644
index 0000000000..e662c94ece
--- /dev/null
+++ b/third_party/libwebrtc/build_overrides/build.gni
@@ -0,0 +1,69 @@
+# 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
+
+# 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
+
+# WebRTC checks out google_benchmark by default since it is always used.
+checkout_google_benchmark = true
+
+# 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
+
+# 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
+}
+
+use_system_xcode = false
+xcode_version = "10.15"
+mac_xcode_version = "default"
+
+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
+
+ # 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
+}
diff --git a/third_party/libwebrtc/build_overrides/gtest.gni b/third_party/libwebrtc/build_overrides/gtest.gni
new file mode 100644
index 0000000000..5b7cce746c
--- /dev/null
+++ b/third_party/libwebrtc/build_overrides/gtest.gni
@@ -0,0 +1,19 @@
+# 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.
+
+# Include support for registering main function in multi-process tests.
+gtest_include_multiprocess = true
+
+# Include support for platform-specific operations across unit tests.
+gtest_include_platform_test = true
+
+# Exclude support for testing Objective C code on OS X and iOS.
+gtest_include_objc_support = true
+
+# Exclude support for flushing coverage files on iOS.
+gtest_include_ios_coverage = true