Skip to content

Commit

Permalink
auto merge of rust-lang#11706 : alexcrichton/rust/issue-11253, r=huonw
Browse files Browse the repository at this point in the history
  • Loading branch information
bors committed Jan 29, 2014
2 parents 2ba72fa + 8a1b4dc commit 2b93925
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 11 deletions.
2 changes: 1 addition & 1 deletion src/compiletest/runtest.rs
Original file line number Diff line number Diff line change
Expand Up @@ -700,7 +700,7 @@ fn compose_and_run_compiler(
let abs_ab = config.aux_base.join(rel_ab.as_slice());
let aux_props = load_props(&abs_ab);
let aux_args =
make_compile_args(config, &aux_props, ~[~"--lib"] + extra_link_args,
make_compile_args(config, &aux_props, ~[~"--dylib"] + extra_link_args,
|a,b| make_lib_name(a, b, testfile), &abs_ab);
let auxres = compose_and_run(config, &abs_ab, aux_args, ~[],
config.compile_lib_path, None);
Expand Down
6 changes: 4 additions & 2 deletions src/librustc/driver/driver.rs
Original file line number Diff line number Diff line change
Expand Up @@ -716,14 +716,16 @@ pub fn build_session_options(binary: ~str,
demitter: @diagnostic::Emitter)
-> @session::Options {
let mut outputs = ~[];
if matches.opt_present("lib") {
outputs.push(session::default_lib_output());
}
if matches.opt_present("rlib") {
outputs.push(session::OutputRlib)
}
if matches.opt_present("staticlib") {
outputs.push(session::OutputStaticlib)
}
// dynamic libraries are the "compiler blesssed" default library
if matches.opt_present("dylib") || matches.opt_present("lib") {
if matches.opt_present("dylib") {
outputs.push(session::OutputDylib)
}
if matches.opt_present("bin") {
Expand Down
6 changes: 5 additions & 1 deletion src/librustc/driver/session.rs
Original file line number Diff line number Diff line change
Expand Up @@ -422,6 +422,10 @@ pub fn building_library(options: &Options, crate: &ast::Crate) -> bool {
}
}

pub fn default_lib_output() -> OutputStyle {
OutputRlib
}

pub fn collect_outputs(session: &Session,
attrs: &[ast::Attribute]) -> ~[OutputStyle] {
// If we're generating a test executable, then ignore all other output
Expand All @@ -435,7 +439,7 @@ pub fn collect_outputs(session: &Session,
match a.value_str() {
Some(n) if "rlib" == n => Some(OutputRlib),
Some(n) if "dylib" == n => Some(OutputDylib),
Some(n) if "lib" == n => Some(OutputDylib),
Some(n) if "lib" == n => Some(default_lib_output()),
Some(n) if "staticlib" == n => Some(OutputStaticlib),
Some(n) if "bin" == n => Some(OutputExecutable),
Some(_) => {
Expand Down
9 changes: 4 additions & 5 deletions src/librustpkg/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -353,7 +353,7 @@ fn lib_exists(repo: &Path, crate_id: &CrateId) -> bool {
debug!("assert_lib_exists: checking whether {:?} exists", lib);
lib.is_some() && {
let libname = lib.get_ref();
libname.exists() && is_rwx(libname)
libname.exists()
}
}

Expand Down Expand Up @@ -437,7 +437,7 @@ fn built_library_exists(repo: &Path, short_name: &str) -> bool {
let lib = built_library_in_workspace(&crate_id, repo);
lib.is_some() && {
let libname = lib.get_ref();
libname.exists() && is_rwx(libname)
libname.exists()
}
}

Expand Down Expand Up @@ -634,7 +634,6 @@ fn test_install_valid_external() {
let lib = installed_library_in_workspace(&temp_pkg_id, temp_workspace);
debug!("lib = {:?}", lib);
assert!(lib.as_ref().map_or(false, |l| l.exists()));
assert!(lib.as_ref().map_or(false, |l| is_rwx(l)));

// And that the test and bench executables aren't installed
assert!(!target_test_in_workspace(&temp_pkg_id, temp_workspace).exists());
Expand Down Expand Up @@ -758,7 +757,8 @@ fn test_package_request_version() {
Some(p) => {
debug!("installed: {}", p.display());
let suffix = format!("0.3{}", os::consts::DLL_SUFFIX);
p.as_vec().ends_with(suffix.as_bytes())
p.as_vec().ends_with(suffix.as_bytes()) ||
p.as_vec().ends_with(bytes!("0.3.rlib"))
}
None => false
});
Expand Down Expand Up @@ -2160,7 +2160,6 @@ fn test_installed_read_only() {
built_library_in_workspace(&temp_pkg_id,
&ws).expect("test_install_git: built lib should exist");
assert!(built_lib.exists());
assert!(is_rwx(&built_lib));
// Make sure sources are (a) under "build" and (b) read-only
let temp_dir = format!("{}-{}", temp_pkg_id.path, temp_pkg_id.version_or_default());
Expand Down
2 changes: 1 addition & 1 deletion src/test/run-make/bootstrap-from-c-with-green/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
// except according to those terms.

#[crate_id="boot#0.1"];
#[crate_type="lib"];
#[crate_type="dylib"];
#[no_uv];

extern mod rustuv;
Expand Down
2 changes: 1 addition & 1 deletion src/test/run-make/bootstrap-from-c-with-native/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
// except according to those terms.

#[crate_id="boot#0.1"];
#[crate_type="lib"];
#[crate_type="dylib"];
#[no_uv];

extern mod native;
Expand Down

0 comments on commit 2b93925

Please sign in to comment.