1package(default_visibility = ["//visibility:public"])
2
3# Please note that the output of these tools is unencumbered.
4licenses(["restricted"])  # NCSA, GPLv3 (e.g. gold)
5
6filegroup(
7    name = "ar",
8    srcs = ["llvm/bin/llvm-ar"],
9    output_licenses = ["unencumbered"],
10)
11
12filegroup(
13    name = "as",
14    srcs = ["llvm/bin/llvm-as"],
15    output_licenses = ["unencumbered"],
16)
17
18filegroup(
19    name = "cpp",
20    srcs = ["llvm/bin/llvm-cpp"],
21    output_licenses = ["unencumbered"],
22)
23
24filegroup(
25    name = "dwp",
26    srcs = ["llvm/bin/llvm-dwp"],
27    output_licenses = ["unencumbered"],
28)
29
30filegroup(
31    name = "gcc",
32    srcs = ["llvm/bin/clang"],
33    output_licenses = ["unencumbered"],
34)
35
36filegroup(
37    name = "gcov",
38    srcs = ["llvm/bin/llvm-cov"],
39    output_licenses = ["unencumbered"],
40)
41
42filegroup(
43    name = "ld",
44    srcs = ["llvm/bin/ld.lld"],
45    output_licenses = ["unencumbered"],
46)
47
48filegroup(
49    name = "nm",
50    srcs = ["llvm/bin/llvm-nm"],
51    output_licenses = ["unencumbered"],
52)
53
54filegroup(
55    name = "objcopy",
56    srcs = ["llvm/bin/llvm-objcopy"],
57    output_licenses = ["unencumbered"],
58)
59
60filegroup(
61    name = "objdump",
62    srcs = ["llvm/bin/llvm-objdump"],
63    output_licenses = ["unencumbered"],
64)
65
66filegroup(
67    name = "profdata",
68    srcs = ["llvm/bin/llvm-profdata"],
69    output_licenses = ["unencumbered"],
70)
71
72filegroup(
73    name = "strip",
74    srcs = ["sbin/strip"],
75    output_licenses = ["unencumbered"],
76)
77
78filegroup(
79    name = "xray",
80    srcs = ["llvm/bin/llvm-xray"],
81    output_licenses = ["unencumbered"],
82)
83
84filegroup(
85    name = "includes",
86    srcs = glob(["llvm/lib/clang/6.0.0/include/**"]),
87    output_licenses = ["unencumbered"],
88)
89
90filegroup(
91    name = "libraries",
92    srcs = glob([
93        "lib/*.*",
94        "lib/clang/6.0.0/lib/linux/*.*",
95    ]),
96    output_licenses = ["unencumbered"],
97)
98
99filegroup(
100    name = "compiler_files",
101    srcs = [
102        ":as",
103        ":gcc",
104        ":includes",
105    ],
106    output_licenses = ["unencumbered"],
107)
108
109filegroup(
110    name = "linker_files",
111    srcs = [
112        ":ar",
113        ":ld",
114        ":libraries",
115    ],
116    output_licenses = ["unencumbered"],
117)
118
119filegroup(
120    name = "all_files",
121    srcs = [
122        ":compiler_files",
123        ":dwp",
124        ":gcov",
125        ":linker_files",
126        ":nm",
127        ":objcopy",
128        ":objdump",
129        ":profdata",
130        ":strip",
131        ":xray",
132    ],
133    output_licenses = ["unencumbered"],
134)
135
136filegroup(
137    name = "empty",
138    srcs = [],  # bazel crashes without this
139    output_licenses = ["unencumbered"],
140)
141
142cc_toolchain_suite(
143    name = "clang6",
144    toolchains = {
145        "k8|clang6": ":clang6-k8",
146    },
147)
148
149cc_toolchain(
150    name = "clang6-k8",
151    all_files = ":all_files",
152    compiler_files = ":compiler_files",
153    cpu = "k8",
154    dwp_files = ":dwp",
155    linker_files = ":linker_files",
156    objcopy_files = ":objcopy",
157    output_licenses = ["unencumbered"],
158    strip_files = ":strip",
159    supports_param_files = 1,
160)
161