# Copyright 2020 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.

# Each toolchain must define "stamp" and "copy" tools,
# but they are always the same in every toolchain.
stamp_command = "touch {{output}}"
stamp_description = "STAMP {{output}}"

copy_command = rebase_path("//build/toolchain/copy_command.sh", root_build_dir)
if (host_os == "mac") {
  copy_command += " --python-exe=" + rebase_path(python_exe_src, root_build_dir)
}

copy_command += " {{source}} {{output}}"
copy_description = "COPY {{source}} {{output}}"
