Initial implementation of Bare Metal Mode for NaCl.
[chromium-blink-merge.git] / build / toolchain / clang.gni
blobd45ea0618a752cff1ecbb52db1a2153397a82925
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.
5 declare_args() {
6   use_clang_type_profiler = false
9 if (is_clang) {
10   # Define "make_clang_dir" which is the directory relative to the source root
11   # of the clang directory we're using. This is used for defining the header
12   # for GYP so it must match the directory format of GYP (rather than using
13   # GN-style "//..." paths).
14   if (is_linux && use_clang_type_profiler) {
15     if (cpu_arch == "x64") {
16       make_clang_dir = "third_party/llvm-allocated-type/Linux_x64"
17     } else {
18       # 32-bit Clang is unsupported. It may not build. Put your 32-bit Clang in
19       # this directory at your own risk if needed for some purpose (e.g. to
20       # compare 32-bit and 64-bit behavior like memory usage). Any failure by
21       # this compiler should not close the tree.
22       make_clang_dir = "third_party/llvm-allocated-type/Linux_ia32"
23     }
24   } else {
25     make_clang_dir = "third_party/llvm-build/Release+Asserts"
26   }
28   make_clang_global_settings =
29     "'make_global_settings': [" +
30     "['CC', '$make_clang_dir/bin/clang']," +
31     "['CXX', '$make_clang_dir/bin/clang++']," +
32     "['CC.host', '\$(CC)']," +
33     "['CXX.host', '\$(CXX)']," +
34     "],"