Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / native_client / build / toolchain / clang.gni
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 declare_args() {
6   # Enable the optional type profiler in Clang, which will tag heap allocations
7   # with the allocation type.
8   use_clang_type_profiler = false
9 }
10
11 if (is_clang) {
12   # Define "make_clang_dir" which is the directory relative to the source root
13   # of the clang directory we're using. This is used for defining the header
14   # for GYP so it must match the directory format of GYP (rather than using
15   # GN-style "//..." paths).
16   if (is_linux && use_clang_type_profiler) {
17     if (cpu_arch == "x64") {
18       make_clang_dir = "third_party/llvm-allocated-type/Linux_x64"
19     } else {
20       # 32-bit Clang is unsupported. It may not build. Put your 32-bit Clang in
21       # this directory at your own risk if needed for some purpose (e.g. to
22       # compare 32-bit and 64-bit behavior like memory usage). Any failure by
23       # this compiler should not close the tree.
24       make_clang_dir = "third_party/llvm-allocated-type/Linux_ia32"
25     }
26   } else {
27     make_clang_dir = "third_party/llvm-build/Release+Asserts"
28   }
29
30   # This includes the array values but not the 'make_global_settings' name.
31   make_clang_global_settings =
32     "['CC', '$make_clang_dir/bin/clang']," +
33     "['CXX', '$make_clang_dir/bin/clang++']," +
34     "['CC.host', '\$(CC)']," +
35     "['CXX.host', '\$(CXX)'],"
36 }