OLD | NEW |
(Empty) | |
| 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. |
| 4 |
| 5 import("//build/toolchain/gcc_toolchain.gni") |
| 6 |
| 7 # This template defines a NaCl toolchain. |
| 8 # |
| 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.) |
| 17 |
| 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" |
| 27 |
| 28 if (defined(invoker.executable_extension)) { |
| 29 executable_extension = invoker.executable_extension |
| 30 } else { |
| 31 executable_extension = ".nexe" |
| 32 } |
| 33 |
| 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 ]) |
| 46 |
| 47 # We do not suport component builds or sanitizers with the NaCl toolchains. |
| 48 is_component_build = false |
| 49 |
| 50 rebuild_define = "NACL_TC_REV=" + invoker.toolchain_revision |
| 51 } |
| 52 } |
OLD | NEW |