diff options
Diffstat (limited to 'media/libyuv/build_overrides')
-rw-r--r-- | media/libyuv/build_overrides/build.gni | 59 | ||||
-rw-r--r-- | media/libyuv/build_overrides/gtest.gni | 19 | ||||
-rw-r--r-- | media/libyuv/build_overrides/partition_alloc.gni | 17 |
3 files changed, 88 insertions, 7 deletions
diff --git a/media/libyuv/build_overrides/build.gni b/media/libyuv/build_overrides/build.gni index 6d3aa1ebc7..c849031338 100644 --- a/media/libyuv/build_overrides/build.gni +++ b/media/libyuv/build_overrides/build.gni @@ -6,10 +6,55 @@ # in the file PATENTS. All contributing project authors may # be found in the AUTHORS file in the root of the source tree. -# Using same overrides as WebRTC -# See https://bugs.chromium.org/p/webrtc/issues/detail?id=5453. -# Some WebRTC targets require the 10.7 deployment version of the Mac SDK and a -# 10.11 min SDK but those targets are only used in non-Chromium builds. We can -# remove this when Chromium drops 10.6 support and also requires 10.7. -mac_sdk_min_build_override = "10.11" -mac_deployment_target_build_override = "10.7" +# Variable that can be used to support multiple build scenarios, like having +# Chromium specific targets in a client project's GN file etc. +build_with_chromium = false + +# Some non-Chromium builds don't support building java targets. +enable_java_templates = true + +# Allow using custom suppressions files (currently not used by libyuv). +asan_suppressions_file = "//build/sanitizers/asan_suppressions.cc" +lsan_suppressions_file = "//build/sanitizers/lsan_suppressions.cc" +tsan_suppressions_file = "//build/sanitizers/tsan_suppressions.cc" + +msan_blacklist_path = + rebase_path("//tools_libyuv/msan/blacklist.txt", root_build_dir) +ubsan_blacklist_path = + rebase_path("//tools_libyuv/ubsan/blacklist.txt", root_build_dir) +ubsan_vptr_blacklist_path = + rebase_path("//tools_libyuv/ubsan/vptr_blacklist.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 maintained by Chromium, +# except for local iOS builds where it is unsupported. +if (host_os == "mac") { + _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() { + # Tracing support requires //third_party/perfetto. + 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 + + # Allows googletest to pretty-print various absl types. + # Defined here rather than in gtest.gni to match chromium. + gtest_enable_absl_printers = true +} diff --git a/media/libyuv/build_overrides/gtest.gni b/media/libyuv/build_overrides/gtest.gni new file mode 100644 index 0000000000..d3c3f68cef --- /dev/null +++ b/media/libyuv/build_overrides/gtest.gni @@ -0,0 +1,19 @@ +# Copyright (c) 2016 The LibYuv 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 diff --git a/media/libyuv/build_overrides/partition_alloc.gni b/media/libyuv/build_overrides/partition_alloc.gni new file mode 100644 index 0000000000..dcf8ac2d25 --- /dev/null +++ b/media/libyuv/build_overrides/partition_alloc.gni @@ -0,0 +1,17 @@ +# Copyright 2022 The LibYuv 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. + +# Use default values for PartitionAlloc as standalone library from +# base/allocator/partition_allocator/build_overrides/partition_alloc.gni +use_partition_alloc_as_malloc_default = false +use_allocator_shim_default = false +enable_backup_ref_ptr_support_default = false +enable_mte_checked_ptr_support_default = false +put_ref_count_in_previous_slot_default = false +enable_backup_ref_ptr_slow_checks_default = false +enable_dangling_raw_ptr_checks_default = false |