From: bors Date: Tue, 7 Oct 2014 23:29:57 +0000 (+0000) Subject: auto merge of #677 : sfackler/cargo/rustdoc-features, r=alexcrichton X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=861c07f01517a7c86fea022965413e408b89d6c9;p=cargo.git auto merge of #677 : sfackler/cargo/rustdoc-features, r=alexcrichton Note that they won't actually work until rust-lang/rust#17834 lands. --- 861c07f01517a7c86fea022965413e408b89d6c9 diff --cc src/cargo/ops/cargo_rustc/mod.rs index d12d8c999,d21b6671d..fd83b7dbb --- a/src/cargo/ops/cargo_rustc/mod.rs +++ b/src/cargo/ops/cargo_rustc/mod.rs @@@ -298,11 -304,21 +298,21 @@@ fn rustdoc(package: &Package, target: & cx: &mut Context) -> CargoResult<(Work, String)> { let kind = KindTarget; let pkg_root = package.get_root(); - let cx_root = cx.layout(kind).proxy().dest().join("doc"); + let cx_root = cx.layout(package, kind).proxy().dest().join("doc"); let rustdoc = process("rustdoc", package, cx).cwd(pkg_root.clone()); - let rustdoc = rustdoc.arg(target.get_src_path()) + let mut rustdoc = rustdoc.arg(target.get_src_path()) .arg("-o").arg(cx_root) .arg("--crate-name").arg(target.get_name()); + + match cx.resolve.features(package.get_package_id()) { + Some(features) => { + for feat in features.iter() { + rustdoc = rustdoc.arg("--cfg").arg(format!("feature=\"{}\"", feat)); + } + } + None => {} + } + let rustdoc = try!(build_deps_args(rustdoc, target, package, cx, kind)); log!(5, "commands={}", rustdoc);