mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 14:55:26 +00:00
Rollup merge of #126310 - GuillaumeGomez:migrate-run-make-prefer-rlib, r=Kobzol
Migrate run make prefer rlib Part of https://github.com/rust-lang/rust/issues/121876. r? `@jieyouxu`
This commit is contained in:
commit
6f4f405c39
@ -175,7 +175,6 @@ run-make/pgo-gen/Makefile
|
||||
run-make/pgo-indirect-call-promotion/Makefile
|
||||
run-make/pgo-use/Makefile
|
||||
run-make/pointer-auth-link-with-c/Makefile
|
||||
run-make/prefer-rlib/Makefile
|
||||
run-make/pretty-print-to-file/Makefile
|
||||
run-make/pretty-print-with-dep-file/Makefile
|
||||
run-make/print-calling-conventions/Makefile
|
||||
|
@ -1,8 +1,6 @@
|
||||
//@ ignore-cross-compile
|
||||
|
||||
use run_make_support::{cwd, dynamic_lib_name, read_dir, run, run_fail, rustc};
|
||||
use std::fs::remove_file;
|
||||
use std::process::Command;
|
||||
use run_make_support::{cwd, dynamic_lib_name, fs_wrapper, read_dir, run, run_fail, rustc};
|
||||
|
||||
fn main() {
|
||||
rustc().input("bar.rs").crate_type("dylib").crate_type("rlib").arg("-Cprefer-dynamic").run();
|
||||
@ -10,7 +8,7 @@ fn main() {
|
||||
|
||||
run("foo");
|
||||
|
||||
remove_file(dynamic_lib_name("bar")).unwrap();
|
||||
fs_wrapper::remove_file(dynamic_lib_name("bar"));
|
||||
// This time the command should fail.
|
||||
run_fail("foo");
|
||||
}
|
||||
|
@ -1,9 +0,0 @@
|
||||
# ignore-cross-compile
|
||||
include ../tools.mk
|
||||
|
||||
all:
|
||||
$(RUSTC) bar.rs --crate-type=dylib --crate-type=rlib
|
||||
ls $(TMPDIR)/$(call RLIB_GLOB,bar)
|
||||
$(RUSTC) foo.rs
|
||||
rm $(TMPDIR)/*bar*
|
||||
$(call RUN,foo)
|
15
tests/run-make/prefer-rlib/rmake.rs
Normal file
15
tests/run-make/prefer-rlib/rmake.rs
Normal file
@ -0,0 +1,15 @@
|
||||
// Check that `foo.rs` prefers to link to `bar` statically, and can be executed even if the `bar`
|
||||
// library artifacts are removed.
|
||||
|
||||
//@ ignore-cross-compile
|
||||
|
||||
use run_make_support::{dynamic_lib_name, fs_wrapper, path, run, rust_lib_name, rustc};
|
||||
|
||||
fn main() {
|
||||
rustc().input("bar.rs").crate_type("dylib").crate_type("rlib").run();
|
||||
assert!(path(rust_lib_name("bar")).exists());
|
||||
rustc().input("foo.rs").run();
|
||||
fs_wrapper::remove_file(rust_lib_name("bar"));
|
||||
fs_wrapper::remove_file(dynamic_lib_name("bar"));
|
||||
run("foo");
|
||||
}
|
Loading…
Reference in New Issue
Block a user