prysm-pulse/tools/cross-toolchain/prysm_toolchains.bzl

41 lines
1.4 KiB
Python
Raw Normal View History

def _pryms_toolchains_impl(ctx):
ctx.template(
"BUILD.bazel",
ctx.attr._build_tpl,
)
ctx.template(
"cc_toolchain_config_linux_arm64.bzl",
ctx.attr._cc_toolchain_config_linux_arm_tpl,
)
ctx.template(
"cc_toolchain_config_osx.bzl",
ctx.attr._cc_toolchain_config_osx_tpl,
)
ctx.template(
"cc_toolchain_config_windows.bzl",
ctx.attr._cc_toolchain_config_windows_tpl,
)
prysm_toolchains = repository_rule(
implementation = _pryms_toolchains_impl,
attrs = {
"_build_tpl": attr.label(
default = "@prysm//tools/cross-toolchain:cc_toolchain.BUILD.bazel.tpl",
),
"_cc_toolchain_config_linux_arm_tpl": attr.label(
default = "@prysm//tools/cross-toolchain:cc_toolchain_config_linux_arm64.bzl.tpl",
),
"_cc_toolchain_config_osx_tpl": attr.label(
default = "@prysm//tools/cross-toolchain:cc_toolchain_config_osx.bzl.tpl",
),
"_cc_toolchain_config_windows_tpl": attr.label(
default = "@prysm//tools/cross-toolchain:cc_toolchain_config_windows.bzl.tpl",
),
},
doc = "Configures Prysm custom toolchains for cross compilation and remote build execution.",
)
def configure_prysm_toolchains():
prysm_toolchains(name = "prysm_toolchains")
native.register_toolchains("@prysm_toolchains//:cc-toolchain-multiarch")