aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/build_rules/rust/rust.BUILD
diff options
context:
space:
mode:
Diffstat (limited to 'tools/build_rules/rust/rust.BUILD')
-rw-r--r--tools/build_rules/rust/rust.BUILD57
1 files changed, 57 insertions, 0 deletions
diff --git a/tools/build_rules/rust/rust.BUILD b/tools/build_rules/rust/rust.BUILD
new file mode 100644
index 0000000000..576f8b868b
--- /dev/null
+++ b/tools/build_rules/rust/rust.BUILD
@@ -0,0 +1,57 @@
+RUST_VERSION = "1.3.0"
+LINUX_BASE_DIR = "rust-%s-x86_64-unknown-linux-gnu/" % RUST_VERSION
+DARWIN_BASE_DIR = "rust-%s-x86_64-apple-darwin/" % RUST_VERSION
+
+config_setting(
+ name = "darwin",
+ values = {"host_cpu": "darwin"},
+)
+
+config_setting(
+ name = "k8",
+ values = {"host_cpu": "k8"},
+)
+
+filegroup(
+ name = "rustc",
+ srcs = select({
+ ":darwin": [DARWIN_BASE_DIR + "rustc/bin/rustc"],
+ ":k8": [LINUX_BASE_DIR + "rustc/bin/rustc"],
+ }),
+ visibility = ["//visibility:public"],
+)
+
+filegroup(
+ name = "rustc_lib",
+ srcs = select({
+ ":darwin": glob([DARWIN_BASE_DIR + "rustc/lib/*.dylib"]),
+ ":k8": glob([LINUX_BASE_DIR + "rustc/lib/*.so"]),
+ }),
+ visibility = ["//visibility:public"],
+)
+
+filegroup(
+ name = "rustdoc",
+ srcs = select({
+ ":darwin": [DARWIN_BASE_DIR + "rustc/bin/rustdoc"],
+ ":k8": [LINUX_BASE_DIR + "rustc/bin/rustdoc"],
+ }),
+ visibility = ["//visibility:public"],
+)
+
+filegroup(
+ name = "rustlib",
+ srcs = select({
+ ":darwin": glob([
+ DARWIN_BASE_DIR + "rustc/lib/rustlib/x86_64-apple-darwin/lib/*.rlib",
+ DARWIN_BASE_DIR + "rustc/lib/rustlib/x86_64-apple-darwin/lib/*.dylib",
+ DARWIN_BASE_DIR + "rustc/lib/rustlib/x86_64-apple-darwin/lib/*.a",
+ ]),
+ ":k8": glob([
+ LINUX_BASE_DIR + "rustc/lib/rustlib/x86_64-unknown-linux-gnu/lib/*.rlib",
+ LINUX_BASE_DIR + "rustc/lib/rustlib/x86_64-unknown-linux-gnu/lib/*.so",
+ LINUX_BASE_DIR + "rustc/lib/rustlib/x86_64-unknown-linux-gnu/lib/*.a",
+ ]),
+ }),
+ visibility = ["//visibility:public"],
+)