# Copyright 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. # 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 # Enables assertions on safety checks in libc++. enable_safe_libcxx = 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 }