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