github.com/prysmaticlabs/prysm@v1.4.4/tools/cross-toolchain/prysm_toolchains.bzl (about)

     1  def _pryms_toolchains_impl(ctx):
     2      ctx.template(
     3          "BUILD.bazel",
     4          ctx.attr._build_tpl,
     5      )
     6      ctx.template(
     7          "cc_toolchain_config_linux_arm64.bzl",
     8          ctx.attr._cc_toolchain_config_linux_arm_tpl,
     9      )
    10      ctx.template(
    11          "cc_toolchain_config_osx.bzl",
    12          ctx.attr._cc_toolchain_config_osx_tpl,
    13      )
    14      ctx.template(
    15          "cc_toolchain_config_windows.bzl",
    16          ctx.attr._cc_toolchain_config_windows_tpl,
    17      )
    18  
    19  prysm_toolchains = repository_rule(
    20      implementation = _pryms_toolchains_impl,
    21      attrs = {
    22          "_build_tpl": attr.label(
    23              default = "@prysm//tools/cross-toolchain:cc_toolchain.BUILD.bazel.tpl",
    24          ),
    25          "_cc_toolchain_config_linux_arm_tpl": attr.label(
    26              default = "@prysm//tools/cross-toolchain:cc_toolchain_config_linux_arm64.bzl.tpl",
    27          ),
    28          "_cc_toolchain_config_osx_tpl": attr.label(
    29              default = "@prysm//tools/cross-toolchain:cc_toolchain_config_osx.bzl.tpl",
    30          ),
    31          "_cc_toolchain_config_windows_tpl": attr.label(
    32              default = "@prysm//tools/cross-toolchain:cc_toolchain_config_windows.bzl.tpl",
    33          ),
    34      },
    35      doc = "Configures Prysm custom toolchains for cross compilation and remote build execution.",
    36  )
    37  
    38  def configure_prysm_toolchains():
    39      prysm_toolchains(name = "prysm_toolchains")
    40      native.register_toolchains("@prysm_toolchains//:cc-toolchain-multiarch")