github.com/prysmaticlabs/prysm@v1.4.4/tools/cross-toolchain/cc_toolchain.BUILD.bazel.tpl (about)

     1  package(default_visibility = ["//visibility:public"])
     2  
     3  load(":cc_toolchain_config_osx.bzl", "osx_cc_toolchain_config")
     4  load(":cc_toolchain_config_linux_arm64.bzl", "arm64_cc_toolchain_config")
     5  load(":cc_toolchain_config_windows.bzl", "windows_cc_toolchain_config")
     6  
     7  
     8  cc_toolchain_suite(
     9      name = "multiarch_toolchain",
    10      toolchains = {
    11          "k8|osxcross": ":cc-clang-osx",
    12          "k8|clang": "cc-clang-amd64",
    13          "aarch64|clang": ":cc-clang-arm64",
    14          "k8": "cc-clang-amd64",
    15          "aarch64": ":cc-clang-arm64",
    16          "k8|mingw-w64": ":cc-mingw-amd64",
    17      },
    18  )
    19  
    20  cc_toolchain_suite(
    21      name = "hostonly_toolchain",
    22      toolchains = {
    23          "k8": "cc-clang-amd64",
    24      },
    25  )
    26  
    27  filegroup(
    28      name = "empty",
    29      srcs = [],
    30  )
    31  
    32  config_setting(
    33      name = "osx_amd64",
    34      constraint_values = [
    35          "@platforms//os:osx",
    36          "@platforms//cpu:x86_64",
    37      ],
    38  )
    39  
    40  config_setting(
    41      name = "linux_arm64",
    42      constraint_values = [
    43          "@platforms//os:linux",
    44          "@platforms//cpu:aarch64",
    45      ],
    46  )
    47  
    48  config_setting(
    49      name = "linux_amd64",
    50      constraint_values = [
    51          "@platforms//os:linux",
    52          "@platforms//cpu:x86_64",
    53      ],
    54  )
    55  
    56  config_setting(
    57      name = "windows_amd64",
    58      constraint_values = [
    59          "@platforms//os:windows",
    60          "@platforms//cpu:x86_64",
    61      ],
    62  )
    63  
    64  arm64_cc_toolchain_config(
    65      name = "local-arm64",
    66      target = "aarch64-linux-gnu",
    67  )
    68  
    69  arm64_cc_toolchain_config(
    70      name = "local-amd64",
    71      target = "x86_64-unknown-linux-gnu",
    72  )
    73  
    74  osx_cc_toolchain_config(
    75      name = "local-osxcross",
    76      target = "darwin_x86_64",
    77  )
    78  
    79  windows_cc_toolchain_config(
    80      name = "local-windows",
    81      target = "x86_64-w64",
    82  )
    83  
    84  cc_toolchain(
    85      name = "cc-mingw-amd64",
    86      all_files = ":empty",
    87      ar_files = ":empty",
    88      as_files = ":empty",
    89      compiler_files = ":empty",
    90      dwp_files = ":empty",
    91      linker_files = ":empty",
    92      objcopy_files = ":empty",
    93      strip_files = ":empty",
    94      supports_param_files = 0,
    95      toolchain_config = ":local-windows",
    96  )
    97  
    98  cc_toolchain(
    99      name = "cc-clang-arm64",
   100      all_files = ":empty",
   101      compiler_files = ":empty",
   102      dwp_files = ":empty",
   103      linker_files = ":empty",
   104      objcopy_files = ":empty",
   105      strip_files = ":empty",
   106      supports_param_files = 1,
   107      toolchain_config = ":local-arm64",
   108  )
   109  
   110  cc_toolchain(
   111      name = "cc-clang-osx",
   112      all_files = ":empty",
   113      compiler_files = ":empty",
   114      dwp_files = ":empty",
   115      linker_files = ":empty",
   116      objcopy_files = ":empty",
   117      strip_files = ":empty",
   118      supports_param_files = 1,
   119      toolchain_config = ":local-osxcross",
   120  )
   121  
   122  cc_toolchain(
   123      name = "cc-clang-amd64",
   124      all_files = ":empty",
   125      compiler_files = ":empty",
   126      dwp_files = ":empty",
   127      linker_files = ":empty",
   128      objcopy_files = ":empty",
   129      strip_files = ":empty",
   130      supports_param_files = 1,
   131      toolchain_config = ":local-amd64",
   132  )
   133  
   134  toolchain(
   135      name = "cc-toolchain-multiarch",
   136      exec_compatible_with = [
   137          "@platforms//os:linux",
   138          "@platforms//cpu:x86_64",
   139      ],
   140      target_compatible_with = [],
   141      toolchain = select({
   142          ":linux_arm64": ":cc-clang-arm64",
   143          ":linux_amd64": ":cc-clang-amd64",
   144          ":osx_amd64": ":cc-clang-osx",
   145          ":windows_amd64": ":cc-mingw-amd64",
   146      }),
   147      toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
   148  )