about summary refs log tree commit diff
diff options
context:
space:
mode:
authorO01eg <o01eg@yandex.ru>2020-03-01 14:33:52 +0300
committerO01eg <o01eg@yandex.ru>2020-03-01 14:33:52 +0300
commit4023e5df7ebc2e50289c9828e374b0bf901a219d (patch)
tree2803e9969632c261b956719a09e598130b61891f
parentee50590803f37abd7ad5f5f4bbd3bb844511fcf5 (diff)
downloadrust-4023e5df7ebc2e50289c9828e374b0bf901a219d.tar.gz
rust-4023e5df7ebc2e50289c9828e374b0bf901a219d.zip
Expose target libdir information via print command.
With custom libdir it is required to have an access to library
placement.
-rw-r--r--src/librustc_driver/lib.rs4
-rw-r--r--src/librustc_session/config.rs2
2 files changed, 6 insertions, 0 deletions
diff --git a/src/librustc_driver/lib.rs b/src/librustc_driver/lib.rs
index 9a94349e5fd..5089a14a34c 100644
--- a/src/librustc_driver/lib.rs
+++ b/src/librustc_driver/lib.rs
@@ -676,6 +676,10 @@ impl RustcDefaultCalls {
                     println!("{}", targets.join("\n"));
                 }
                 Sysroot => println!("{}", sess.sysroot.display()),
+                TargetLibdir => println!(
+                    "{}",
+                    sess.target_tlib_path.as_ref().unwrap_or(&sess.host_tlib_path).dir.display()
+                ),
                 TargetSpec => println!("{}", sess.target.target.to_json().pretty()),
                 FileNames | CrateName => {
                     let input = input.unwrap_or_else(|| {
diff --git a/src/librustc_session/config.rs b/src/librustc_session/config.rs
index db4412a18a3..60f25871dd9 100644
--- a/src/librustc_session/config.rs
+++ b/src/librustc_session/config.rs
@@ -391,6 +391,7 @@ impl ExternEntry {
 pub enum PrintRequest {
     FileNames,
     Sysroot,
+    TargetLibdir,
     CrateName,
     Cfg,
     TargetList,
@@ -1344,6 +1345,7 @@ fn collect_print_requests(
         "crate-name" => PrintRequest::CrateName,
         "file-names" => PrintRequest::FileNames,
         "sysroot" => PrintRequest::Sysroot,
+        "target-libdir" => PrintRequest::TargetLibdir,
         "cfg" => PrintRequest::Cfg,
         "target-list" => PrintRequest::TargetList,
         "target-cpus" => PrintRequest::TargetCPUs,