Index: build/toolchain/cros/BUILD.gn |
diff --git a/build/toolchain/cros/BUILD.gn b/build/toolchain/cros/BUILD.gn |
new file mode 100644 |
index 0000000000000000000000000000000000000000..140958b5b93e6870ac744decdcd5d939acfebdd6 |
--- /dev/null |
+++ b/build/toolchain/cros/BUILD.gn |
@@ -0,0 +1,35 @@ |
+# Copyright 2014 The Chromium 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/clang.gni") |
+import("//build/toolchain/gcc_toolchain.gni") |
+ |
+declare_args() { |
+ # The CrOS build system supports many different kinds of targets across |
+ # many different architectures. Bringing your own toolchain is also supported, |
+ # so it's actually impossible to enumerate all toolchains for all targets |
+ # as GN toolchain specifications. |
+ # These arguments provide a mechanism for specifying your CC, CXX and AR at |
+ # buildfile-generation time, allowing the CrOS build system to always use |
+ # the right tools for the current target. |
+ cros_target_cc = "" |
+ cros_target_cxx = "" |
+ cros_target_ar = "" |
+} |
+ |
+gcc_toolchain("target") { |
+ assert(cros_target_cc != "", "Must provide target CC.") |
+ assert(cros_target_cxx != "", "Must provide target CXX.") |
+ assert(cros_target_ar != "", "Must provide target AR.") |
+ |
+ cc = "${cros_target_cc}" |
+ cxx = "${cros_target_cxx}" |
+ |
+ ar = "${cros_target_ar}" |
+ ld = cxx |
+ |
+ toolchain_cpu = "${target_cpu}" |
+ toolchain_os = "linux" |
+ is_clang = is_clang |
+} |