1package(default_visibility = ["//visibility:public"])
2
3# The following line is only here to make this project import into IDEs that embed
4# a Bazel toolchain.
5licenses(["notice"])
6
7load(":cc_config.bzl", "cc_toolchain_config")
8
9cc_toolchain_suite(
10    name = "toolchain",
11    toolchains = {
12        "armeabi|compiler": ":cc-compiler-armeabi",
13        "local|compiler": ":cc-compiler-local",
14        "armeabi": ":cc-compiler-armeabi",
15        "aarch64": ":cc-compiler-aarch64",
16        "k8": ":cc-compiler-local",
17        "piii": ":cc-compiler-local",
18        "arm": ":cc-compiler-local",
19        "s390x": ":cc-compiler-local",
20    },
21)
22
23filegroup(
24    name = "empty",
25    srcs = [],
26)
27
28filegroup(
29    name = "arm_linux_all_files",
30    srcs = [
31        "@arm_compiler//:compiler_pieces",
32    ],
33)
34
35filegroup(
36    name = "aarch64_linux_all_files",
37    srcs = [
38        "@aarch64_compiler//:aarch64_compiler_pieces",
39    ],
40)
41
42cc_toolchain_config(
43    name = "local_config",
44    cpu = "local",
45)
46
47cc_toolchain(
48    name = "cc-compiler-local",
49    all_files = ":empty",
50    compiler_files = ":empty",
51    dwp_files = ":empty",
52    linker_files = ":empty",
53    objcopy_files = ":empty",
54    strip_files = ":empty",
55    supports_param_files = 1,
56    toolchain_config = ":local_config",
57    toolchain_identifier = "local_linux",
58)
59
60cc_toolchain_config(
61    name = "armeabi_config",
62    cpu = "armeabi",
63)
64
65cc_toolchain(
66    name = "cc-compiler-armeabi",
67    all_files = ":arm_linux_all_files",
68    compiler_files = ":arm_linux_all_files",
69    dwp_files = ":empty",
70    linker_files = ":arm_linux_all_files",
71    objcopy_files = "arm_linux_all_files",
72    strip_files = "arm_linux_all_files",
73    supports_param_files = 1,
74    toolchain_config = ":armeabi_config",
75    toolchain_identifier = "arm-linux-gnueabihf",
76)
77
78cc_toolchain_config(
79    name = "aarch64_config",
80    cpu = "aarch64",
81)
82
83cc_toolchain(
84    name = "cc-compiler-aarch64",
85    all_files = ":aarch64_linux_all_files",
86    compiler_files = ":aarch64_linux_all_files",
87    dwp_files = ":empty",
88    linker_files = ":aarch64_linux_all_files",
89    objcopy_files = "aarch64_linux_all_files",
90    strip_files = "aarch64_linux_all_files",
91    supports_param_files = 1,
92    toolchain_config = ":aarch64_config",
93    toolchain_identifier = "aarch64-linux-gnu",
94)
95