1# Copyright 2016 The LibYuv 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 9# Variable that can be used to support multiple build scenarios, like having 10# Chromium specific targets in a client project's GN file etc. 11build_with_chromium = false 12 13# Some non-Chromium builds don't support building java targets. 14enable_java_templates = true 15 16# Allow using custom suppressions files (currently not used by libyuv). 17asan_suppressions_file = "//build/sanitizers/asan_suppressions.cc" 18lsan_suppressions_file = "//build/sanitizers/lsan_suppressions.cc" 19tsan_suppressions_file = "//build/sanitizers/tsan_suppressions.cc" 20 21msan_blacklist_path = 22 rebase_path("//tools_libyuv/msan/blacklist.txt", root_build_dir) 23ubsan_blacklist_path = 24 rebase_path("//tools_libyuv/ubsan/blacklist.txt", root_build_dir) 25ubsan_vptr_blacklist_path = 26 rebase_path("//tools_libyuv/ubsan/vptr_blacklist.txt", root_build_dir) 27 28# For Chromium, Android 32-bit non-component, non-clang builds hit a 4GiB size 29# limit, making them requiring symbol_level=2. WebRTC doesn't hit that problem 30# so we just ignore that assert. See https://crbug.com/648948 for more info. 31ignore_elf32_limitations = true 32 33# Use bundled hermetic Xcode installation maintained by Chromium, 34# except for local iOS builds where it is unsupported. 35if (host_os == "mac") { 36 _result = exec_script("//build/mac/should_use_hermetic_xcode.py", 37 [ target_os ], 38 "value") 39 assert(_result != 2, 40 "Do not allow building targets with the default" + 41 "hermetic toolchain if the minimum OS version is not met.") 42 use_system_xcode = _result == 0 43} 44 45declare_args() { 46 # Tracing support requires //third_party/perfetto. 47 enable_base_tracing = false 48 use_perfetto_client_library = false 49 50 # Limits the defined //third_party/android_deps targets to only "buildCompile" 51 # and "buildCompileNoDeps" targets. This is useful for third-party 52 # repositories which do not use JUnit tests. For instance, 53 # limit_android_deps == true removes "gn gen" requirement for 54 # //third_party/robolectric . 55 limit_android_deps = false 56 57 # Allows googletest to pretty-print various absl types. 58 # Defined here rather than in gtest.gni to match chromium. 59 gtest_enable_absl_printers = true 60} 61