# Copyright 2019 The Fuchsia 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_toolchain.gni")

# Fuchsia builds using the Clang toolchain, with most parameters common across
# the different target architectures.
template("fuchsia_toolchain") {
  clang_toolchain(target_name) {
    assert(host_os == "linux" || host_os == "mac")
    assert(defined(invoker.toolchain_args),
           "toolchain_args must be defined for fuchsia_clang_toolchain()")

    default_shlib_subdir = "/lib"
    toolchain_args = invoker.toolchain_args
    toolchain_args.current_os = "fuchsia"

    #
    # We want to build and strip binaries, but retain the unstripped binaries
    # in runtime_deps to make them available for isolates.
    if (host_os == "linux") {
      use_strip = true
      use_unstripped_as_runtime_outputs = true
    }
  }
}

fuchsia_toolchain("x64") {
  toolchain_args = {
    current_cpu = "x64"
  }
}

fuchsia_toolchain("arm64") {
  toolchain_args = {
    current_cpu = "arm64"
  }
}
