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:
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\"")
27 if (defined(invoker.is_clang)) {
28 is_clang = invoker.is_clang
30 if (defined(invoker.executable_extension)) {
31 executable_extension = invoker.executable_extension
33 executable_extension = ".nexe"
35 toolchain_cpu = invoker.toolchain_cpu
41 if (defined(invoker.postlink)) {
42 postlink = invoker.postlink
44 if (defined(invoker.link_outputs)) {
45 link_outputs = invoker.link_outputs
48 # We do not wish to suport shared builds with the NaCl toolchains.
49 is_component_build = false
51 gcc_toolchain(target_name) {
52 rebuild_define = "NACL_TC_REV=" + invoker.toolchain_revision
53 if (defined(invoker.deps)) {