Rewrite `link-arg` in rmake.rs

This commit is contained in:
Oneirical 2024-05-24 10:02:53 -04:00
parent 9b584a6f6f
commit 553204d26d
3 changed files with 24 additions and 6 deletions

View File

@ -109,7 +109,6 @@ run-make/libtest-json/Makefile
run-make/libtest-junit/Makefile
run-make/libtest-padding/Makefile
run-make/libtest-thread-limit/Makefile
run-make/link-arg/Makefile
run-make/link-args-order/Makefile
run-make/link-cfg/Makefile
run-make/link-dedup/Makefile

View File

@ -1,5 +0,0 @@
include ../tools.mk
RUSTC_FLAGS = -C link-arg="-lfoo" -C link-arg="-lbar" --print link-args
all:
$(RUSTC) $(RUSTC_FLAGS) empty.rs | $(CGREP) lfoo lbar

View File

@ -0,0 +1,24 @@
// In 2016, the rustc flag "-C link-arg" was introduced - it can be repeatedly used
// to add single arguments to the linker. This test passes 2 arguments to the linker using it,
// then checks that the compiler's output contains the arguments passed to it.
// This ensures that the compiler successfully parses this flag.
// See https://github.com/rust-lang/rust/pull/36574
use run_make_support::rustc;
fn main() {
let output = String::from_utf8(
rustc()
.input("empty.rs")
.link_arg("-lfoo")
.link_arg("-lbar")
.print("link-args")
.command_output()
.stdout,
)
.unwrap();
assert!(
output.contains("lfoo") || output.contains("lbar"),
"The output did not contain the expected \"lfoo\" or \"lbar\" strings."
);
}