From a87d80f6e28f28b091f11bd55dd4c4a51b165a91 Mon Sep 17 00:00:00 2001 From: Elly Jones Date: Thu, 15 Dec 2011 10:11:01 -0500 Subject: [PATCH] cargo: detect library installs properly --- src/cargo/cargo.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/cargo/cargo.rs b/src/cargo/cargo.rs index 7dc128aa71526..49a5367860efb 100644 --- a/src/cargo/cargo.rs +++ b/src/cargo/cargo.rs @@ -154,12 +154,13 @@ fn install_one_crate(c: cargo, _path: str, cf: str, _p: pkg) { name = str::slice(name, 0u, ri as uint); } log #fmt["Installing: %s", name]; - let old = fs::list_dir("."); - run::run_program("rustc", [cf]); - let new = fs::list_dir("."); + let old = vec::map({|x| str::slice(x, 2u, str::byte_len(x))}, fs::list_dir(".")); + run::run_program("rustc", [name + ".rc"]); + let new = vec::map({|x| str::slice(x, 2u, str::byte_len(x))}, fs::list_dir(".")); let created = vec::filter::({ |n| !vec::member::(n, old) }, new); for ct: str in created { - if str::ends_with(ct, os::exec_suffix()) { + if (os::exec_suffix() != "" && str::ends_with(ct, os::exec_suffix())) || + (os::exec_suffix() == "" && !str::starts_with(ct, "lib")) { log #fmt[" bin: %s", ct]; // FIXME: need libstd fs::copy or something run::run_program("cp", [ct, c.bindir]);