diff --git a/src/compiletest/runtest.rs b/src/compiletest/runtest.rs index 1d8e5a707edeb..6a940e1d7f202 100644 --- a/src/compiletest/runtest.rs +++ b/src/compiletest/runtest.rs @@ -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); diff --git a/src/librustc/driver/driver.rs b/src/librustc/driver/driver.rs index a8eff7f0d6e66..211d60f7e2d53 100644 --- a/src/librustc/driver/driver.rs +++ b/src/librustc/driver/driver.rs @@ -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") { diff --git a/src/librustc/driver/session.rs b/src/librustc/driver/session.rs index b70ca03977f42..5cda81836a44b 100644 --- a/src/librustc/driver/session.rs +++ b/src/librustc/driver/session.rs @@ -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 @@ -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(_) => { diff --git a/src/librustpkg/tests.rs b/src/librustpkg/tests.rs index ea69a25ddc42d..22128a668ed3e 100644 --- a/src/librustpkg/tests.rs +++ b/src/librustpkg/tests.rs @@ -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() } } @@ -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() } } @@ -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()); @@ -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 }); @@ -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()); diff --git a/src/test/run-make/bootstrap-from-c-with-green/lib.rs b/src/test/run-make/bootstrap-from-c-with-green/lib.rs index 9a03c772f3a3f..452ee837d1296 100644 --- a/src/test/run-make/bootstrap-from-c-with-green/lib.rs +++ b/src/test/run-make/bootstrap-from-c-with-green/lib.rs @@ -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; diff --git a/src/test/run-make/bootstrap-from-c-with-native/lib.rs b/src/test/run-make/bootstrap-from-c-with-native/lib.rs index d0639d45fa569..4f931bdb8011e 100644 --- a/src/test/run-make/bootstrap-from-c-with-native/lib.rs +++ b/src/test/run-make/bootstrap-from-c-with-native/lib.rs @@ -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;