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..ab3b693a142e3f5575a46e0fd71a2aa2c3c9cc12 |
--- /dev/null |
+++ b/build/toolchain/nacl_toolchain.gni |
@@ -0,0 +1,57 @@ |
+# 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\"") |
+ |
+ toolchain_os = "nacl" |
+ if (defined(invoker.is_clang)) { |
+ is_clang = invoker.is_clang |
+ } |
+ if (defined(invoker.executable_extension)) { |
+ executable_extension = invoker.executable_extension |
+ } else { |
+ executable_extension = ".nexe" |
+ } |
+ toolchain_cpu = invoker.toolchain_cpu |
+ |
+ cc = invoker.cc |
+ cxx = invoker.cxx |
+ ar = invoker.ar |
+ ld = invoker.ld |
+ if (defined(invoker.postlink)) { |
+ postlink = invoker.postlink |
+ } |
+ if (defined(invoker.link_outputs)) { |
+ link_outputs = invoker.link_outputs |
+ } |
+ |
+ # We do not wish to suport shared builds with the NaCl toolchains. |
+ is_component_build = false |
+ |
+ gcc_toolchain(target_name) { |
+ rebuild_define = "NACL_TC_REV=" + invoker.toolchain_revision |
+ if (defined(invoker.deps)) { |
+ deps = invoker.deps |
+ } |
+ } |
+} |