Skip to content

Commit e11c317

Browse files
committed
auto merge of rust-lang#1079 : alexcrichton/cargo/update-rust, r=alexcrichton
Continuation of rust-lang#1077 Closes rust-lang#1079
2 parents 17d242b + 4842096 commit e11c317

19 files changed

+84
-76
lines changed

Cargo.lock

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Makefile.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ all: $(foreach target,$(CFG_TARGET),cargo-$(target))
6969

7070
define CARGO_TARGET
7171
cargo-$(1): $$(CARGO)
72-
"$$(CFG_RUSTC)" -v
72+
"$$(CFG_RUSTC)" -V
7373
$$(CARGO) build --target $(1) $$(OPT_FLAG) $$(ARGS)
7474

7575
test-unit-$(1): $$(CARGO)

configure

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ if [ $HELP -eq 0 ]; then
313313
else
314314
probe_need CFG_RUSTC rustc
315315
fi
316-
DEFAULT_BUILD=$("${CFG_RUSTC}" --version verbose | grep 'host: ' | sed 's/host: //')
316+
DEFAULT_BUILD=$("${CFG_RUSTC}" -vV | grep 'host: ' | sed 's/host: //')
317317
fi
318318

319319
valopt build "${DEFAULT_BUILD}" "GNUs ./configure syntax LLVM build triple"

src/bin/cargo.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
#![feature(phase, macro_rules)]
2-
#![deny(unused)]
2+
#![deny(warnings)]
33

44
extern crate serialize;
55
#[phase(plugin, link)] extern crate log;
66
#[phase(plugin, link)] extern crate cargo;
77

8-
use std::collections::TreeSet;
8+
use std::collections::BTreeSet;
99
use std::os;
1010
use std::io;
1111
use std::io::fs::{mod, PathExtensions};
@@ -187,9 +187,9 @@ fn execute_subcommand(cmd: &str, args: &[String], shell: &mut MultiShell) {
187187

188188
/// List all runnable commands. find_command should always succeed
189189
/// if given one of returned command.
190-
fn list_commands() -> TreeSet<String> {
190+
fn list_commands() -> BTreeSet<String> {
191191
let command_prefix = "cargo-";
192-
let mut commands = TreeSet::new();
192+
let mut commands = BTreeSet::new();
193193
for dir in list_command_directory().iter() {
194194
let entries = match fs::readdir(dir) {
195195
Ok(entries) => entries,

src/cargo/core/resolver/encode.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use std::collections::{HashMap, TreeMap};
1+
use std::collections::{HashMap, BTreeMap};
22

33
use regex::Regex;
44
use serialize::{Encodable, Encoder, Decodable, Decoder};
@@ -15,7 +15,7 @@ pub struct EncodableResolve {
1515
metadata: Option<Metadata>,
1616
}
1717

18-
pub type Metadata = TreeMap<String, String>;
18+
pub type Metadata = BTreeMap<String, String>;
1919

2020
impl EncodableResolve {
2121
pub fn to_resolve(&self, default: &SourceId) -> CargoResult<Resolve> {

src/cargo/lib.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33

44
#![feature(macro_rules, phase)]
55
#![feature(default_type_params)]
6-
#![deny(bad_style)]
6+
#![deny(unused)]
7+
#![cfg_attr(test, deny(warnings))]
78

89
extern crate libc;
910
extern crate regex;

src/cargo/ops/cargo_rustc/mod.rs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -468,7 +468,10 @@ fn rustc(package: &Package, target: &Target,
468468
t.is_lib()
469469
});
470470

471-
Ok((Work::new(move |desc_tx: Sender<String>| {
471+
let rustc_dep_info_loc = root.join(target.file_stem()).with_extension("d");
472+
let dep_info_loc = fingerprint::dep_info_loc(cx, package, target, kind);
473+
474+
Ok((Work::new(move |desc_tx| {
472475
let mut rustc = rustc;
473476

474477
// Only at runtime have we discovered what the extra -L and -l
@@ -502,6 +505,8 @@ fn rustc(package: &Package, target: &Target,
502505
human(format!("Could not compile `{}`.", name))
503506
}));
504507

508+
try!(fs::rename(&rustc_dep_info_loc, &dep_info_loc));
509+
505510
Ok(())
506511

507512
}), kind))
@@ -623,7 +628,7 @@ fn build_base_args(cx: &Context,
623628
}
624629

625630
if profile.get_opt_level() != 0 {
626-
cmd = cmd.arg("--opt-level").arg(profile.get_opt_level().to_string());
631+
cmd = cmd.arg("-C").arg(format!("opt-level={}", profile.get_opt_level()));
627632
}
628633
if (target.is_bin() || target.is_staticlib()) && profile.get_lto() {
629634
cmd = cmd.args(&["-C", "lto"]);
@@ -676,8 +681,7 @@ fn build_plugin_args(mut cmd: ProcessBuilder, cx: &Context, pkg: &Package,
676681
cmd = cmd.arg("--out-dir");
677682
cmd = cmd.arg(cx.out_dir(pkg, kind, target));
678683

679-
let dep_info_loc = fingerprint::dep_info_loc(cx, pkg, target, kind);
680-
cmd = cmd.arg("--dep-info").arg(dep_info_loc);
684+
cmd = cmd.arg("--emit=dep-info,link");
681685

682686
if kind == Kind::Target {
683687
fn opt(cmd: ProcessBuilder, key: &str, prefix: &str,

src/rustversion.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2014-12-19
1+
2014-12-21

src/snapshots.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
2014-12-21
2+
linux-i386 4dea04e278192c5409f43794a98f20a8f59df2d9
3+
linux-x86_64 3e48c573d3c4d26591feb7bfe988174720f08374
4+
macos-i386 dc3d498c0567af4a0820e91756dcfff8fde0efac
5+
macos-x86_64 f301bd8c3c93a5c88698c69190e464af1525ac96
6+
winnt-i386 5b6bc87e302d1ff6ac9b0576292eb7cbff2c3b83
7+
winnt-x86_64 a8bb8d3a7ed3fc8caf4a33d6b9d2e43544877409
8+
19
2014-12-20
210
linux-i386 1cccab5a6ac8e73472bf78cdce019cd1a60d4638
311
linux-x86_64 53c176fcda0a40fb77b901303c443de3dce3e58d

tests/test_cargo_bench.rs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ running 1 test
181181
test bench_hello ... ",
182182
COMPILING, p.url(), RUNNING))
183183
.with_stderr(format!("\
184-
task '<main>' panicked at 'assertion failed: \
184+
thread '<main>' panicked at 'assertion failed: \
185185
`(left == right) && (right == left)` (left: \
186186
`hello`, right: `nope`)', src{sep}foo.rs:13
187187
", sep = path::SEP))
@@ -646,7 +646,6 @@ test!(bin_there_for_integration {
646646
output);
647647
});
648648

649-
#[cfg(not(windows))] // FIXME(#456)
650649
test!(bench_dylib {
651650
let p = project("foo")
652651
.file("Cargo.toml", r#"
@@ -696,11 +695,11 @@ test!(bench_dylib {
696695
execs().with_status(0)
697696
.with_stdout(format!("\
698697
{compiling} bar v0.0.1 ({dir})
699-
{running} [..] --opt-level 3 [..]
698+
{running} [..] -C opt-level=3 [..]
700699
{compiling} foo v0.0.1 ({dir})
701-
{running} [..] --opt-level 3 [..]
702-
{running} [..] --opt-level 3 [..]
703-
{running} [..] --opt-level 3 [..]
700+
{running} [..] -C opt-level=3 [..]
701+
{running} [..] -C opt-level=3 [..]
702+
{running} [..] -C opt-level=3 [..]
704703
{running} [..]target[..]release[..]bench-[..]
705704
706705
running 1 test

tests/test_cargo_build_auth.rs

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
use std::io::{TcpListener, Listener, Acceptor, BufferedStream};
2-
use std::io::net::tcp::TcpAcceptor;
31
use std::collections::HashSet;
2+
use std::io::net::tcp::TcpAcceptor;
3+
use std::io::{TcpListener, Listener, Acceptor, BufferedStream};
4+
use std::thread::Thread;
45
use git2;
56

67
use support::{project, execs, ResultTest, UPDATING};
@@ -25,7 +26,6 @@ test!(http_auth_offered {
2526
let mut a = listener.listen().unwrap();
2627
let a2 = a.clone();
2728
let _c = Closer { a: a2 };
28-
let (tx, rx) = channel();
2929

3030
fn headers<R: Buffer>(rdr: &mut R) -> HashSet<String> {
3131
let valid = ["GET", "Authorization", "Accept", "User-Agent"];
@@ -38,7 +38,7 @@ test!(http_auth_offered {
3838
.collect()
3939
}
4040

41-
spawn(move|| {
41+
let t = Thread::spawn(move|| {
4242
let mut s = BufferedStream::new(a.accept().unwrap());
4343
let req = headers(&mut s);
4444
s.write(b"\
@@ -66,8 +66,6 @@ test!(http_auth_offered {
6666
"Accept: */*",
6767
"User-Agent: git/1.0 (libgit2 0.21.0)",
6868
].into_iter().map(|s| s.to_string()).collect());
69-
70-
tx.send(());
7169
});
7270

7371
let script = project("script")
@@ -122,7 +120,7 @@ Caused by:
122120
",
123121
addr = addr)));
124122

125-
rx.recv();
123+
t.join().ok().unwrap();
126124
});
127125

128126
// Boy, sure would be nice to have a TLS implementation in rust!
@@ -132,11 +130,8 @@ test!(https_something_happens {
132130
let mut a = listener.listen().unwrap();
133131
let a2 = a.clone();
134132
let _c = Closer { a: a2 };
135-
let (tx, rx) = channel();
136-
spawn(move|| {
133+
let t = Thread::spawn(move|| {
137134
drop(a.accept().unwrap());
138-
139-
tx.send(());
140135
});
141136

142137
let p = project("foo")
@@ -175,7 +170,7 @@ Caused by:
175170
"SSL error: [..]"
176171
})));
177172

178-
rx.recv();
173+
t.join().ok().unwrap();
179174
});
180175

181176
// Boy, sure would be nice to have an SSH implementation in rust!
@@ -185,11 +180,8 @@ test!(ssh_something_happens {
185180
let mut a = listener.listen().unwrap();
186181
let a2 = a.clone();
187182
let _c = Closer { a: a2 };
188-
let (tx, rx) = channel();
189-
spawn(move|| {
183+
let t = Thread::spawn(move|| {
190184
drop(a.accept().unwrap());
191-
192-
tx.send(());
193185
});
194186

195187
let p = project("foo")
@@ -221,6 +213,5 @@ Caused by:
221213
[23] Failed to start SSH session: Failed getting banner
222214
",
223215
addr = addr)));
224-
225-
rx.recv();
216+
t.join().ok().unwrap();
226217
});

tests/test_cargo_build_lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ fn verbose_output_for_lib(p: &ProjectBuilder) -> String {
1313
-C metadata=[..] \
1414
-C extra-filename=-[..] \
1515
--out-dir {dir}{sep}target \
16-
--dep-info [..] \
16+
--emit=dep-info,link \
1717
-L {dir}{sep}target \
1818
-L {dir}{sep}target{sep}deps`
1919
",

tests/test_cargo_compile.rs

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -699,8 +699,10 @@ test!(self_dependency {
699699
execs().with_status(0));
700700
});
701701

702-
#[cfg(not(windows))]
703702
test!(ignore_broken_symlinks {
703+
// windows and symlinks don't currently agree that well
704+
if cfg!(windows) { return }
705+
704706
let p = project("foo")
705707
.file("Cargo.toml", basic_bin_manifest("foo").as_slice())
706708
.file("src/foo.rs", main_file(r#""i am foo""#, &[]).as_slice())
@@ -748,11 +750,11 @@ test!(lto_build {
748750
execs().with_status(0).with_stdout(format!("\
749751
{compiling} test v0.0.0 ({url})
750752
{running} `rustc {dir}{sep}src{sep}main.rs --crate-name test --crate-type bin \
751-
--opt-level 3 \
753+
-C opt-level=3 \
752754
-C lto \
753755
--cfg ndebug \
754756
--out-dir {dir}{sep}target{sep}release \
755-
--dep-info [..] \
757+
--emit=dep-info,link \
756758
-L {dir}{sep}target{sep}release \
757759
-L {dir}{sep}target{sep}release{sep}deps`
758760
",
@@ -780,7 +782,7 @@ test!(verbose_build {
780782
-C metadata=[..] \
781783
-C extra-filename=-[..] \
782784
--out-dir {dir}{sep}target \
783-
--dep-info [..] \
785+
--emit=dep-info,link \
784786
-L {dir}{sep}target \
785787
-L {dir}{sep}target{sep}deps`
786788
",
@@ -805,12 +807,12 @@ test!(verbose_release_build {
805807
execs().with_status(0).with_stdout(format!("\
806808
{compiling} test v0.0.0 ({url})
807809
{running} `rustc {dir}{sep}src{sep}lib.rs --crate-name test --crate-type lib \
808-
--opt-level 3 \
810+
-C opt-level=3 \
809811
--cfg ndebug \
810812
-C metadata=[..] \
811813
-C extra-filename=-[..] \
812814
--out-dir {dir}{sep}target{sep}release \
813-
--dep-info [..] \
815+
--emit=dep-info,link \
814816
-L {dir}{sep}target{sep}release \
815817
-L {dir}{sep}target{sep}release{sep}deps`
816818
",
@@ -851,22 +853,22 @@ test!(verbose_release_build_deps {
851853
{compiling} foo v0.0.0 ({url})
852854
{running} `rustc {dir}{sep}foo{sep}src{sep}lib.rs --crate-name foo \
853855
--crate-type dylib --crate-type rlib -C prefer-dynamic \
854-
--opt-level 3 \
856+
-C opt-level=3 \
855857
--cfg ndebug \
856858
-C metadata=[..] \
857859
-C extra-filename=-[..] \
858860
--out-dir {dir}{sep}target{sep}release{sep}deps \
859-
--dep-info [..] \
861+
--emit=dep-info,link \
860862
-L {dir}{sep}target{sep}release{sep}deps \
861863
-L {dir}{sep}target{sep}release{sep}deps`
862864
{compiling} test v0.0.0 ({url})
863865
{running} `rustc {dir}{sep}src{sep}lib.rs --crate-name test --crate-type lib \
864-
--opt-level 3 \
866+
-C opt-level=3 \
865867
--cfg ndebug \
866868
-C metadata=[..] \
867869
-C extra-filename=-[..] \
868870
--out-dir {dir}{sep}target{sep}release \
869-
--dep-info [..] \
871+
--emit=dep-info,link \
870872
-L {dir}{sep}target{sep}release \
871873
-L {dir}{sep}target{sep}release{sep}deps \
872874
--extern foo={dir}{sep}target{sep}release{sep}deps/\

0 commit comments

Comments
 (0)