diff options
| author | Oneirical <manchot@videotron.ca> | 2024-07-12 15:14:12 -0400 |
|---|---|---|
| committer | Oneirical <manchot@videotron.ca> | 2024-07-19 12:27:47 -0400 |
| commit | 1ae1ab8215c3ba2c9c0066d1aa13a033f0f94d5e (patch) | |
| tree | f512a04e7ed89c0be65c5624b5f06b4f987e3fcf | |
| parent | 5e55f07cc0d843dff89a1b29fb15b66e99391627 (diff) | |
| download | rust-1ae1ab8215c3ba2c9c0066d1aa13a033f0f94d5e.tar.gz rust-1ae1ab8215c3ba2c9c0066d1aa13a033f0f94d5e.zip | |
rewrite c-static-dylib to rmake
| -rw-r--r-- | src/tools/tidy/src/allowed_run_make_makefiles.txt | 1 | ||||
| -rw-r--r-- | tests/run-make/c-static-dylib/Makefile | 13 | ||||
| -rw-r--r-- | tests/run-make/c-static-dylib/rmake.rs | 20 |
3 files changed, 20 insertions, 14 deletions
diff --git a/src/tools/tidy/src/allowed_run_make_makefiles.txt b/src/tools/tidy/src/allowed_run_make_makefiles.txt index d935bb10d77..4b5ab3b063f 100644 --- a/src/tools/tidy/src/allowed_run_make_makefiles.txt +++ b/src/tools/tidy/src/allowed_run_make_makefiles.txt @@ -1,7 +1,6 @@ run-make/branch-protection-check-IBT/Makefile run-make/c-dynamic-dylib/Makefile run-make/c-dynamic-rlib/Makefile -run-make/c-static-dylib/Makefile run-make/c-static-rlib/Makefile run-make/c-unwind-abi-catch-lib-panic/Makefile run-make/c-unwind-abi-catch-panic/Makefile diff --git a/tests/run-make/c-static-dylib/Makefile b/tests/run-make/c-static-dylib/Makefile deleted file mode 100644 index 05da1743c83..00000000000 --- a/tests/run-make/c-static-dylib/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -# This test checks that static Rust linking with C does not encounter any errors, with dynamic dependencies given preference over static. -# See https://github.com/rust-lang/rust/issues/10434 - -# ignore-cross-compile -include ../tools.mk - -all: $(call NATIVE_STATICLIB,cfoo) - $(RUSTC) foo.rs -C prefer-dynamic - $(RUSTC) bar.rs - rm $(call NATIVE_STATICLIB,cfoo) - $(call RUN,bar) - $(call REMOVE_DYLIBS,foo) - $(call FAIL,bar) diff --git a/tests/run-make/c-static-dylib/rmake.rs b/tests/run-make/c-static-dylib/rmake.rs new file mode 100644 index 00000000000..32edcd93fef --- /dev/null +++ b/tests/run-make/c-static-dylib/rmake.rs @@ -0,0 +1,20 @@ +// This test checks that static Rust linking with C does not encounter any errors, +// with dynamic dependencies given preference over static. +// See https://github.com/rust-lang/rust/issues/10434 + +//@ ignore-cross-compile +// Reason: the compiled binary is executed + +use run_make_support::{ + build_native_static_lib, dynamic_lib_name, fs_wrapper, run, run_fail, rustc, static_lib_name, +}; + +fn main() { + build_native_static_lib("cfoo"); + rustc().input("foo.rs").arg("-Cprefer-dynamic").run(); + rustc().input("bar.rs").run(); + fs_wrapper::remove_file(static_lib_name("cfoo")); + run("bar"); + fs_wrapper::remove_file(dynamic_lib_name("foo")); + run_fail("bar"); +} |
