mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2024-12-22 03:30:35 +00:00
e2a6f5a6ea
* PRYSM-2849 first cut at multi-arch cross compiling toolchain. currently supports arm64 and amd64 via docker cross compiler image * picky linter * some readme cleanup * remove arm 8.2 revision for arm64 builds (cortex a72 is ARMv8.0-A) remove arm32 toolchain from multiarch dockerfile * remove extranous WORKSPACE entries * add docker remote execution configs for amd64 and arm64 * add osx bazelrc configs * working osx toolchain * update readme * cleanup for amd, arm and osx cross before beginning windows * initial stab at mingw windows cross * add docker target for windows_amd64 and update readme for cross-compiling * little more cleanup for readability * Check in generated RBE. Still tweaking config but linux amd64 -> linux amd64 on RBE works OK. Cross compile does not work properly in RBE yet. * fix * update image * Making some progress * delete artifacts * Working build * Add remote config * remove some things I added to README * Tidy * Update readme * remove 2 commented lines * buildifer * Merge pull request #1 from prysmaticlabs/cross-compile-with-suburbandad Cross compile with suburbandad * Merge branch 'master' into clang-cross-compile * buildifier on generated stuff * Merge branch 'master' into clang-cross-compile * Merge branch 'master' into clang-cross-compile * Merge branch 'master' into clang-cross-compile
41 lines
1.4 KiB
Python
41 lines
1.4 KiB
Python
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")
|