# Creates a symlink (or, on Windows, copies).
# Args:
#   source: Path to link to.
#   output: Where to create the symlink.
template("symlink_or_copy") {
  action(target_name) {
    forward_variables_from(invoker, [ "deps" ])

    # Make a stamp file the output to work around
    # https://github.com/ninja-build/ninja/issues/1186
    stamp =
        "$target_gen_dir/" + get_path_info(invoker.output, "file") + ".stamp"
    outputs = [
      stamp,
    ]
    script = "//llvm/utils/gn/build/symlink_or_copy.py"
    args = [
      "--stamp",
      rebase_path(stamp, root_build_dir),
      invoker.source,
      rebase_path(invoker.output, root_build_dir),
    ]
  }
}
