• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2014 The Chromium 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
5import("//build/toolchain/clang.gni")
6import("//build/toolchain/gcc_toolchain.gni")
7
8declare_args() {
9  # The CrOS build system supports many different kinds of targets across
10  # many different architectures. Bringing your own toolchain is also supported,
11  # so it's actually impossible to enumerate all toolchains for all targets
12  # as GN toolchain specifications.
13  # These arguments provide a mechanism for specifying your CC, CXX and AR at
14  # buildfile-generation time, allowing the CrOS build system to always use
15  # the right tools for the current target.
16  cros_target_cc = ""
17  cros_target_cxx = ""
18  cros_target_ar = ""
19}
20
21gcc_toolchain("target") {
22  assert(cros_target_cc != "", "Must provide target CC.")
23  assert(cros_target_cxx != "", "Must provide target CXX.")
24  assert(cros_target_ar != "", "Must provide target AR.")
25
26  cc = "${cros_target_cc}"
27  cxx = "${cros_target_cxx}"
28
29  ar = "${cros_target_ar}"
30  ld = cxx
31
32  toolchain_cpu_arch = "${cpu_arch}"
33  toolchain_os = "linux"
34  is_clang = is_clang
35}
36