]> git.proxmox.com Git - cargo.git/commitdiff
auto merge of #677 : sfackler/cargo/rustdoc-features, r=alexcrichton
authorbors <bors@rust-lang.org>
Tue, 7 Oct 2014 23:29:57 +0000 (23:29 +0000)
committerbors <bors@rust-lang.org>
Tue, 7 Oct 2014 23:29:57 +0000 (23:29 +0000)
Note that they won't actually work until rust-lang/rust#17834 lands.

1  2 
src/cargo/ops/cargo_rustc/mod.rs

index d12d8c999f0384d0cc400238b4de31451d623ade,d21b6671d2b48a9a7587bc2c3758060f402f5a27..fd83b7dbba674ac8e2e886c6a834819c26b9e805
@@@ -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);