build.gni 2.3 KB

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