blob: 09bab2563bf2d0d498d71fcd705a92f2953c9746 [file] [log] [blame]
# Copyright 2016 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/gclient_args.gni")
# Uncomment these to specify a different NDK location and version in
# non-Chromium builds.
# default_android_ndk_root = "//third_party/android_ndk"
# default_android_ndk_version = "r10e"
# Some non-Chromium builds don't support building java targets.
enable_java_templates = true
# Features used by //base/trace_event and //services/tracing.
declare_args() {
# Tracing support requires //third_party/perfetto, which is not available in
# libchrome (CrOS's version of //base). This flag can disable tracing support
# altogether, in which case all tracing instrumentation in //base becomes a
# no-op.
# TODO(crbug/1065905): Add dependency on perfetto to support typed events.
enable_base_tracing = true
# Switches the TRACE_EVENT instrumentation from base's TraceLog implementation
# to //third_party/perfetto's client library. Not implemented yet, currently a
# no-op to set up trybot infrastructure.
# TODO(crbug/1006769): Switch to perfetto's client library.
use_perfetto_client_library = false
# Allows googletest to pretty-print various absl types. Disabled for nacl due
# to lack of toolchain support.
gtest_enable_absl_printers = !is_nacl
}
# Allows different projects to specify their own suppression/ignore lists for
# sanitizer tools.
# asan_suppressions_file = "path/to/asan_suppressions.cc"
# asan_blacklist_path = "path/to/asan/blacklist.txt"
# asan_win_blacklist_path = "path/to/asan/blacklist_win.txt"
# lsan_suppressions_file = "path/to/lsan_suppressions.cc"
# tsan_suppressions_file = "path/to/tsan_suppressions.cc"
# tsan_blacklist_path = "path/to/tsan/ignores.txt"
# msan_blacklist_path = "path/to/msan/blacklist.txt"
# ubsan_blacklist_path = "path/to/ubsan/blacklist.txt"
# ubsan_vptr_blacklist_path = "path/to/ubsan/vptr_blacklist.txt"
# ubsan_security_blacklist_path = "path/to/ubsan/security_blacklist.txt"
# cfi_blacklist_path = "path/to/cfi/ignores.txt"
declare_args() {
# Android 32-bit non-component, non-clang builds cannot have symbol_level=2
# due to 4GiB file size limit, see https://crbug.com/648948.
# Set this flag to true to skip the assertion.
ignore_elf32_limitations = false
# Use the system install of Xcode for tools like ibtool, libtool, etc.
# This does not affect the compiler. When this variable is false, targets will
# instead use a hermetic install of Xcode. [The hermetic install can be
# obtained with gclient sync after setting the environment variable
# FORCE_MAC_TOOLCHAIN for target_os mac only].
use_system_xcode = ""
}
if (is_apple && use_system_xcode == "") {
_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.")
assert(_result != 3,
"iOS does not support building with a hermetic toolchain. " +
"Please install Xcode.")
use_system_xcode = _result != 1
assert(host_os == "mac" || !use_system_xcode)
}