diff options
author | David Chen <dzc@google.com> | 2015-09-02 08:12:11 +0000 |
---|---|---|
committer | Florian Weikert <fwe@google.com> | 2015-09-02 11:54:18 +0000 |
commit | 4eda248d3fc5c51b503e1722f62851e1801315aa (patch) | |
tree | 60217c202ca526e03cea0ca84f71821e3c0f8759 /tools/build_rules/rust | |
parent | 060994f580f980300eb22f0e52d8921662349c96 (diff) |
Set DYLD_LIBRARY_PATH correctly for rustc.
--
MOS_MIGRATED_REVID=102121504
Diffstat (limited to 'tools/build_rules/rust')
-rw-r--r-- | tools/build_rules/rust/BUILD | 8 | ||||
-rw-r--r-- | tools/build_rules/rust/rust-darwin-x86_64.BUILD | 6 | ||||
-rw-r--r-- | tools/build_rules/rust/rust-linux-x86_64.BUILD | 6 | ||||
-rw-r--r-- | tools/build_rules/rust/rust.bzl | 4 |
4 files changed, 24 insertions, 0 deletions
diff --git a/tools/build_rules/rust/BUILD b/tools/build_rules/rust/BUILD index b314c0df5e..284933418e 100644 --- a/tools/build_rules/rust/BUILD +++ b/tools/build_rules/rust/BUILD @@ -19,6 +19,14 @@ filegroup( ) filegroup( + name = "rustc_lib", + srcs = select({ + ":darwin": ["@rust-darwin-x86_64//:rustc_lib"], + ":k8": ["@rust-linux-x86_64//:rustc_lib"], + }), +) + +filegroup( name = "rustlib", srcs = select({ ":darwin": ["@rust-darwin-x86_64//:rustlib"], diff --git a/tools/build_rules/rust/rust-darwin-x86_64.BUILD b/tools/build_rules/rust/rust-darwin-x86_64.BUILD index 1e3b7c97c1..cc7aaadd2f 100644 --- a/tools/build_rules/rust/rust-darwin-x86_64.BUILD +++ b/tools/build_rules/rust/rust-darwin-x86_64.BUILD @@ -7,6 +7,12 @@ filegroup( ) filegroup( + name = "rustc_lib", + srcs = glob([BASE_DIR + "rustc/lib/*.dylib"]), + visibility = ["//visibility:public"], +) + +filegroup( name = "rustdoc", srcs = [BASE_DIR + "rustc/bin/rustdoc"], visibility = ["//visibility:public"], diff --git a/tools/build_rules/rust/rust-linux-x86_64.BUILD b/tools/build_rules/rust/rust-linux-x86_64.BUILD index 27559106fd..7d4a7e3478 100644 --- a/tools/build_rules/rust/rust-linux-x86_64.BUILD +++ b/tools/build_rules/rust/rust-linux-x86_64.BUILD @@ -7,6 +7,12 @@ filegroup( ) filegroup( + name = "rustc_lib", + srcs = glob([BASE_DIR + "rustc/lib/*.so"]), + visibility = ["//visibility:public"], +) + +filegroup( name = "rustdoc", srcs = [BASE_DIR + "rustc/bin/rustdoc"], visibility = ["//visibility:public"], diff --git a/tools/build_rules/rust/rust.bzl b/tools/build_rules/rust/rust.bzl index 149f41536f..847775ddfc 100644 --- a/tools/build_rules/rust/rust.bzl +++ b/tools/build_rules/rust/rust.bzl @@ -120,6 +120,7 @@ def _build_rustc_command(ctx, crate_type, src, output_dir, depinfo, # Paths to the Rust compiler and standard libraries. rustc_path = ctx.file._rustc.path + rustc_lib_path = ctx.files._rustc_lib[0].dirname rustlib_path = ctx.files._rustlib[0].dirname # Paths to cc (for linker) and ar @@ -140,6 +141,7 @@ def _build_rustc_command(ctx, crate_type, src, output_dir, depinfo, return " ".join([ "set -e;", " ".join(depinfo.setup_cmd), + "DYLD_LIBRARY_PATH=" + rustc_lib_path, rustc_path + " " + src, "--crate-name " + ctx.label.name, "--crate-type " + crate_type, @@ -267,6 +269,8 @@ _rust_common_attrs = { default = Label("//tools/build_rules/rust:rustc"), executable = True, single_file = True), + "_rustc_lib": attr.label( + default = Label("//tools/build_rules/rust:rustc_lib")), "_rustlib": attr.label(default = Label("//tools/build_rules/rust:rustlib")), } |