• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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