1*4e366538SXin Li# Copyright 2016 The LibYuv Project Authors. All rights reserved. 2*4e366538SXin Li# 3*4e366538SXin Li# Use of this source code is governed by a BSD-style license 4*4e366538SXin Li# that can be found in the LICENSE file in the root of the source 5*4e366538SXin Li# tree. An additional intellectual property rights grant can be found 6*4e366538SXin Li# in the file PATENTS. All contributing project authors may 7*4e366538SXin Li# be found in the AUTHORS file in the root of the source tree. 8*4e366538SXin Li 9*4e366538SXin Li# Variable that can be used to support multiple build scenarios, like having 10*4e366538SXin Li# Chromium specific targets in a client project's GN file etc. 11*4e366538SXin Libuild_with_chromium = false 12*4e366538SXin Li 13*4e366538SXin Li# Some non-Chromium builds don't support building java targets. 14*4e366538SXin Lienable_java_templates = true 15*4e366538SXin Li 16*4e366538SXin Li# Enables assertions on safety checks in libc++. 17*4e366538SXin Lienable_safe_libcxx = true 18*4e366538SXin Li 19*4e366538SXin Li# Allow using custom suppressions files (currently not used by libyuv). 20*4e366538SXin Liasan_suppressions_file = "//build/sanitizers/asan_suppressions.cc" 21*4e366538SXin Lilsan_suppressions_file = "//build/sanitizers/lsan_suppressions.cc" 22*4e366538SXin Litsan_suppressions_file = "//build/sanitizers/tsan_suppressions.cc" 23*4e366538SXin Li 24*4e366538SXin Limsan_blacklist_path = 25*4e366538SXin Li rebase_path("//tools_libyuv/msan/blacklist.txt", root_build_dir) 26*4e366538SXin Liubsan_blacklist_path = 27*4e366538SXin Li rebase_path("//tools_libyuv/ubsan/blacklist.txt", root_build_dir) 28*4e366538SXin Liubsan_vptr_blacklist_path = 29*4e366538SXin Li rebase_path("//tools_libyuv/ubsan/vptr_blacklist.txt", root_build_dir) 30*4e366538SXin Li 31*4e366538SXin Li# For Chromium, Android 32-bit non-component, non-clang builds hit a 4GiB size 32*4e366538SXin Li# limit, making them requiring symbol_level=2. WebRTC doesn't hit that problem 33*4e366538SXin Li# so we just ignore that assert. See https://crbug.com/648948 for more info. 34*4e366538SXin Liignore_elf32_limitations = true 35*4e366538SXin Li 36*4e366538SXin Li# Use bundled hermetic Xcode installation maintained by Chromium, 37*4e366538SXin Li# except for local iOS builds where it is unsupported. 38*4e366538SXin Liif (host_os == "mac") { 39*4e366538SXin Li _result = exec_script("//build/mac/should_use_hermetic_xcode.py", 40*4e366538SXin Li [ target_os ], 41*4e366538SXin Li "value") 42*4e366538SXin Li assert(_result != 2, 43*4e366538SXin Li "Do not allow building targets with the default" + 44*4e366538SXin Li "hermetic toolchain if the minimum OS version is not met.") 45*4e366538SXin Li use_system_xcode = _result == 0 46*4e366538SXin Li} 47*4e366538SXin Li 48*4e366538SXin Lideclare_args() { 49*4e366538SXin Li # Tracing support requires //third_party/perfetto. 50*4e366538SXin Li enable_base_tracing = false 51*4e366538SXin Li use_perfetto_client_library = false 52*4e366538SXin Li 53*4e366538SXin Li # Limits the defined //third_party/android_deps targets to only "buildCompile" 54*4e366538SXin Li # and "buildCompileNoDeps" targets. This is useful for third-party 55*4e366538SXin Li # repositories which do not use JUnit tests. For instance, 56*4e366538SXin Li # limit_android_deps == true removes "gn gen" requirement for 57*4e366538SXin Li # //third_party/robolectric . 58*4e366538SXin Li limit_android_deps = false 59*4e366538SXin Li 60*4e366538SXin Li # Allows googletest to pretty-print various absl types. 61*4e366538SXin Li # Defined here rather than in gtest.gni to match chromium. 62*4e366538SXin Li gtest_enable_absl_printers = true 63*4e366538SXin Li} 64