Index: build/toolchain/nacl_toolchain.gni |
diff --git a/build/toolchain/nacl_toolchain.gni b/build/toolchain/nacl_toolchain.gni |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8c0c36db0d3b6e8e9ef9dc4fea88f172e712badd |
--- /dev/null |
+++ b/build/toolchain/nacl_toolchain.gni |
@@ -0,0 +1,52 @@ |
+# Copyright (c) 2014 The Native Client Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+import("//build/toolchain/gcc_toolchain.gni") |
+ |
+# This template defines a NaCl toolchain. |
+# |
+# It requires the following variables specifying the executables to run: |
+# - cc |
+# - cxx |
+# - ar |
+# - ld |
+# and the following which is used in the toolchain_args |
+# - toolchain_cpu (What "current_cpu" should be set to when invoking a |
+# build using this toolchain.) |
+ |
+template("nacl_toolchain") { |
+ assert(defined(invoker.cc), "nacl_toolchain() must specify a \"cc\" value") |
+ assert(defined(invoker.cxx), "nacl_toolchain() must specify a \"cxx\" value") |
+ assert(defined(invoker.ar), "nacl_toolchain() must specify a \"ar\" value") |
+ assert(defined(invoker.ld), "nacl_toolchain() must specify a \"ld\" value") |
+ assert(defined(invoker.toolchain_cpu), |
+ "nacl_toolchain() must specify a \"toolchain_cpu\"") |
+ gcc_toolchain(target_name) { |
+ toolchain_os = "nacl" |
+ |
+ if (defined(invoker.executable_extension)) { |
+ executable_extension = invoker.executable_extension |
+ } else { |
+ executable_extension = ".nexe" |
+ } |
+ |
+ forward_variables_from(invoker, |
+ [ |
+ "ar", |
+ "cc", |
+ "cxx", |
+ "deps", |
+ "is_clang", |
+ "ld", |
+ "link_outputs", |
+ "postlink", |
+ "toolchain_cpu", |
+ ]) |
+ |
+ # We do not suport component builds or sanitizers with the NaCl toolchains. |
+ is_component_build = false |
+ |
+ rebuild_define = "NACL_TC_REV=" + invoker.toolchain_revision |
+ } |
+} |