| # 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), |
| ] |
| } |
| } |