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