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
15# This becomes the BUILD file for @local_config_cc// under Windows.
16
17load("@rules_cc//cc:defs.bzl", "cc_toolchain", "cc_toolchain_suite", "cc_library")
18load(":windows_cc_toolchain_config.bzl", "cc_toolchain_config")
19load(":armeabi_cc_toolchain_config.bzl", "armeabi_cc_toolchain_config")
20
21package(default_visibility = ["//visibility:public"])
22
23cc_library(
24    name = "malloc",
25)
26
27filegroup(
28    name = "empty",
29    srcs = [],
30)
31
32filegroup(
33    name = "mingw_compiler_files",
34    srcs = [":builtin_include_directory_paths_mingw"]
35)
36
37filegroup(
38    name = "clangcl_compiler_files",
39    srcs = [":builtin_include_directory_paths_clangcl"]
40)
41
42filegroup(
43    name = "msvc_compiler_files",
44    srcs = [":builtin_include_directory_paths_msvc"]
45)
46
47# Hardcoded toolchain, legacy behaviour.
48cc_toolchain_suite(
49    name = "toolchain",
50    toolchains = {
51        "armeabi-v7a|compiler": ":cc-compiler-armeabi-v7a",
52        "x64_windows|msvc-cl": ":cc-compiler-x64_windows",
53        "x64_x86_windows|msvc-cl": ":cc-compiler-x64_x86_windows",
54        "x64_arm_windows|msvc-cl": ":cc-compiler-x64_arm_windows",
55        "x64_arm64_windows|msvc-cl": ":cc-compiler-arm64_windows",
56        "arm64_windows|msvc-cl": ":cc-compiler-arm64_windows",
57        "x64_windows|msys-gcc": ":cc-compiler-x64_windows_msys",
58        "x64_windows|mingw-gcc": ":cc-compiler-x64_windows_mingw",
59        "x64_windows|clang-cl": ":cc-compiler-x64_windows-clang-cl",
60        "x64_windows_msys": ":cc-compiler-x64_windows_msys",
61        "x64_windows": ":cc-compiler-x64_windows",
62        "x64_x86_windows": ":cc-compiler-x64_x86_windows",
63        "x64_arm_windows": ":cc-compiler-x64_arm_windows",
64        "x64_arm64_windows": ":cc-compiler-arm64_windows",
65        "arm64_windows": ":cc-compiler-arm64_windows",
66        "x64_arm64_windows|clang-cl": ":cc-compiler-arm64_windows-clang-cl",
67        "arm64_windows|clang-cl": ":cc-compiler-arm64_windows-clang-cl",
68        "armeabi-v7a": ":cc-compiler-armeabi-v7a",
69    },
70)
71
72cc_toolchain(
73    name = "cc-compiler-x64_windows_msys",
74    toolchain_identifier = "msys_x64",
75    toolchain_config = ":msys_x64",
76    all_files = ":empty",
77    ar_files = ":empty",
78    as_files = ":mingw_compiler_files",
79    compiler_files = ":mingw_compiler_files",
80    dwp_files = ":empty",
81    linker_files = ":empty",
82    objcopy_files = ":empty",
83    strip_files = ":empty",
84    supports_param_files = 1,
85)
86
87cc_toolchain_config(
88    name = "msys_x64",
89    cpu = "x64_windows",
90    compiler = "msys-gcc",
91    host_system_name = "local",
92    target_system_name = "local",
93    target_libc = "msys",
94    abi_version = "local",
95    abi_libc_version = "local",
96    cxx_builtin_include_directories = [        "c:/msys64/usr/",
97        ],
98    tool_paths = {"ar": "c:/msys64/usr/bin/ar",
99        "compat-ld": "c:/msys64/usr/bin/compat-ld",
100        "cpp": "c:/msys64/usr/bin/cpp",
101        "dwp": "c:/msys64/usr/bin/dwp",
102        "gcc": "c:/msys64/usr/bin/gcc",
103        "gcov": "c:/msys64/usr/bin/gcov",
104        "ld": "c:/msys64/usr/bin/ld",
105        "nm": "c:/msys64/usr/bin/nm",
106        "objcopy": "c:/msys64/usr/bin/objcopy",
107        "objdump": "c:/msys64/usr/bin/objdump",
108        "strip": "c:/msys64/usr/bin/strip"},
109    tool_bin_path = "c:/msys64/usr/bin",
110    dbg_mode_debug_flag = "/DEBUG:FULL",
111    fastbuild_mode_debug_flag = "/DEBUG:FASTLINK",
112)
113
114toolchain(
115    name = "cc-toolchain-x64_windows_msys",
116    exec_compatible_with = [
117        "@platforms//cpu:x86_64",
118        "@platforms//os:windows",
119        "@bazel_tools//tools/cpp:msys",
120    ],
121    target_compatible_with = [
122        "@platforms//cpu:x86_64",
123        "@platforms//os:windows",
124    ],
125    toolchain = ":cc-compiler-x64_windows_msys",
126    toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
127)
128
129cc_toolchain(
130    name = "cc-compiler-x64_windows_mingw",
131    toolchain_identifier = "msys_x64_mingw",
132    toolchain_config = ":msys_x64_mingw",
133    all_files = ":empty",
134    ar_files = ":empty",
135    as_files = ":mingw_compiler_files",
136    compiler_files = ":mingw_compiler_files",
137    dwp_files = ":empty",
138    linker_files = ":empty",
139    objcopy_files = ":empty",
140    strip_files = ":empty",
141    supports_param_files = 0,
142)
143
144cc_toolchain_config(
145    name = "msys_x64_mingw",
146    cpu = "x64_windows",
147    compiler = "mingw-gcc",
148    host_system_name = "local",
149    target_system_name = "local",
150    target_libc = "mingw",
151    abi_version = "local",
152    abi_libc_version = "local",
153    tool_bin_path = "c:/msys64/mingw64/bin",
154    cxx_builtin_include_directories = [        "c:/msys64/mingw64/",
155        ],
156    tool_paths = {"ar": "c:/msys64/mingw64/bin/ar",
157        "compat-ld": "c:/msys64/mingw64/bin/compat-ld",
158        "cpp": "c:/msys64/mingw64/bin/cpp",
159        "dwp": "c:/msys64/mingw64/bin/dwp",
160        "gcc": "c:/msys64/mingw64/bin/gcc",
161        "gcov": "c:/msys64/mingw64/bin/gcov",
162        "ld": "c:/msys64/mingw64/bin/ld",
163        "nm": "c:/msys64/mingw64/bin/nm",
164        "objcopy": "c:/msys64/mingw64/bin/objcopy",
165        "objdump": "c:/msys64/mingw64/bin/objdump",
166        "strip": "c:/msys64/mingw64/bin/strip"},
167    dbg_mode_debug_flag = "/DEBUG:FULL",
168    fastbuild_mode_debug_flag = "/DEBUG:FASTLINK",
169)
170
171toolchain(
172    name = "cc-toolchain-x64_windows_mingw",
173    exec_compatible_with = [
174        "@platforms//cpu:x86_64",
175        "@platforms//os:windows",
176        "@bazel_tools//tools/cpp:mingw",
177    ],
178    target_compatible_with = [
179        "@platforms//cpu:x86_64",
180        "@platforms//os:windows",
181    ],
182    toolchain = ":cc-compiler-x64_windows_mingw",
183    toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
184)
185
186cc_toolchain(
187    name = "cc-compiler-x64_windows",
188    toolchain_identifier = "msvc_x64",
189    toolchain_config = ":msvc_x64",
190    all_files = ":empty",
191    ar_files = ":empty",
192    as_files = ":msvc_compiler_files",
193    compiler_files = ":msvc_compiler_files",
194    dwp_files = ":empty",
195    linker_files = ":empty",
196    objcopy_files = ":empty",
197    strip_files = ":empty",
198    supports_param_files = 1,
199)
200
201cc_toolchain_config(
202    name = "msvc_x64",
203    cpu = "x64_windows",
204    compiler = "msvc-cl",
205    host_system_name = "local",
206    target_system_name = "local",
207    target_libc = "msvcrt",
208    abi_version = "local",
209    abi_libc_version = "local",
210    toolchain_identifier = "msvc_x64",
211    msvc_env_tmp = "C:\\Users\\ContainerAdministrator\\AppData\\Local\\Temp",
212    msvc_env_path = "C:\\VS\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64;C:\\VS\\Common7\\IDE\\VC\\VCPackages;C:\\VS\\Common7\\IDE\\CommonExtensions\\Microsoft\\TestWindow;C:\\VS\\Common7\\IDE\\CommonExtensions\\Microsoft\\TeamFoundation\\Team Explorer;C:\\VS\\MSBuild\\Current\\bin\\Roslyn;C:\\VS\\Common7\\Tools\\devinit;C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.19041.0\\x64;C:\\Program Files (x86)\\Windows Kits\\10\\bin\\x64;C:\\VS\\\\MSBuild\\Current\\Bin;C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319;C:\\VS\\Common7\\IDE\\;C:\\VS\\Common7\\Tools\\;;C:\\Windows\\system32",
213    msvc_env_include = "C:\\VS\\VC\\Tools\\MSVC\\14.29.30133\\include;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\ucrt;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\shared;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\um;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\winrt;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\cppwinrt",
214    msvc_env_lib = "C:\\VS\\VC\\Tools\\MSVC\\14.29.30133\\lib\\x64;C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.19041.0\\ucrt\\x64;C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.19041.0\\um\\x64",
215    msvc_cl_path = "C:/VS/VC/Tools/MSVC/14.29.30133/bin/HostX64/x64/cl.exe",
216    msvc_ml_path = "C:/VS/VC/Tools/MSVC/14.29.30133/bin/HostX64/x64/ml64.exe",
217    msvc_link_path = "C:/VS/VC/Tools/MSVC/14.29.30133/bin/HostX64/x64/link.exe",
218    msvc_lib_path = "C:/VS/VC/Tools/MSVC/14.29.30133/bin/HostX64/x64/lib.exe",
219    cxx_builtin_include_directories = [        "C:\\VS\\VC\\Tools\\MSVC\\14.29.30133\\include",
220        "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\ucrt",
221        "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\shared",
222        "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\um",
223        "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\winrt",
224        "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\cppwinrt"],
225    tool_paths = {
226        "ar": "C:/VS/VC/Tools/MSVC/14.29.30133/bin/HostX64/x64/lib.exe",
227        "ml": "C:/VS/VC/Tools/MSVC/14.29.30133/bin/HostX64/x64/ml64.exe",
228        "cpp": "C:/VS/VC/Tools/MSVC/14.29.30133/bin/HostX64/x64/cl.exe",
229        "gcc": "C:/VS/VC/Tools/MSVC/14.29.30133/bin/HostX64/x64/cl.exe",
230        "gcov": "wrapper/bin/msvc_nop.bat",
231        "ld": "C:/VS/VC/Tools/MSVC/14.29.30133/bin/HostX64/x64/link.exe",
232        "nm": "wrapper/bin/msvc_nop.bat",
233        "objcopy": "wrapper/bin/msvc_nop.bat",
234        "objdump": "wrapper/bin/msvc_nop.bat",
235        "strip": "wrapper/bin/msvc_nop.bat",
236    },
237    archiver_flags = ["/MACHINE:X64"],
238    default_link_flags = ["/MACHINE:X64"],
239    dbg_mode_debug_flag = "/DEBUG:FULL",
240    fastbuild_mode_debug_flag = "/DEBUG:FASTLINK",
241)
242
243toolchain(
244    name = "cc-toolchain-x64_windows",
245    exec_compatible_with = [
246        "@platforms//cpu:x86_64",
247        "@platforms//os:windows",
248    ],
249    target_compatible_with = [
250        "@platforms//cpu:x86_64",
251        "@platforms//os:windows",
252    ],
253    toolchain = ":cc-compiler-x64_windows",
254    toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
255)
256
257cc_toolchain(
258    name = "cc-compiler-x64_x86_windows",
259    toolchain_identifier = "msvc_x64_x86",
260    toolchain_config = ":msvc_x64_x86",
261    all_files = ":empty",
262    ar_files = ":empty",
263    as_files = ":msvc_compiler_files",
264    compiler_files = ":msvc_compiler_files",
265    dwp_files = ":empty",
266    linker_files = ":empty",
267    objcopy_files = ":empty",
268    strip_files = ":empty",
269    supports_param_files = 1,
270)
271
272cc_toolchain_config(
273    name = "msvc_x64_x86",
274    cpu = "x64_windows",
275    compiler = "msvc-cl",
276    host_system_name = "local",
277    target_system_name = "local",
278    target_libc = "msvcrt",
279    abi_version = "local",
280    abi_libc_version = "local",
281    toolchain_identifier = "msvc_x64_x86",
282    msvc_env_tmp = "C:\\Users\\ContainerAdministrator\\AppData\\Local\\Temp",
283    msvc_env_path = "C:\\VS\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x86;C:\\VS\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64;C:\\VS\\Common7\\IDE\\VC\\VCPackages;C:\\VS\\Common7\\IDE\\CommonExtensions\\Microsoft\\TestWindow;C:\\VS\\Common7\\IDE\\CommonExtensions\\Microsoft\\TeamFoundation\\Team Explorer;C:\\VS\\MSBuild\\Current\\bin\\Roslyn;C:\\VS\\Common7\\Tools\\devinit;C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.19041.0\\x64;C:\\Program Files (x86)\\Windows Kits\\10\\bin\\x64;C:\\VS\\\\MSBuild\\Current\\Bin;C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319;C:\\VS\\Common7\\IDE\\;C:\\VS\\Common7\\Tools\\;;C:\\Windows\\system32",
284    msvc_env_include = "C:\\VS\\VC\\Tools\\MSVC\\14.29.30133\\include;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\ucrt;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\shared;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\um;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\winrt;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\cppwinrt",
285    msvc_env_lib = "C:\\VS\\VC\\Tools\\MSVC\\14.29.30133\\lib\\x86;C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.19041.0\\ucrt\\x86;C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.19041.0\\um\\x86",
286    msvc_cl_path = "C:/VS/VC/Tools/MSVC/14.29.30133/bin/HostX64/x86/cl.exe",
287    msvc_ml_path = "C:/VS/VC/Tools/MSVC/14.29.30133/bin/HostX64/x86/ml.exe",
288    msvc_link_path = "C:/VS/VC/Tools/MSVC/14.29.30133/bin/HostX64/x86/link.exe",
289    msvc_lib_path = "C:/VS/VC/Tools/MSVC/14.29.30133/bin/HostX64/x86/lib.exe",
290    cxx_builtin_include_directories = [        "C:\\VS\\VC\\Tools\\MSVC\\14.29.30133\\include",
291        "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\ucrt",
292        "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\shared",
293        "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\um",
294        "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\winrt",
295        "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.19041.0\\cppwinrt"],
296    tool_paths = {
297        "ar": "C:/VS/VC/Tools/MSVC/14.29.30133/bin/HostX64/x86/lib.exe",
298        "ml": "C:/VS/VC/Tools/MSVC/14.29.30133/bin/HostX64/x86/ml.exe",
299        "cpp": "C:/VS/VC/Tools/MSVC/14.29.30133/bin/HostX64/x86/cl.exe",
300        "gcc": "C:/VS/VC/Tools/MSVC/14.29.30133/bin/HostX64/x86/cl.exe",
301        "gcov": "wrapper/bin/msvc_nop.bat",
302        "ld": "C:/VS/VC/Tools/MSVC/14.29.30133/bin/HostX64/x86/link.exe",
303        "nm": "wrapper/bin/msvc_nop.bat",
304        "objcopy": "wrapper/bin/msvc_nop.bat",
305        "objdump": "wrapper/bin/msvc_nop.bat",
306        "strip": "wrapper/bin/msvc_nop.bat",
307    },
308    archiver_flags = ["/MACHINE:X86"],
309    default_link_flags = ["/MACHINE:X86"],
310    dbg_mode_debug_flag = "/DEBUG:FULL",
311    fastbuild_mode_debug_flag = "/DEBUG:FASTLINK",
312)
313
314toolchain(
315    name = "cc-toolchain-x64_x86_windows",
316    exec_compatible_with = [
317        "@platforms//cpu:x86_64",
318        "@platforms//os:windows",
319    ],
320    target_compatible_with = [
321        "@platforms//cpu:x86_32",
322        "@platforms//os:windows",
323    ],
324    toolchain = ":cc-compiler-x64_x86_windows",
325    toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
326)
327
328cc_toolchain(
329    name = "cc-compiler-x64_arm_windows",
330    toolchain_identifier = "msvc_x64_arm",
331    toolchain_config = ":msvc_x64_arm",
332    all_files = ":empty",
333    ar_files = ":empty",
334    as_files = ":msvc_compiler_files",
335    compiler_files = ":msvc_compiler_files",
336    dwp_files = ":empty",
337    linker_files = ":empty",
338    objcopy_files = ":empty",
339    strip_files = ":empty",
340    supports_param_files = 1,
341)
342
343cc_toolchain_config(
344    name = "msvc_x64_arm",
345    cpu = "x64_windows",
346    compiler = "msvc-cl",
347    host_system_name = "local",
348    target_system_name = "local",
349    target_libc = "msvcrt",
350    abi_version = "local",
351    abi_libc_version = "local",
352    toolchain_identifier = "msvc_x64_arm",
353    msvc_env_tmp = "msvc_not_found",
354    msvc_env_path = "msvc_not_found",
355    msvc_env_include = "msvc_not_found",
356    msvc_env_lib = "msvc_not_found",
357    msvc_cl_path = "vc_installation_error_arm.bat",
358    msvc_ml_path = "vc_installation_error_arm.bat",
359    msvc_link_path = "vc_installation_error_arm.bat",
360    msvc_lib_path = "vc_installation_error_arm.bat",
361    cxx_builtin_include_directories = [],
362    tool_paths = {
363        "ar": "vc_installation_error_arm.bat",
364        "ml": "vc_installation_error_arm.bat",
365        "cpp": "vc_installation_error_arm.bat",
366        "gcc": "vc_installation_error_arm.bat",
367        "gcov": "wrapper/bin/msvc_nop.bat",
368        "ld": "vc_installation_error_arm.bat",
369        "nm": "wrapper/bin/msvc_nop.bat",
370        "objcopy": "wrapper/bin/msvc_nop.bat",
371        "objdump": "wrapper/bin/msvc_nop.bat",
372        "strip": "wrapper/bin/msvc_nop.bat",
373    },
374    archiver_flags = ["/MACHINE:ARM"],
375    default_link_flags = ["/MACHINE:ARM"],
376    dbg_mode_debug_flag = "/DEBUG",
377    fastbuild_mode_debug_flag = "/DEBUG",
378)
379
380toolchain(
381    name = "cc-toolchain-x64_arm_windows",
382    exec_compatible_with = [
383        "@platforms//cpu:x86_64",
384        "@platforms//os:windows",
385    ],
386    target_compatible_with = [
387        "@platforms//cpu:arm",
388        "@platforms//os:windows",
389    ],
390    toolchain = ":cc-compiler-x64_arm_windows",
391    toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
392)
393
394cc_toolchain(
395    name = "cc-compiler-arm64_windows",
396    toolchain_identifier = "msvc_arm64",
397    toolchain_config = ":msvc_arm64",
398    all_files = ":empty",
399    ar_files = ":empty",
400    as_files = ":msvc_compiler_files",
401    compiler_files = ":msvc_compiler_files",
402    dwp_files = ":empty",
403    linker_files = ":empty",
404    objcopy_files = ":empty",
405    strip_files = ":empty",
406    supports_param_files = 1,
407)
408
409cc_toolchain_config(
410    name = "msvc_arm64",
411    cpu = "x64_windows",
412    compiler = "msvc-cl",
413    host_system_name = "local",
414    target_system_name = "local",
415    target_libc = "msvcrt",
416    abi_version = "local",
417    abi_libc_version = "local",
418    toolchain_identifier = "msvc_arm64",
419    msvc_env_tmp = "msvc_not_found",
420    msvc_env_path = "msvc_not_found",
421    msvc_env_include = "msvc_not_found",
422    msvc_env_lib = "msvc_not_found",
423    msvc_cl_path = "vc_installation_error_arm64.bat",
424    msvc_ml_path = "vc_installation_error_arm64.bat",
425    msvc_link_path = "vc_installation_error_arm64.bat",
426    msvc_lib_path = "vc_installation_error_arm64.bat",
427    cxx_builtin_include_directories = [],
428    tool_paths = {
429        "ar": "vc_installation_error_arm64.bat",
430        "ml": "vc_installation_error_arm64.bat",
431        "cpp": "vc_installation_error_arm64.bat",
432        "gcc": "vc_installation_error_arm64.bat",
433        "gcov": "wrapper/bin/msvc_nop.bat",
434        "ld": "vc_installation_error_arm64.bat",
435        "nm": "wrapper/bin/msvc_nop.bat",
436        "objcopy": "wrapper/bin/msvc_nop.bat",
437        "objdump": "wrapper/bin/msvc_nop.bat",
438        "strip": "wrapper/bin/msvc_nop.bat",
439    },
440    archiver_flags = ["/MACHINE:ARM64"],
441    default_link_flags = ["/MACHINE:ARM64"],
442    dbg_mode_debug_flag = "/DEBUG",
443    fastbuild_mode_debug_flag = "/DEBUG",
444)
445
446toolchain(
447    name = "cc-toolchain-arm64_windows",
448    exec_compatible_with = [
449        "@platforms//os:windows",
450    ],
451    target_compatible_with = [
452        "@platforms//cpu:arm64",
453        "@platforms//os:windows",
454    ],
455    toolchain = ":cc-compiler-arm64_windows",
456    toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
457)
458
459
460cc_toolchain(
461    name = "cc-compiler-x64_windows-clang-cl",
462    toolchain_identifier = "clang_cl_x64",
463    toolchain_config = ":clang_cl_x64",
464    all_files = ":empty",
465    ar_files = ":empty",
466    as_files = ":clangcl_compiler_files",
467    compiler_files = ":clangcl_compiler_files",
468    dwp_files = ":empty",
469    linker_files = ":empty",
470    objcopy_files = ":empty",
471    strip_files = ":empty",
472    supports_param_files = 1,
473)
474
475cc_toolchain_config(
476    name = "clang_cl_x64",
477    cpu = "x64_windows",
478    compiler = "clang-cl",
479    host_system_name = "local",
480    target_system_name = "local",
481    target_libc = "msvcrt",
482    abi_version = "local",
483    abi_libc_version = "local",
484    toolchain_identifier = "clang_cl_x64",
485    msvc_env_tmp = "clang_cl_not_found",
486    msvc_env_path = "clang_cl_not_found",
487    msvc_env_include = "clang_cl_not_found",
488    msvc_env_lib = "clang_cl_not_found",
489    msvc_cl_path = "clang_installation_error.bat",
490    msvc_ml_path = "clang_installation_error.bat",
491    msvc_link_path = "clang_installation_error.bat",
492    msvc_lib_path = "clang_installation_error.bat",
493    cxx_builtin_include_directories = [],
494    tool_paths = {
495        "ar": "clang_installation_error.bat",
496        "ml": "clang_installation_error.bat",
497        "cpp": "clang_installation_error.bat",
498        "gcc": "clang_installation_error.bat",
499        "gcov": "wrapper/bin/msvc_nop.bat",
500        "ld": "clang_installation_error.bat",
501        "nm": "wrapper/bin/msvc_nop.bat",
502        "objcopy": "wrapper/bin/msvc_nop.bat",
503        "objdump": "wrapper/bin/msvc_nop.bat",
504        "strip": "wrapper/bin/msvc_nop.bat",
505    },
506    archiver_flags = ["/MACHINE:X64"],
507    default_link_flags = ["/MACHINE:X64", "/DEFAULTLIB:clang_rt.builtins-x86_64.lib"],
508    dbg_mode_debug_flag = "/DEBUG",
509    fastbuild_mode_debug_flag = "/DEBUG",
510)
511
512toolchain(
513    name = "cc-toolchain-x64_windows-clang-cl",
514    exec_compatible_with = [
515        "@platforms//cpu:x86_64",
516        "@platforms//os:windows",
517        "@bazel_tools//tools/cpp:clang-cl",
518    ],
519    target_compatible_with = [
520        "@platforms//cpu:x86_64",
521        "@platforms//os:windows",
522    ],
523    toolchain = ":cc-compiler-x64_windows-clang-cl",
524    toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
525)
526
527cc_toolchain(
528    name = "cc-compiler-arm64_windows-clang-cl",
529    toolchain_identifier = "clang_cl_arm64",
530    toolchain_config = ":clang_cl_arm64",
531    all_files = ":empty",
532    ar_files = ":empty",
533    as_files = ":clangcl_compiler_files",
534    compiler_files = ":clangcl_compiler_files",
535    dwp_files = ":empty",
536    linker_files = ":empty",
537    objcopy_files = ":empty",
538    strip_files = ":empty",
539    supports_param_files = 1,
540)
541
542cc_toolchain_config(
543    name = "clang_cl_arm64",
544    cpu = "arm64_windows",
545    compiler = "clang-cl",
546    host_system_name = "local",
547    target_system_name = "aarch64-pc-windows-msvc",
548    target_libc = "msvcrt",
549    abi_version = "local",
550    abi_libc_version = "local",
551    toolchain_identifier = "clang_cl_arm64",
552    msvc_env_tmp = "clang_cl_not_found",
553    msvc_env_path = "clang_cl_not_found",
554    msvc_env_include = "clang_cl_not_found",
555    msvc_env_lib = "clang_cl_not_found",
556    msvc_cl_path = "vc_installation_error_arm64.bat",
557    msvc_ml_path = "vc_installation_error_arm64.bat",
558    msvc_link_path = "vc_installation_error_arm64.bat",
559    msvc_lib_path = "vc_installation_error_arm64.bat",
560    cxx_builtin_include_directories = [],
561    tool_paths = {
562        "ar": "vc_installation_error_arm64.bat",
563        "ml": "vc_installation_error_arm64.bat",
564        "cpp": "vc_installation_error_arm64.bat",
565        "gcc": "vc_installation_error_arm64.bat",
566        "gcov": "wrapper/bin/msvc_nop.bat",
567        "ld": "vc_installation_error_arm64.bat",
568        "nm": "wrapper/bin/msvc_nop.bat",
569        "objcopy": "wrapper/bin/msvc_nop.bat",
570        "objdump": "wrapper/bin/msvc_nop.bat",
571        "strip": "wrapper/bin/msvc_nop.bat",
572    },
573    archiver_flags = ["/MACHINE:ARM64"],
574    default_link_flags = ["/MACHINE:ARM64"],
575    dbg_mode_debug_flag = "/DEBUG",
576    fastbuild_mode_debug_flag = "/DEBUG",
577)
578
579toolchain(
580    name = "cc-toolchain-arm64_windows-clang-cl",
581    exec_compatible_with = [
582        "@platforms//os:windows",
583        "@bazel_tools//tools/cpp:clang-cl",
584    ],
585    target_compatible_with = [
586        "@platforms//cpu:arm64",
587        "@platforms//os:windows",
588    ],
589    toolchain = ":cc-compiler-arm64_windows-clang-cl",
590    toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
591)
592
593cc_toolchain(
594    name = "cc-compiler-armeabi-v7a",
595    toolchain_identifier = "stub_armeabi-v7a",
596    toolchain_config = ":stub_armeabi-v7a",
597    all_files = ":empty",
598    ar_files = ":empty",
599    as_files = ":empty",
600    compiler_files = ":empty",
601    dwp_files = ":empty",
602    linker_files = ":empty",
603    objcopy_files = ":empty",
604    strip_files = ":empty",
605    supports_param_files = 1,
606)
607
608armeabi_cc_toolchain_config(name = "stub_armeabi-v7a")
609
610toolchain(
611    name = "cc-toolchain-armeabi-v7a",
612    exec_compatible_with = [
613    ],
614    target_compatible_with = [
615        "@platforms//cpu:arm",
616        "@platforms//os:android",
617    ],
618    toolchain = ":cc-compiler-armeabi-v7a",
619    toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
620)
621