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