]> git.lizzy.rs Git - rust.git/commitdiff
rustdoc: Support --extern-private but treat as --extern
authorDaniel Silverstone <dsilvers@digital-scurf.org>
Fri, 8 Nov 2019 07:29:08 +0000 (07:29 +0000)
committerDaniel Silverstone <dsilvers@digital-scurf.org>
Fri, 8 Nov 2019 07:31:24 +0000 (07:31 +0000)
This makes `rustdoc` support `--extern-private` but treats it
the same as `--extern` which is useful for making the CLI more
similar to `rustc` to ease test suite integration.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
src/librustdoc/config.rs
src/librustdoc/lib.rs

index 0b8d4d6c302f19bc8986c43dafb5d8374fe090c7..fc043cae5415a4df539028442c131daed905540c 100644 (file)
@@ -608,10 +608,12 @@ fn parse_extern_html_roots(
 /// Extracts `--extern CRATE=PATH` arguments from `matches` and
 /// returns a map mapping crate names to their paths or else an
 /// error message.
+/// Also handles `--extern-private` which for the purposes of rustdoc
+/// we can treat as `--extern`
 // FIXME(eddyb) This shouldn't be duplicated with `rustc::session`.
 fn parse_externs(matches: &getopts::Matches) -> Result<Externs, String> {
     let mut externs: BTreeMap<_, ExternEntry> = BTreeMap::new();
-    for arg in &matches.opt_strs("extern") {
+    for arg in matches.opt_strs("extern").iter().chain(matches.opt_strs("extern-private").iter()) {
         let mut parts = arg.splitn(2, '=');
         let name = parts.next().ok_or("--extern value must not be empty".to_string())?;
         let location = parts.next().map(|s| s.to_string());
index 8cd32a3d1b508cc3e55e9ccbab6a53319fed9da2..3571104a3d90fd3ee15b6bbcce1ef653b55eaf21 100644 (file)
@@ -142,6 +142,10 @@ fn opts() -> Vec<RustcOptGroup> {
         stable("extern", |o| {
             o.optmulti("", "extern", "pass an --extern to rustc", "NAME=PATH")
         }),
+        stable("extern-private", |o| {
+            o.optmulti("", "extern-private",
+                       "pass an --extern to rustc (compatibility only)", "NAME=PATH")
+        }),
         unstable("extern-html-root-url", |o| {
             o.optmulti("", "extern-html-root-url",
                        "base URL to use for dependencies", "NAME=URL")