Roll src/third_party/WebKit a3b4a2e:7441784 (svn 202551:202552)
[chromium-blink-merge.git] / build / toolchain / nacl_toolchain.gni
blobd9ab77d23a5068ea6b38669c16227add0293facf
1 # Copyright (c) 2014 The Native Client 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 import("//build/toolchain/gcc_toolchain.gni")
7 # This template defines a NaCl toolchain.
9 # It requires the following variables specifying the executables to run:
10 #  - cc
11 #  - cxx
12 #  - ar
13 #  - ld
14 # and the following which is used in the toolchain_args
15 #  - toolchain_cpu  (What "current_cpu" should be set to when invoking a
16 #                    build using this toolchain.)
18 template("nacl_toolchain") {
19   assert(defined(invoker.cc), "nacl_toolchain() must specify a \"cc\" value")
20   assert(defined(invoker.cxx), "nacl_toolchain() must specify a \"cxx\" value")
21   assert(defined(invoker.ar), "nacl_toolchain() must specify a \"ar\" value")
22   assert(defined(invoker.ld), "nacl_toolchain() must specify a \"ld\" value")
23   assert(defined(invoker.toolchain_cpu),
24          "nacl_toolchain() must specify a \"toolchain_cpu\"")
25   gcc_toolchain(target_name) {
26     toolchain_os = "nacl"
28     if (defined(invoker.executable_extension)) {
29       executable_extension = invoker.executable_extension
30     } else {
31       executable_extension = ".nexe"
32     }
34     forward_variables_from(invoker,
35                            [
36                              "ar",
37                              "cc",
38                              "cxx",
39                              "deps",
40                              "is_clang",
41                              "ld",
42                              "link_outputs",
43                              "postlink",
44                              "toolchain_cpu",
45                            ])
47     # We do not suport component builds or sanitizers with the NaCl toolchains.
48     is_component_build = false
49     clear_sanitizers = true
51     rebuild_define = "NACL_TC_REV=" + invoker.toolchain_revision
52   }