blob: 861a681363e7af7847de2c7d6ac2a952b8d67aee [file] [log] [blame]
# Copyright (c) 2013 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.
declare_args() {
# Enable the optional type profiler in Clang, which will tag heap allocations
# with the allocation type.
use_clang_type_profiler = false
}
if (is_clang) {
# Define "make_clang_dir" which is the directory relative to the source root
# of the clang directory we're using. This is used for defining the header
# for GYP so it must match the directory format of GYP (rather than using
# GN-style "//..." paths).
if (is_linux && use_clang_type_profiler) {
if (cpu_arch == "x64") {
make_clang_dir = "third_party/llvm-allocated-type/Linux_x64"
} else {
# 32-bit Clang is unsupported. It may not build. Put your 32-bit Clang in
# this directory at your own risk if needed for some purpose (e.g. to
# compare 32-bit and 64-bit behavior like memory usage). Any failure by
# this compiler should not close the tree.
make_clang_dir = "third_party/llvm-allocated-type/Linux_ia32"
}
} else {
make_clang_dir = "third_party/llvm-build/Release+Asserts"
}
# This includes the array values but not the 'make_global_settings' name.
make_clang_global_settings =
"['CC', '$make_clang_dir/bin/clang']," +
"['CXX', '$make_clang_dir/bin/clang++']," +
"['CC.host', '\$(CC)']," +
"['CXX.host', '\$(CXX)'],"
}