1*6777b538SAndroid Build Coastguard Worker# Copyright 2017 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Workerimport("//build/toolchain/gcc_toolchain.gni") 6*6777b538SAndroid Build Coastguard Worker 7*6777b538SAndroid Build Coastguard Worker# Fuchsia builds using the Clang toolchain, with most parameters common across 8*6777b538SAndroid Build Coastguard Worker# the different target architectures. 9*6777b538SAndroid Build Coastguard Workertemplate("fuchsia_clang_toolchain") { 10*6777b538SAndroid Build Coastguard Worker clang_toolchain(target_name) { 11*6777b538SAndroid Build Coastguard Worker assert(host_os == "linux" || host_os == "mac") 12*6777b538SAndroid Build Coastguard Worker assert(defined(invoker.toolchain_args), 13*6777b538SAndroid Build Coastguard Worker "toolchain_args must be defined for fuchsia_clang_toolchain()") 14*6777b538SAndroid Build Coastguard Worker 15*6777b538SAndroid Build Coastguard Worker # While we want use stripped binaries on the device, we need to retain the 16*6777b538SAndroid Build Coastguard Worker # unstripped binaries in runtime_deps to make them available for the test 17*6777b538SAndroid Build Coastguard Worker # isolates to enable symbolizing on bots. 18*6777b538SAndroid Build Coastguard Worker strip = rebase_path("${clang_base_path}/bin/llvm-strip", root_build_dir) 19*6777b538SAndroid Build Coastguard Worker use_unstripped_as_runtime_outputs = true 20*6777b538SAndroid Build Coastguard Worker 21*6777b538SAndroid Build Coastguard Worker default_shlib_subdir = "/lib" 22*6777b538SAndroid Build Coastguard Worker 23*6777b538SAndroid Build Coastguard Worker toolchain_args = invoker.toolchain_args 24*6777b538SAndroid Build Coastguard Worker toolchain_args.current_os = "fuchsia" 25*6777b538SAndroid Build Coastguard Worker } 26*6777b538SAndroid Build Coastguard Worker} 27*6777b538SAndroid Build Coastguard Worker 28*6777b538SAndroid Build Coastguard Workerfuchsia_clang_toolchain("x64") { 29*6777b538SAndroid Build Coastguard Worker toolchain_args = { 30*6777b538SAndroid Build Coastguard Worker current_cpu = "x64" 31*6777b538SAndroid Build Coastguard Worker } 32*6777b538SAndroid Build Coastguard Worker} 33*6777b538SAndroid Build Coastguard Worker 34*6777b538SAndroid Build Coastguard Workerfuchsia_clang_toolchain("arm64") { 35*6777b538SAndroid Build Coastguard Worker toolchain_args = { 36*6777b538SAndroid Build Coastguard Worker current_cpu = "arm64" 37*6777b538SAndroid Build Coastguard Worker } 38*6777b538SAndroid Build Coastguard Worker} 39