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 )