# Copyright 2018 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/basic_toolchain.gni")

# Define a toolchain to build the Zircon sysroot.
basic_toolchain("sysroot_toolchain") {
  # As a special case, it is necesssary to perform variant selection
  # for the user.libc_$cpu toolchain, within the context of sysroot_toolchain.
  # This happens in //zircon/system/ulib/c/libc_toolchain.gni
  # To make this work, it is necessary to pass the select_variant_canonical
  # global variable to the new toolchain instance.
  _select_variant_canonical = select_variant_canonical
  toolchain_args = {
    select_variant_canonical = []
    select_variant_canonical = _select_variant_canonical
  }
}
