diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2020-03-08 20:54:30 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-03-08 20:54:30 +0100 |
| commit | 5e9888eec5f5e5d41be0d6ccd0b55bbd536f44e9 (patch) | |
| tree | b65d502293ab4fc84099d40c9cadfb3410cbd821 | |
| parent | ff961789bc11bcace77e789cd680ee18de37ca05 (diff) | |
| parent | dbd1514353a5aa38d08fbb08e05aa478ae926de0 (diff) | |
| download | rust-5e9888eec5f5e5d41be0d6ccd0b55bbd536f44e9.tar.gz rust-5e9888eec5f5e5d41be0d6ccd0b55bbd536f44e9.zip | |
Rollup merge of #69608 - o01eg:expose-target-libdir-print, r=ehuss
Expose target libdir information via print command With custom libdir it is required to have an access to library placement. See https://github.com/RazrFalcon/cargo-bloat/issues/51
| -rw-r--r-- | src/doc/rustc/src/command-line-arguments.md | 1 | ||||
| -rw-r--r-- | src/librustc_driver/lib.rs | 4 | ||||
| -rw-r--r-- | src/librustc_session/config.rs | 4 |
3 files changed, 8 insertions, 1 deletions
diff --git a/src/doc/rustc/src/command-line-arguments.md b/src/doc/rustc/src/command-line-arguments.md index 659f8f65e65..7a7838d965b 100644 --- a/src/doc/rustc/src/command-line-arguments.md +++ b/src/doc/rustc/src/command-line-arguments.md @@ -146,6 +146,7 @@ The valid types of print values are: - `crate-name` — The name of the crate. - `file-names` — The names of the files created by the `link` emit kind. - `sysroot` — Path to the sysroot. +- `target-libdir` - Path to the target libdir. - `cfg` — List of cfg values. See [conditional compilation] for more information about cfg values. - `target-list` — List of known targets. The target may be selected with the diff --git a/src/librustc_driver/lib.rs b/src/librustc_driver/lib.rs index 789507fb48b..e6c98ad27e8 100644 --- a/src/librustc_driver/lib.rs +++ b/src/librustc_driver/lib.rs @@ -680,6 +680,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..c273e7fdbf9 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, @@ -912,7 +913,7 @@ pub fn rustc_short_optgroups() -> Vec<RustcOptGroup> { "", "print", "Compiler information to print on stdout", - "[crate-name|file-names|sysroot|cfg|target-list|\ + "[crate-name|file-names|sysroot|target-libdir|cfg|target-list|\ target-cpus|target-features|relocation-models|\ code-models|tls-models|target-spec-json|native-static-libs]", ), @@ -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, |
