diff --git a/src/librustdoc/config.rs b/src/librustdoc/config.rs index 0b8d4d6c302f..fc043cae5415 100644 --- a/src/librustdoc/config.rs +++ b/src/librustdoc/config.rs @@ -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 { 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()); diff --git a/src/librustdoc/lib.rs b/src/librustdoc/lib.rs index 8cd32a3d1b50..3571104a3d90 100644 --- a/src/librustdoc/lib.rs +++ b/src/librustdoc/lib.rs @@ -142,6 +142,10 @@ fn opts() -> Vec { 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")