mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2024-12-23 11:57:18 +00:00
9aaa42156b
* Upgrade Grail Bazel toolchain to latest release v0.7.2 This should allow Prysm to compile on Ubuntu 21.10 and 22.04 * Changes necessary in .bazelrc for new version of com_grail_bazel_toolchain * Add cross compilation for OSX ARM64 (Apple Silicon) * Update cross-toolchain README to include osx_arm64 * Add double quotes to shell code * Rename install_clang_cross10.sh -> install_clang_cross.sh * Update with prysmatic labs uploaded assets * Touch README to trigger CI * Revert "Touch README to trigger CI" This reverts commit 826ac8a6d8da4fe0bd8503511b00576e50861850. Co-authored-by: Raul Jordan <raul@prysmaticlabs.com> Co-authored-by: prestonvanloon <preston@prysmaticlabs.com>
103 lines
3.5 KiB
Python
103 lines
3.5 KiB
Python
load("@bazel_toolchains//rules:rbe_repo.bzl", "rbe_autoconfig")
|
|
load("@prysm//tools/cross-toolchain:configs/versions.bzl", _generated_toolchain_config_suite_autogen_spec = "TOOLCHAIN_CONFIG_AUTOGEN_SPEC")
|
|
|
|
_PRYSM_BUILD_IMAGE_REGISTRY = "gcr.io"
|
|
_PRYSM_BUILD_IMAGE_REPOSITORY = "prysmaticlabs/rbe-worker"
|
|
_PRYSM_BUILD_IMAGE_DIGEST = "sha256:9e04c71268adeb4028b4016ca8cc02d134c2e5d7e3a53fdc68154d1797bb3d70"
|
|
_PRYSM_BUILD_IMAGE_JAVA_HOME = "/usr/lib/jvm/java-8-openjdk-amd64"
|
|
_CONFIGS_OUTPUT_BASE = "tools/cross-toolchain/configs"
|
|
|
|
_CLANG_ENV = {
|
|
"BAZEL_COMPILER": "clang",
|
|
"BAZEL_LINKLIBS": "-l%:libstdc++.a",
|
|
"BAZEL_LINKOPTS": "-lm:-static-libgcc",
|
|
"BAZEL_USE_LLVM_NATIVE_COVERAGE": "1",
|
|
"GCOV": "llvm-profdata",
|
|
"CC": "clang",
|
|
"CXX": "clang++",
|
|
}
|
|
|
|
_GCC_ENV = {
|
|
"BAZEL_COMPILER": "gcc",
|
|
"BAZEL_LINKLIBS": "-l%:libstdc++.a",
|
|
"BAZEL_LINKOPTS": "-lm:-static-libgcc",
|
|
"CC": "gcc",
|
|
"CXX": "g++",
|
|
}
|
|
|
|
_TOOLCHAIN_CONFIG_SUITE_SPEC = {
|
|
"container_registry": _PRYSM_BUILD_IMAGE_REGISTRY,
|
|
"container_repo": _PRYSM_BUILD_IMAGE_REPOSITORY,
|
|
"output_base": _CONFIGS_OUTPUT_BASE,
|
|
"repo_name": "prysm",
|
|
"toolchain_config_suite_autogen_spec": _generated_toolchain_config_suite_autogen_spec,
|
|
}
|
|
|
|
def _rbe_toolchains_generator():
|
|
rbe_autoconfig(
|
|
name = "rbe_ubuntu_clang_gen",
|
|
digest = _PRYSM_BUILD_IMAGE_DIGEST,
|
|
export_configs = True,
|
|
java_home = _PRYSM_BUILD_IMAGE_JAVA_HOME,
|
|
registry = _PRYSM_BUILD_IMAGE_REGISTRY,
|
|
repository = _PRYSM_BUILD_IMAGE_REPOSITORY,
|
|
env = _CLANG_ENV,
|
|
toolchain_config_spec_name = "clang",
|
|
toolchain_config_suite_spec = _TOOLCHAIN_CONFIG_SUITE_SPEC,
|
|
use_checked_in_confs = "False",
|
|
config_repos = [
|
|
"prysm_toolchains",
|
|
],
|
|
use_legacy_platform_definition = False,
|
|
exec_compatible_with = [
|
|
"@bazel_tools//platforms:x86_64",
|
|
"@bazel_tools//platforms:linux",
|
|
"@bazel_tools//tools/cpp:clang",
|
|
],
|
|
)
|
|
|
|
rbe_autoconfig(
|
|
name = "rbe_ubuntu_gcc_gen",
|
|
digest = _PRYSM_BUILD_IMAGE_DIGEST,
|
|
export_configs = True,
|
|
java_home = _PRYSM_BUILD_IMAGE_JAVA_HOME,
|
|
registry = _PRYSM_BUILD_IMAGE_REGISTRY,
|
|
repository = _PRYSM_BUILD_IMAGE_REPOSITORY,
|
|
env = _GCC_ENV,
|
|
toolchain_config_spec_name = "gcc",
|
|
toolchain_config_suite_spec = _TOOLCHAIN_CONFIG_SUITE_SPEC,
|
|
use_checked_in_confs = "False",
|
|
config_repos = [
|
|
"prysm_toolchains",
|
|
],
|
|
use_legacy_platform_definition = False,
|
|
exec_compatible_with = [
|
|
"@bazel_tools//platforms:x86_64",
|
|
"@bazel_tools//platforms:linux",
|
|
"@bazel_tools//tools/cpp:gcc",
|
|
],
|
|
)
|
|
|
|
def _generated_rbe_toolchains():
|
|
rbe_autoconfig(
|
|
name = "rbe_ubuntu_clang",
|
|
digest = _PRYSM_BUILD_IMAGE_DIGEST,
|
|
export_configs = True,
|
|
java_home = _PRYSM_BUILD_IMAGE_JAVA_HOME,
|
|
registry = _PRYSM_BUILD_IMAGE_REGISTRY,
|
|
repository = _PRYSM_BUILD_IMAGE_REPOSITORY,
|
|
toolchain_config_spec_name = "clang",
|
|
toolchain_config_suite_spec = _TOOLCHAIN_CONFIG_SUITE_SPEC,
|
|
use_checked_in_confs = "Force",
|
|
use_legacy_platform_definition = False,
|
|
exec_compatible_with = [
|
|
"@bazel_tools//platforms:x86_64",
|
|
"@bazel_tools//platforms:linux",
|
|
"@bazel_tools//tools/cpp:clang",
|
|
],
|
|
)
|
|
|
|
def rbe_toolchains_config():
|
|
_rbe_toolchains_generator()
|
|
_generated_rbe_toolchains()
|