brintos

brintos / llvm-project-archived public Read only

0
0
Text · 889 B · 0108742 Raw
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