github.com/prysmaticlabs/prysm@v1.4.4/tools/cross-toolchain/rbe_toolchains_config.bzl (about) 1 load("@bazel_toolchains//rules:rbe_repo.bzl", "rbe_autoconfig") 2 load("@prysm//tools/cross-toolchain:configs/versions.bzl", _generated_toolchain_config_suite_autogen_spec = "TOOLCHAIN_CONFIG_AUTOGEN_SPEC") 3 4 _PRYSM_BUILD_IMAGE_REGISTRY = "gcr.io" 5 _PRYSM_BUILD_IMAGE_REPOSITORY = "prysmaticlabs/rbe-worker" 6 _PRYSM_BUILD_IMAGE_DIGEST = "sha256:bd40e9a43b983c8b06079d14a0530100d6e1d59796616ca1d8b3902a197c97b1" 7 _PRYSM_BUILD_IMAGE_JAVA_HOME = "/usr/lib/jvm/java-8-openjdk-amd64" 8 _CONFIGS_OUTPUT_BASE = "tools/cross-toolchain/configs" 9 10 _CLANG_ENV = { 11 "BAZEL_COMPILER": "clang", 12 "BAZEL_LINKLIBS": "-l%:libstdc++.a", 13 "BAZEL_LINKOPTS": "-lm:-static-libgcc", 14 "BAZEL_USE_LLVM_NATIVE_COVERAGE": "1", 15 "GCOV": "llvm-profdata", 16 "CC": "clang", 17 "CXX": "clang++", 18 } 19 20 _GCC_ENV = { 21 "BAZEL_COMPILER": "gcc", 22 "BAZEL_LINKLIBS": "-l%:libstdc++.a", 23 "BAZEL_LINKOPTS": "-lm:-static-libgcc", 24 "CC": "gcc", 25 "CXX": "g++", 26 } 27 28 _TOOLCHAIN_CONFIG_SUITE_SPEC = { 29 "container_registry": _PRYSM_BUILD_IMAGE_REGISTRY, 30 "container_repo": _PRYSM_BUILD_IMAGE_REPOSITORY, 31 "output_base": _CONFIGS_OUTPUT_BASE, 32 "repo_name": "prysm", 33 "toolchain_config_suite_autogen_spec": _generated_toolchain_config_suite_autogen_spec, 34 } 35 36 def _rbe_toolchains_generator(): 37 rbe_autoconfig( 38 name = "rbe_ubuntu_clang_gen", 39 digest = _PRYSM_BUILD_IMAGE_DIGEST, 40 export_configs = True, 41 java_home = _PRYSM_BUILD_IMAGE_JAVA_HOME, 42 registry = _PRYSM_BUILD_IMAGE_REGISTRY, 43 repository = _PRYSM_BUILD_IMAGE_REPOSITORY, 44 env = _CLANG_ENV, 45 toolchain_config_spec_name = "clang", 46 toolchain_config_suite_spec = _TOOLCHAIN_CONFIG_SUITE_SPEC, 47 use_checked_in_confs = "False", 48 config_repos = [ 49 "prysm_toolchains", 50 ], 51 use_legacy_platform_definition = False, 52 exec_compatible_with = [ 53 "@bazel_tools//platforms:x86_64", 54 "@bazel_tools//platforms:linux", 55 "@bazel_tools//tools/cpp:clang", 56 ], 57 ) 58 59 rbe_autoconfig( 60 name = "rbe_ubuntu_gcc_gen", 61 digest = _PRYSM_BUILD_IMAGE_DIGEST, 62 export_configs = True, 63 java_home = _PRYSM_BUILD_IMAGE_JAVA_HOME, 64 registry = _PRYSM_BUILD_IMAGE_REGISTRY, 65 repository = _PRYSM_BUILD_IMAGE_REPOSITORY, 66 env = _GCC_ENV, 67 toolchain_config_spec_name = "gcc", 68 toolchain_config_suite_spec = _TOOLCHAIN_CONFIG_SUITE_SPEC, 69 use_checked_in_confs = "False", 70 config_repos = [ 71 "prysm_toolchains", 72 ], 73 use_legacy_platform_definition = False, 74 exec_compatible_with = [ 75 "@bazel_tools//platforms:x86_64", 76 "@bazel_tools//platforms:linux", 77 "@bazel_tools//tools/cpp:gcc", 78 ], 79 ) 80 81 def _generated_rbe_toolchains(): 82 rbe_autoconfig( 83 name = "rbe_ubuntu_clang", 84 digest = _PRYSM_BUILD_IMAGE_DIGEST, 85 export_configs = True, 86 java_home = _PRYSM_BUILD_IMAGE_JAVA_HOME, 87 registry = _PRYSM_BUILD_IMAGE_REGISTRY, 88 repository = _PRYSM_BUILD_IMAGE_REPOSITORY, 89 toolchain_config_spec_name = "clang", 90 toolchain_config_suite_spec = _TOOLCHAIN_CONFIG_SUITE_SPEC, 91 use_checked_in_confs = "Force", 92 use_legacy_platform_definition = False, 93 exec_compatible_with = [ 94 "@bazel_tools//platforms:x86_64", 95 "@bazel_tools//platforms:linux", 96 "@bazel_tools//tools/cpp:clang", 97 ], 98 ) 99 100 def rbe_toolchains_config(): 101 _rbe_toolchains_generator() 102 _generated_rbe_toolchains()