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\"")
25 gcc_toolchain(target_name) {
28 if (defined(invoker.executable_extension)) {
29 executable_extension = invoker.executable_extension
31 executable_extension = ".nexe"
34 forward_variables_from(invoker,
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