1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00
llvm-mirror/utils/gn/build/symlink_or_copy.gni
Nico Weber 4635e976e8 [gn build] Add infrastructure to create symlinks and use it to create lld's symlinks
This is slightly involved, see the comments in the code.

The GN build now builds a functional lld!

Differential Revision: https://reviews.llvm.org/D55606

llvm-svn: 349096
2018-12-14 00:16:33 +00:00

25 lines
666 B
Plaintext

# 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_out_dir),
invoker.source,
rebase_path(invoker.output, root_out_dir),
]
}
}