36 lines · plain
1# This file is licensed under the Apache License v2.0 with LLVM Exceptions.2# See https://llvm.org/LICENSE.txt for license information.3# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception4 5"""Creates a copy of a binary, giving it a different basename.6 7binary_alias(8 name = "my_binary_other_name",9 binary = ":some_cc_binary",10)11"""12 13def _binary_alias_impl(ctx):14 ctx.actions.symlink(15 target_file = ctx.executable.binary,16 output = ctx.outputs.executable,17 is_executable = True,18 )19 20 return [DefaultInfo(21 executable = ctx.outputs.executable,22 runfiles = ctx.attr.binary[DefaultInfo].default_runfiles,23 )]24 25binary_alias = rule(26 _binary_alias_impl,27 attrs = {28 "binary": attr.label(29 mandatory = True,30 executable = True,31 cfg = "target",32 ),33 },34 executable = True,35)36