jcater | f5c8c0b | 2018-03-27 07:22:35 -0700 | [diff] [blame] | 1 | # Copyright 2018 The Bazel Authors. All rights reserved. |
| 2 | # |
| 3 | # Licensed under the Apache License, Version 2.0 (the "License"); |
| 4 | # you may not use this file except in compliance with the License. |
| 5 | # You may obtain a copy of the License at |
| 6 | # |
| 7 | # http://www.apache.org/licenses/LICENSE-2.0 |
| 8 | # |
| 9 | # Unless required by applicable law or agreed to in writing, software |
| 10 | # distributed under the License is distributed on an "AS IS" BASIS, |
| 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 12 | # See the License for the specific language governing permissions and |
| 13 | # limitations under the License. |
| 14 | |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 15 | package(default_visibility = ["//visibility:public"]) |
| 16 | |
hlopko | 06a8851 | 2018-03-06 06:16:38 -0800 | [diff] [blame] | 17 | licenses(["notice"]) # Apache 2.0 |
hlopko | 903b479 | 2018-03-06 01:27:56 -0800 | [diff] [blame] | 18 | |
rosica | 71bc38f | 2019-02-04 02:39:30 -0800 | [diff] [blame] | 19 | load(":cc_toolchain_config.bzl", "cc_toolchain_config") |
oquenchil | 9606887 | 2019-07-08 07:01:39 -0700 | [diff] [blame] | 20 | load("@rules_cc//cc:defs.bzl", "cc_library", "cc_toolchain", "cc_toolchain_suite") |
rosica | 71bc38f | 2019-02-04 02:39:30 -0800 | [diff] [blame] | 21 | |
jcater | f5c8c0b | 2018-03-27 07:22:35 -0700 | [diff] [blame] | 22 | # The toolchain type used to distinguish cc toolchains. |
jcater | bf1ac7e | 2018-05-29 08:54:02 -0700 | [diff] [blame] | 23 | toolchain_type(name = "toolchain_type") |
jcater | f5c8c0b | 2018-03-27 07:22:35 -0700 | [diff] [blame] | 24 | |
| 25 | # It is frequently necessary to constrain platforms based on the cc compiler type. |
| 26 | constraint_setting(name = "cc_compiler") |
| 27 | |
| 28 | constraint_value( |
| 29 | name = "clang", |
| 30 | constraint_setting = ":cc_compiler", |
| 31 | ) |
| 32 | |
| 33 | constraint_value( |
| 34 | name = "gcc", |
| 35 | constraint_setting = ":cc_compiler", |
| 36 | ) |
| 37 | |
| 38 | constraint_value( |
| 39 | name = "msvc", |
| 40 | constraint_setting = ":cc_compiler", |
| 41 | ) |
| 42 | |
| 43 | constraint_value( |
Yun Peng | 12ebd7b | 2019-07-19 07:05:16 -0700 | [diff] [blame] | 44 | name = "clang-cl", |
| 45 | constraint_setting = ":cc_compiler", |
| 46 | ) |
| 47 | |
| 48 | constraint_value( |
jcater | f5c8c0b | 2018-03-27 07:22:35 -0700 | [diff] [blame] | 49 | name = "mingw", |
| 50 | constraint_setting = ":cc_compiler", |
| 51 | ) |
| 52 | |
| 53 | constraint_value( |
| 54 | name = "msys", |
| 55 | constraint_setting = ":cc_compiler", |
| 56 | ) |
| 57 | |
lberki | 528a1ea | 2017-07-13 17:11:18 +0200 | [diff] [blame] | 58 | cc_toolchain_alias(name = "current_cc_toolchain") |
| 59 | |
dbabkin | 1d3b6c1 | 2018-06-28 06:39:03 -0700 | [diff] [blame] | 60 | cc_host_toolchain_alias(name = "current_cc_host_toolchain") |
| 61 | |
| 62 | cc_libc_top_alias(name = "current_libc_top") |
| 63 | |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 64 | cc_library( |
| 65 | name = "malloc", |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 66 | ) |
| 67 | |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 68 | filegroup( |
ajmichael | bc1e2b0 | 2018-03-07 07:30:48 -0800 | [diff] [blame] | 69 | name = "grep-includes", |
| 70 | srcs = ["grep-includes.sh"], |
| 71 | ) |
| 72 | |
| 73 | filegroup( |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 74 | name = "empty", |
| 75 | srcs = [], |
| 76 | ) |
| 77 | |
rosica | c5ebfcf | 2019-06-04 01:47:17 -0700 | [diff] [blame] | 78 | config_setting( |
| 79 | name = "disable_static_cc_toolchains", |
| 80 | values = { |
| 81 | "incompatible_disable_static_cc_toolchains": "true", |
| 82 | }, |
| 83 | ) |
| 84 | |
Han-Wen Nienhuys | 310c631 | 2015-04-08 15:35:26 +0000 | [diff] [blame] | 85 | # This is the entry point for --crosstool_top. Toolchains are found |
| 86 | # by lopping off the name of --crosstool_top and searching for |
| 87 | # "cc-compiler-${CPU}" in this BUILD file, where CPU is the target CPU |
| 88 | # specified in --cpu. |
| 89 | # |
| 90 | # This file group should include |
| 91 | # * all cc_toolchain targets supported |
jcater | 58a72b2 | 2018-11-05 09:11:59 -0800 | [diff] [blame] | 92 | # * all file groups that said cc_toolchain might refer to |
Laurent Le Brun | 08849b2 | 2016-09-20 12:21:32 +0000 | [diff] [blame] | 93 | alias( |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 94 | name = "toolchain", |
Laurent Le Brun | 08849b2 | 2016-09-20 12:21:32 +0000 | [diff] [blame] | 95 | actual = "//external:cc_toolchain", |
Damien Martin-Guillerez | be5b2eb | 2016-03-02 16:08:07 +0000 | [diff] [blame] | 96 | ) |
| 97 | |
| 98 | # Hardcoded toolchain, legacy behaviour. |
Lukacs Berki | 180d1b5 | 2016-09-06 14:55:21 +0000 | [diff] [blame] | 99 | cc_toolchain_suite( |
Damien Martin-Guillerez | be5b2eb | 2016-03-02 16:08:07 +0000 | [diff] [blame] | 100 | name = "default-toolchain", |
Lukacs Berki | 180d1b5 | 2016-09-06 14:55:21 +0000 | [diff] [blame] | 101 | toolchains = { |
| 102 | "armeabi-v7a|compiler": ":cc-compiler-armeabi-v7a", |
| 103 | "darwin|compiler": ":cc-compiler-darwin", |
| 104 | "freebsd|compiler": ":cc-compiler-freebsd", |
John Cater | f7e5aef | 2018-11-13 08:33:20 -0800 | [diff] [blame] | 105 | "local|compiler": ":cc-compiler-local", |
Lukacs Berki | 180d1b5 | 2016-09-06 14:55:21 +0000 | [diff] [blame] | 106 | "x64_windows|compiler": ":cc-compiler-x64_windows", |
| 107 | "x64_windows_msvc|compiler": ":cc-compiler-x64_windows_msvc", |
clyang82 | 21941fe | 2019-04-24 04:16:13 -0700 | [diff] [blame] | 108 | "s390x|compiler": ":cc-compiler-s390x", |
Nishidha Panpaliya | aaee64e | 2016-12-20 18:19:43 +0000 | [diff] [blame] | 109 | "ppc|compiler": ":cc-compiler-ppc", |
John Cater | f7e5aef | 2018-11-13 08:33:20 -0800 | [diff] [blame] | 110 | "k8": ":cc-compiler-local", |
| 111 | "piii": ":cc-compiler-local", |
| 112 | "arm": ":cc-compiler-local", |
| 113 | "aarch64": ":cc-compiler-local", |
| 114 | "s390x": ":cc-compiler-local", |
| 115 | "ppc": ":cc-compiler-local", |
| 116 | "ppc64": ":cc-compiler-local", |
rosica | 547bf42 | 2018-09-06 02:10:02 -0700 | [diff] [blame] | 117 | "darwin": ":cc-compiler-darwin", |
| 118 | "freebsd": ":cc-compiler-freebsd", |
| 119 | "armeabi-v7a": ":cc-compiler-armeabi-v7a", |
| 120 | "x64_windows": ":cc-compiler-x64_windows", |
| 121 | "x64_windows_msvc": ":cc-compiler-x64_windows_msvc", |
Lukacs Berki | 180d1b5 | 2016-09-06 14:55:21 +0000 | [diff] [blame] | 122 | }, |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 123 | ) |
| 124 | |
| 125 | cc_toolchain( |
| 126 | name = "cc-compiler-local", |
| 127 | all_files = ":empty", |
Googler | 28953cb | 2018-12-05 10:46:00 -0800 | [diff] [blame] | 128 | ar_files = ":empty", |
| 129 | as_files = ":empty", |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 130 | compiler_files = ":empty", |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 131 | dwp_files = ":empty", |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 132 | linker_files = ":empty", |
| 133 | objcopy_files = ":empty", |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 134 | strip_files = ":empty", |
Han-Wen Nienhuys | fc911c6 | 2015-10-12 13:10:10 +0000 | [diff] [blame] | 135 | supports_param_files = 1, |
rosica | 71bc38f | 2019-02-04 02:39:30 -0800 | [diff] [blame] | 136 | toolchain_config = ":local_linux", |
hlopko | c3fb1db | 2018-10-09 20:40:58 -0700 | [diff] [blame] | 137 | toolchain_identifier = "local_linux", |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 138 | ) |
| 139 | |
rosica | 71bc38f | 2019-02-04 02:39:30 -0800 | [diff] [blame] | 140 | cc_toolchain_config( |
| 141 | name = "local_linux", |
| 142 | compiler = "compiler", |
| 143 | cpu = "local", |
rosica | c5ebfcf | 2019-06-04 01:47:17 -0700 | [diff] [blame] | 144 | disable_static_cc_toolchains = select({ |
| 145 | ":disable_static_cc_toolchains": True, |
| 146 | "//conditions:default": False, |
| 147 | }), |
rosica | 71bc38f | 2019-02-04 02:39:30 -0800 | [diff] [blame] | 148 | ) |
| 149 | |
jcater | f5c8c0b | 2018-03-27 07:22:35 -0700 | [diff] [blame] | 150 | toolchain( |
| 151 | name = "cc-toolchain-local", |
| 152 | exec_compatible_with = [ |
jcater | f5c8c0b | 2018-03-27 07:22:35 -0700 | [diff] [blame] | 153 | ], |
| 154 | target_compatible_with = [ |
jcater | f5c8c0b | 2018-03-27 07:22:35 -0700 | [diff] [blame] | 155 | ], |
| 156 | toolchain = ":cc-compiler-local", |
| 157 | toolchain_type = ":toolchain_type", |
| 158 | ) |
| 159 | |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 160 | cc_toolchain( |
Nishidha Panpaliya | aaee64e | 2016-12-20 18:19:43 +0000 | [diff] [blame] | 161 | name = "cc-compiler-ppc", |
| 162 | all_files = ":empty", |
Googler | 28953cb | 2018-12-05 10:46:00 -0800 | [diff] [blame] | 163 | ar_files = ":empty", |
| 164 | as_files = ":empty", |
Nishidha Panpaliya | aaee64e | 2016-12-20 18:19:43 +0000 | [diff] [blame] | 165 | compiler_files = ":empty", |
Nishidha Panpaliya | aaee64e | 2016-12-20 18:19:43 +0000 | [diff] [blame] | 166 | dwp_files = ":empty", |
Nishidha Panpaliya | aaee64e | 2016-12-20 18:19:43 +0000 | [diff] [blame] | 167 | linker_files = ":empty", |
| 168 | objcopy_files = ":empty", |
Nishidha Panpaliya | aaee64e | 2016-12-20 18:19:43 +0000 | [diff] [blame] | 169 | strip_files = ":empty", |
| 170 | supports_param_files = 1, |
rosica | 71bc38f | 2019-02-04 02:39:30 -0800 | [diff] [blame] | 171 | toolchain_config = ":local_linux", |
hlopko | c3fb1db | 2018-10-09 20:40:58 -0700 | [diff] [blame] | 172 | toolchain_identifier = "local_linux", |
Nishidha Panpaliya | aaee64e | 2016-12-20 18:19:43 +0000 | [diff] [blame] | 173 | ) |
| 174 | |
jcater | f5c8c0b | 2018-03-27 07:22:35 -0700 | [diff] [blame] | 175 | toolchain( |
| 176 | name = "cc-toolchain-ppc", |
| 177 | exec_compatible_with = [ |
hlopko | 71a213c | 2019-06-21 02:01:33 -0700 | [diff] [blame] | 178 | "@platforms//cpu:ppc", |
jcater | f5c8c0b | 2018-03-27 07:22:35 -0700 | [diff] [blame] | 179 | ], |
| 180 | target_compatible_with = [ |
hlopko | 71a213c | 2019-06-21 02:01:33 -0700 | [diff] [blame] | 181 | "@platforms//cpu:ppc", |
jcater | f5c8c0b | 2018-03-27 07:22:35 -0700 | [diff] [blame] | 182 | ], |
| 183 | toolchain = ":cc-compiler-ppc", |
| 184 | toolchain_type = ":toolchain_type", |
| 185 | ) |
| 186 | |
Nishidha Panpaliya | aaee64e | 2016-12-20 18:19:43 +0000 | [diff] [blame] | 187 | cc_toolchain( |
clyang82 | 21941fe | 2019-04-24 04:16:13 -0700 | [diff] [blame] | 188 | name = "cc-compiler-s390x", |
| 189 | all_files = ":empty", |
| 190 | ar_files = ":empty", |
| 191 | as_files = ":empty", |
| 192 | compiler_files = ":empty", |
clyang82 | 21941fe | 2019-04-24 04:16:13 -0700 | [diff] [blame] | 193 | dwp_files = ":empty", |
| 194 | linker_files = ":empty", |
| 195 | objcopy_files = ":empty", |
| 196 | strip_files = ":empty", |
| 197 | supports_param_files = 1, |
| 198 | toolchain_config = ":local_linux", |
| 199 | toolchain_identifier = "local_linux", |
| 200 | ) |
| 201 | |
| 202 | toolchain( |
| 203 | name = "cc-toolchain-s390x", |
| 204 | exec_compatible_with = [ |
hlopko | 71a213c | 2019-06-21 02:01:33 -0700 | [diff] [blame] | 205 | "@platforms//cpu:s390x", |
clyang82 | 21941fe | 2019-04-24 04:16:13 -0700 | [diff] [blame] | 206 | ], |
| 207 | target_compatible_with = [ |
hlopko | 71a213c | 2019-06-21 02:01:33 -0700 | [diff] [blame] | 208 | "@platforms//cpu:s390x", |
clyang82 | 21941fe | 2019-04-24 04:16:13 -0700 | [diff] [blame] | 209 | ], |
| 210 | toolchain = ":cc-compiler-s390x", |
| 211 | toolchain_type = ":toolchain_type", |
| 212 | ) |
| 213 | |
| 214 | cc_toolchain( |
Lukacs Berki | a93c63b | 2015-07-29 15:32:19 +0000 | [diff] [blame] | 215 | name = "cc-compiler-armeabi-v7a", |
| 216 | all_files = ":empty", |
Googler | 28953cb | 2018-12-05 10:46:00 -0800 | [diff] [blame] | 217 | ar_files = ":empty", |
| 218 | as_files = ":empty", |
Lukacs Berki | a93c63b | 2015-07-29 15:32:19 +0000 | [diff] [blame] | 219 | compiler_files = ":empty", |
Lukacs Berki | a93c63b | 2015-07-29 15:32:19 +0000 | [diff] [blame] | 220 | dwp_files = ":empty", |
Lukacs Berki | a93c63b | 2015-07-29 15:32:19 +0000 | [diff] [blame] | 221 | linker_files = ":empty", |
| 222 | objcopy_files = ":empty", |
Lukacs Berki | a93c63b | 2015-07-29 15:32:19 +0000 | [diff] [blame] | 223 | strip_files = ":empty", |
Han-Wen Nienhuys | fc911c6 | 2015-10-12 13:10:10 +0000 | [diff] [blame] | 224 | supports_param_files = 1, |
rosica | 71bc38f | 2019-02-04 02:39:30 -0800 | [diff] [blame] | 225 | toolchain_config = ":local_linux", |
hlopko | c3fb1db | 2018-10-09 20:40:58 -0700 | [diff] [blame] | 226 | toolchain_identifier = "local_linux", |
Lukacs Berki | a93c63b | 2015-07-29 15:32:19 +0000 | [diff] [blame] | 227 | ) |
| 228 | |
jcater | f5c8c0b | 2018-03-27 07:22:35 -0700 | [diff] [blame] | 229 | toolchain( |
| 230 | name = "cc-toolchain-armeabi-v7a", |
| 231 | exec_compatible_with = [ |
| 232 | ], |
| 233 | target_compatible_with = [ |
hlopko | 71a213c | 2019-06-21 02:01:33 -0700 | [diff] [blame] | 234 | "@platforms//cpu:arm", |
| 235 | "@platforms//os:android", |
jcater | f5c8c0b | 2018-03-27 07:22:35 -0700 | [diff] [blame] | 236 | ], |
| 237 | toolchain = ":cc-compiler-armeabi-v7a", |
| 238 | toolchain_type = ":toolchain_type", |
| 239 | ) |
| 240 | |
Lukacs Berki | a93c63b | 2015-07-29 15:32:19 +0000 | [diff] [blame] | 241 | cc_toolchain( |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 242 | name = "cc-compiler-k8", |
| 243 | all_files = ":empty", |
Googler | 28953cb | 2018-12-05 10:46:00 -0800 | [diff] [blame] | 244 | ar_files = ":empty", |
| 245 | as_files = ":empty", |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 246 | compiler_files = ":empty", |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 247 | dwp_files = ":empty", |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 248 | linker_files = ":empty", |
| 249 | objcopy_files = ":empty", |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 250 | strip_files = ":empty", |
Han-Wen Nienhuys | fc911c6 | 2015-10-12 13:10:10 +0000 | [diff] [blame] | 251 | supports_param_files = 1, |
rosica | 71bc38f | 2019-02-04 02:39:30 -0800 | [diff] [blame] | 252 | toolchain_config = ":local_linux", |
hlopko | c3fb1db | 2018-10-09 20:40:58 -0700 | [diff] [blame] | 253 | toolchain_identifier = "local_linux", |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 254 | ) |
| 255 | |
jcater | f5c8c0b | 2018-03-27 07:22:35 -0700 | [diff] [blame] | 256 | toolchain( |
| 257 | name = "cc-toolchain-k8", |
| 258 | exec_compatible_with = [ |
hlopko | 71a213c | 2019-06-21 02:01:33 -0700 | [diff] [blame] | 259 | "@platforms//cpu:x86_64", |
| 260 | "@platforms//os:linux", |
jcater | f5c8c0b | 2018-03-27 07:22:35 -0700 | [diff] [blame] | 261 | ], |
| 262 | target_compatible_with = [ |
hlopko | 71a213c | 2019-06-21 02:01:33 -0700 | [diff] [blame] | 263 | "@platforms//cpu:x86_64", |
| 264 | "@platforms//os:linux", |
jcater | f5c8c0b | 2018-03-27 07:22:35 -0700 | [diff] [blame] | 265 | ], |
| 266 | toolchain = ":cc-compiler-k8", |
| 267 | toolchain_type = ":toolchain_type", |
| 268 | ) |
| 269 | |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 270 | cc_toolchain( |
| 271 | name = "cc-compiler-darwin", |
Oleg Ponomarev | d1388b8 | 2018-03-05 03:41:27 -0800 | [diff] [blame] | 272 | all_files = ":osx_wrapper", |
Googler | 28953cb | 2018-12-05 10:46:00 -0800 | [diff] [blame] | 273 | ar_files = ":empty", |
rosica | 44a961b | 2019-06-06 00:17:06 -0700 | [diff] [blame] | 274 | as_files = ":osx_wrapper", |
Oleg Ponomarev | d1388b8 | 2018-03-05 03:41:27 -0800 | [diff] [blame] | 275 | compiler_files = ":osx_wrapper", |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 276 | dwp_files = ":empty", |
Oleg Ponomarev | d1388b8 | 2018-03-05 03:41:27 -0800 | [diff] [blame] | 277 | linker_files = ":osx_wrapper", |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 278 | objcopy_files = ":empty", |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 279 | strip_files = ":empty", |
| 280 | supports_param_files = 0, |
rosica | 71bc38f | 2019-02-04 02:39:30 -0800 | [diff] [blame] | 281 | toolchain_config = ":local_darwin", |
hlopko | c3fb1db | 2018-10-09 20:40:58 -0700 | [diff] [blame] | 282 | toolchain_identifier = "local_darwin", |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 283 | ) |
Damien Martin-Guillerez | 5cbd5a4 | 2015-03-24 21:55:19 +0000 | [diff] [blame] | 284 | |
rosica | 71bc38f | 2019-02-04 02:39:30 -0800 | [diff] [blame] | 285 | cc_toolchain_config( |
| 286 | name = "local_darwin", |
| 287 | compiler = "compiler", |
| 288 | cpu = "darwin", |
rosica | c5ebfcf | 2019-06-04 01:47:17 -0700 | [diff] [blame] | 289 | disable_static_cc_toolchains = select({ |
| 290 | ":disable_static_cc_toolchains": True, |
| 291 | "//conditions:default": False, |
| 292 | }), |
rosica | 71bc38f | 2019-02-04 02:39:30 -0800 | [diff] [blame] | 293 | ) |
| 294 | |
jcater | f5c8c0b | 2018-03-27 07:22:35 -0700 | [diff] [blame] | 295 | toolchain( |
| 296 | name = "cc-toolchain-darwin", |
| 297 | exec_compatible_with = [ |
hlopko | 71a213c | 2019-06-21 02:01:33 -0700 | [diff] [blame] | 298 | "@platforms//cpu:x86_64", |
| 299 | "@platforms//os:osx", |
jcater | f5c8c0b | 2018-03-27 07:22:35 -0700 | [diff] [blame] | 300 | ], |
| 301 | target_compatible_with = [ |
hlopko | 71a213c | 2019-06-21 02:01:33 -0700 | [diff] [blame] | 302 | "@platforms//cpu:x86_64", |
| 303 | "@platforms//os:osx", |
jcater | f5c8c0b | 2018-03-27 07:22:35 -0700 | [diff] [blame] | 304 | ], |
| 305 | toolchain = ":cc-compiler-darwin", |
| 306 | toolchain_type = ":toolchain_type", |
| 307 | ) |
| 308 | |
Doug Rabson | 709bc61 | 2015-08-25 14:12:00 +0000 | [diff] [blame] | 309 | cc_toolchain( |
| 310 | name = "cc-compiler-freebsd", |
| 311 | all_files = ":empty", |
Googler | 28953cb | 2018-12-05 10:46:00 -0800 | [diff] [blame] | 312 | ar_files = ":empty", |
| 313 | as_files = ":empty", |
Doug Rabson | 709bc61 | 2015-08-25 14:12:00 +0000 | [diff] [blame] | 314 | compiler_files = ":empty", |
Doug Rabson | 709bc61 | 2015-08-25 14:12:00 +0000 | [diff] [blame] | 315 | dwp_files = ":empty", |
Doug Rabson | 709bc61 | 2015-08-25 14:12:00 +0000 | [diff] [blame] | 316 | linker_files = ":empty", |
| 317 | objcopy_files = ":empty", |
Doug Rabson | 709bc61 | 2015-08-25 14:12:00 +0000 | [diff] [blame] | 318 | strip_files = ":empty", |
| 319 | supports_param_files = 0, |
rosica | 71bc38f | 2019-02-04 02:39:30 -0800 | [diff] [blame] | 320 | toolchain_config = ":local_freebsd", |
hlopko | c3fb1db | 2018-10-09 20:40:58 -0700 | [diff] [blame] | 321 | toolchain_identifier = "local_freebsd", |
Doug Rabson | 709bc61 | 2015-08-25 14:12:00 +0000 | [diff] [blame] | 322 | ) |
| 323 | |
rosica | 71bc38f | 2019-02-04 02:39:30 -0800 | [diff] [blame] | 324 | cc_toolchain_config( |
| 325 | name = "local_freebsd", |
| 326 | compiler = "compiler", |
| 327 | cpu = "freebsd", |
rosica | c5ebfcf | 2019-06-04 01:47:17 -0700 | [diff] [blame] | 328 | disable_static_cc_toolchains = select({ |
| 329 | ":disable_static_cc_toolchains": True, |
| 330 | "//conditions:default": False, |
| 331 | }), |
rosica | 71bc38f | 2019-02-04 02:39:30 -0800 | [diff] [blame] | 332 | ) |
| 333 | |
jcater | f5c8c0b | 2018-03-27 07:22:35 -0700 | [diff] [blame] | 334 | toolchain( |
| 335 | name = "cc-toolchain-freebsd", |
| 336 | exec_compatible_with = [ |
hlopko | 71a213c | 2019-06-21 02:01:33 -0700 | [diff] [blame] | 337 | "@platforms//cpu:x86_64", |
| 338 | "@platforms//os:freebsd", |
jcater | f5c8c0b | 2018-03-27 07:22:35 -0700 | [diff] [blame] | 339 | ], |
| 340 | target_compatible_with = [ |
hlopko | 71a213c | 2019-06-21 02:01:33 -0700 | [diff] [blame] | 341 | "@platforms//cpu:x86_64", |
| 342 | "@platforms//os:freebsd", |
jcater | f5c8c0b | 2018-03-27 07:22:35 -0700 | [diff] [blame] | 343 | ], |
| 344 | toolchain = ":cc-compiler-freebsd", |
| 345 | toolchain_type = ":toolchain_type", |
| 346 | ) |
| 347 | |
Dmitry Lomov | 458ccd0 | 2016-02-02 20:30:32 +0000 | [diff] [blame] | 348 | cc_toolchain( |
| 349 | name = "cc-compiler-x64_windows", |
| 350 | all_files = ":empty", |
Googler | 28953cb | 2018-12-05 10:46:00 -0800 | [diff] [blame] | 351 | ar_files = ":empty", |
| 352 | as_files = ":empty", |
Dmitry Lomov | 458ccd0 | 2016-02-02 20:30:32 +0000 | [diff] [blame] | 353 | compiler_files = ":empty", |
Dmitry Lomov | 458ccd0 | 2016-02-02 20:30:32 +0000 | [diff] [blame] | 354 | dwp_files = ":empty", |
Dmitry Lomov | 458ccd0 | 2016-02-02 20:30:32 +0000 | [diff] [blame] | 355 | linker_files = ":empty", |
| 356 | objcopy_files = ":empty", |
Dmitry Lomov | 458ccd0 | 2016-02-02 20:30:32 +0000 | [diff] [blame] | 357 | strip_files = ":empty", |
| 358 | supports_param_files = 0, |
rosica | 71bc38f | 2019-02-04 02:39:30 -0800 | [diff] [blame] | 359 | toolchain_config = ":local_windows_msys64", |
hlopko | c3fb1db | 2018-10-09 20:40:58 -0700 | [diff] [blame] | 360 | toolchain_identifier = "local_windows_msys64", |
Dmitry Lomov | 458ccd0 | 2016-02-02 20:30:32 +0000 | [diff] [blame] | 361 | ) |
| 362 | |
rosica | 71bc38f | 2019-02-04 02:39:30 -0800 | [diff] [blame] | 363 | cc_toolchain_config( |
| 364 | name = "local_windows_msys64", |
| 365 | compiler = "windows_msys64", |
| 366 | cpu = "x64_windows", |
rosica | c5ebfcf | 2019-06-04 01:47:17 -0700 | [diff] [blame] | 367 | disable_static_cc_toolchains = select({ |
| 368 | ":disable_static_cc_toolchains": True, |
| 369 | "//conditions:default": False, |
| 370 | }), |
rosica | 71bc38f | 2019-02-04 02:39:30 -0800 | [diff] [blame] | 371 | ) |
| 372 | |
jcater | f5c8c0b | 2018-03-27 07:22:35 -0700 | [diff] [blame] | 373 | toolchain( |
| 374 | name = "cc-toolchain-x64_windows", |
| 375 | exec_compatible_with = [ |
hlopko | 71a213c | 2019-06-21 02:01:33 -0700 | [diff] [blame] | 376 | "@platforms//cpu:x86_64", |
| 377 | "@platforms//os:windows", |
jcater | f5c8c0b | 2018-03-27 07:22:35 -0700 | [diff] [blame] | 378 | ], |
| 379 | target_compatible_with = [ |
hlopko | 71a213c | 2019-06-21 02:01:33 -0700 | [diff] [blame] | 380 | "@platforms//cpu:x86_64", |
| 381 | "@platforms//os:windows", |
jcater | f5c8c0b | 2018-03-27 07:22:35 -0700 | [diff] [blame] | 382 | ], |
| 383 | toolchain = ":cc-compiler-x64_windows", |
| 384 | toolchain_type = ":toolchain_type", |
| 385 | ) |
| 386 | |
Yun Peng | 114ead3 | 2016-04-07 16:39:19 +0000 | [diff] [blame] | 387 | cc_toolchain( |
| 388 | name = "cc-compiler-x64_windows_msvc", |
Marcel Hlopko | 221c67f | 2019-05-30 07:38:08 -0700 | [diff] [blame] | 389 | all_files = ":empty", |
Googler | 28953cb | 2018-12-05 10:46:00 -0800 | [diff] [blame] | 390 | ar_files = ":empty", |
| 391 | as_files = ":empty", |
Marcel Hlopko | 221c67f | 2019-05-30 07:38:08 -0700 | [diff] [blame] | 392 | compiler_files = ":empty", |
Yun Peng | 114ead3 | 2016-04-07 16:39:19 +0000 | [diff] [blame] | 393 | dwp_files = ":empty", |
Yun Peng | 114ead3 | 2016-04-07 16:39:19 +0000 | [diff] [blame] | 394 | linker_files = ":empty", |
| 395 | objcopy_files = ":empty", |
Yun Peng | 114ead3 | 2016-04-07 16:39:19 +0000 | [diff] [blame] | 396 | strip_files = ":empty", |
Yun Peng | 57be344 | 2016-04-25 14:08:41 +0000 | [diff] [blame] | 397 | supports_param_files = 1, |
rosica | 71bc38f | 2019-02-04 02:39:30 -0800 | [diff] [blame] | 398 | toolchain_config = ":vc_14_0_x64", |
hlopko | c3fb1db | 2018-10-09 20:40:58 -0700 | [diff] [blame] | 399 | toolchain_identifier = "vc_14_0_x64", |
Yun Peng | 114ead3 | 2016-04-07 16:39:19 +0000 | [diff] [blame] | 400 | ) |
| 401 | |
rosica | 71bc38f | 2019-02-04 02:39:30 -0800 | [diff] [blame] | 402 | cc_toolchain_config( |
| 403 | name = "vc_14_0_x64", |
| 404 | compiler = "cl", |
| 405 | cpu = "x64_windows_msvc", |
rosica | c5ebfcf | 2019-06-04 01:47:17 -0700 | [diff] [blame] | 406 | disable_static_cc_toolchains = select({ |
| 407 | ":disable_static_cc_toolchains": True, |
| 408 | "//conditions:default": False, |
| 409 | }), |
rosica | 71bc38f | 2019-02-04 02:39:30 -0800 | [diff] [blame] | 410 | ) |
| 411 | |
jcater | f5c8c0b | 2018-03-27 07:22:35 -0700 | [diff] [blame] | 412 | toolchain( |
| 413 | name = "cc-toolchain-x64_windows_msvc", |
| 414 | exec_compatible_with = [ |
hlopko | 71a213c | 2019-06-21 02:01:33 -0700 | [diff] [blame] | 415 | "@platforms//cpu:x86_64", |
| 416 | "@platforms//os:windows", |
jcater | f5c8c0b | 2018-03-27 07:22:35 -0700 | [diff] [blame] | 417 | ":msvc", |
| 418 | ], |
| 419 | target_compatible_with = [ |
hlopko | 71a213c | 2019-06-21 02:01:33 -0700 | [diff] [blame] | 420 | "@platforms//cpu:x86_64", |
| 421 | "@platforms//os:windows", |
jcater | f5c8c0b | 2018-03-27 07:22:35 -0700 | [diff] [blame] | 422 | ], |
| 423 | toolchain = ":cc-compiler-x64_windows_msvc", |
| 424 | toolchain_type = ":toolchain_type", |
| 425 | ) |
| 426 | |
Yun Peng | 114ead3 | 2016-04-07 16:39:19 +0000 | [diff] [blame] | 427 | filegroup( |
Damien Martin-Guillerez | 5cbd5a4 | 2015-03-24 21:55:19 +0000 | [diff] [blame] | 428 | name = "srcs", |
Loo Rong Jie | 68611b3 | 2018-10-15 07:10:41 -0700 | [diff] [blame] | 429 | srcs = glob(["**"]) + [ |
| 430 | "//tools/cpp/runfiles:srcs", |
| 431 | ], |
| 432 | ) |
| 433 | |
| 434 | filegroup( |
| 435 | name = "embedded_tools", |
| 436 | srcs = glob(["**"]) + [ |
| 437 | "//tools/cpp/runfiles:embedded_tools", |
| 438 | ], |
Damien Martin-Guillerez | 5cbd5a4 | 2015-03-24 21:55:19 +0000 | [diff] [blame] | 439 | ) |
Marcel Hlopko | 74b9432 | 2016-10-11 15:30:49 +0000 | [diff] [blame] | 440 | |
| 441 | filegroup( |
Lukacs Berki | 76cb02e | 2017-02-17 14:06:11 +0000 | [diff] [blame] | 442 | name = "interface_library_builder", |
| 443 | srcs = ["build_interface_so"], |
hlopko | 06a8851 | 2018-03-06 06:16:38 -0800 | [diff] [blame] | 444 | ) |
| 445 | |
| 446 | filegroup( |
| 447 | name = "osx_wrapper", |
| 448 | srcs = ["osx_cc_wrapper.sh"], |
Lukacs Berki | 76cb02e | 2017-02-17 14:06:11 +0000 | [diff] [blame] | 449 | ) |
| 450 | |
| 451 | filegroup( |
Marcel Hlopko | 74b9432 | 2016-10-11 15:30:49 +0000 | [diff] [blame] | 452 | name = "link_dynamic_library", |
| 453 | srcs = ["link_dynamic_library.sh"], |
| 454 | ) |
cpeyser | d852e48 | 2017-09-07 22:16:06 +0200 | [diff] [blame] | 455 | |
Oleg Ponomarev | d1388b8 | 2018-03-05 03:41:27 -0800 | [diff] [blame] | 456 | filegroup( |
hlopko | 06a8851 | 2018-03-06 06:16:38 -0800 | [diff] [blame] | 457 | name = "lib_cc_configure", |
| 458 | srcs = ["lib_cc_configure.bzl"], |
Oleg Ponomarev | d1388b8 | 2018-03-05 03:41:27 -0800 | [diff] [blame] | 459 | ) |
| 460 | |
cparsons | 1ba9f0ff | 2019-08-29 13:45:45 -0700 | [diff] [blame] | 461 | filegroup( |
| 462 | name = "bzl_srcs", |
| 463 | srcs = glob(["*.bzl"]), |
| 464 | visibility = ["//tools:__pkg__"], |
| 465 | ) |
| 466 | |
rosica | 8044286 | 2018-05-28 05:59:33 -0700 | [diff] [blame] | 467 | load(":compiler_flag.bzl", "compiler_flag") |
| 468 | |
| 469 | compiler_flag(name = "compiler") |
John Cater | fc586a8 | 2019-03-19 07:36:56 -0700 | [diff] [blame] | 470 | |
| 471 | # Target that can provide the CC_FLAGS variable based on the current |
| 472 | # cc_toolchain. |
| 473 | load("@bazel_tools//tools/cpp:cc_flags_supplier.bzl", "cc_flags_supplier") |
| 474 | |
| 475 | cc_flags_supplier(name = "cc_flags") |