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")