aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/toolchains/clang6/clang.BUILD
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/toolchains/clang6/clang.BUILD')
-rw-r--r--third_party/toolchains/clang6/clang.BUILD162
1 files changed, 162 insertions, 0 deletions
diff --git a/third_party/toolchains/clang6/clang.BUILD b/third_party/toolchains/clang6/clang.BUILD
new file mode 100644
index 0000000000..802d62c17c
--- /dev/null
+++ b/third_party/toolchains/clang6/clang.BUILD
@@ -0,0 +1,162 @@
+package(default_visibility = ["//visibility:public"])
+
+# Please note that the output of these tools is unencumbered.
+licenses(["restricted"]) # NCSA, GPLv3 (e.g. gold)
+
+filegroup(
+ name = "ar",
+ srcs = ["llvm/bin/llvm-ar"],
+ output_licenses = ["unencumbered"],
+)
+
+filegroup(
+ name = "as",
+ srcs = ["llvm/bin/llvm-as"],
+ output_licenses = ["unencumbered"],
+)
+
+filegroup(
+ name = "cpp",
+ srcs = ["llvm/bin/llvm-cpp"],
+ output_licenses = ["unencumbered"],
+)
+
+filegroup(
+ name = "dwp",
+ srcs = ["llvm/bin/llvm-dwp"],
+ output_licenses = ["unencumbered"],
+)
+
+filegroup(
+ name = "gcc",
+ srcs = ["llvm/bin/clang"],
+ output_licenses = ["unencumbered"],
+)
+
+filegroup(
+ name = "gcov",
+ srcs = ["llvm/bin/llvm-cov"],
+ output_licenses = ["unencumbered"],
+)
+
+filegroup(
+ name = "ld",
+ srcs = ["llvm/bin/ld.lld"],
+ output_licenses = ["unencumbered"],
+)
+
+filegroup(
+ name = "nm",
+ srcs = ["llvm/bin/llvm-nm"],
+ output_licenses = ["unencumbered"],
+)
+
+filegroup(
+ name = "objcopy",
+ srcs = ["llvm/bin/llvm-objcopy"],
+ output_licenses = ["unencumbered"],
+)
+
+filegroup(
+ name = "objdump",
+ srcs = ["llvm/bin/llvm-objdump"],
+ output_licenses = ["unencumbered"],
+)
+
+filegroup(
+ name = "profdata",
+ srcs = ["llvm/bin/llvm-profdata"],
+ output_licenses = ["unencumbered"],
+)
+
+filegroup(
+ name = "strip",
+ srcs = ["sbin/strip"],
+ output_licenses = ["unencumbered"],
+)
+
+filegroup(
+ name = "xray",
+ srcs = ["llvm/bin/llvm-xray"],
+ output_licenses = ["unencumbered"],
+)
+
+filegroup(
+ name = "includes",
+ srcs = glob(["llvm/lib/clang/6.0.0/include/**"]),
+ output_licenses = ["unencumbered"],
+)
+
+filegroup(
+ name = "libraries",
+ srcs = glob([
+ "lib/*.*",
+ "lib/clang/6.0.0/lib/linux/*.*",
+ ]),
+ output_licenses = ["unencumbered"],
+)
+
+filegroup(
+ name = "compiler_files",
+ srcs = [
+ ":as",
+ ":gcc",
+ ":includes",
+ ],
+ output_licenses = ["unencumbered"],
+)
+
+filegroup(
+ name = "linker_files",
+ srcs = [
+ ":ar",
+ ":ld",
+ ":libraries",
+ ],
+ output_licenses = ["unencumbered"],
+)
+
+filegroup(
+ name = "all_files",
+ srcs = [
+ ":compiler_files",
+ ":dwp",
+ ":gcov",
+ ":linker_files",
+ ":nm",
+ ":objcopy",
+ ":objdump",
+ ":profdata",
+ ":strip",
+ ":xray",
+ ],
+ output_licenses = ["unencumbered"],
+)
+
+filegroup(
+ name = "empty",
+ srcs = [], # bazel crashes without this
+ output_licenses = ["unencumbered"],
+)
+
+cc_toolchain_suite(
+ name = "clang6",
+ toolchains = {
+ "k8|clang6": ":clang6-k8",
+ },
+)
+
+cc_toolchain(
+ name = "clang6-k8",
+ all_files = ":all_files",
+ compiler_files = ":compiler_files",
+ cpu = "k8",
+ dwp_files = ":dwp",
+ dynamic_runtime_libs = [":empty"],
+ linker_files = ":linker_files",
+ objcopy_files = ":objcopy",
+ output_licenses = ["unencumbered"],
+ static_runtime_libs = [":empty"],
+ strip_files = ":strip",
+ supports_param_files = 1,
+)