Add simple regression test for --print=native-static-libs

This commit is contained in:
Urgau 2023-05-17 12:07:12 +02:00
parent 701bf2d420
commit 3281060607
3 changed files with 43 additions and 0 deletions

View File

@ -0,0 +1,15 @@
include ../tools.mk
# ignore-cross-compile
# ignore-wasm
all:
$(RUSTC) --crate-type rlib -lbar_cli bar.rs
$(RUSTC) foo.rs -lfoo_cli --crate-type staticlib --print native-static-libs 2>&1 \
| grep 'note: native-static-libs: ' \
| sed 's/note: native-static-libs: \(.*\)/\1/' > $(TMPDIR)/libs.txt
cat $(TMPDIR)/libs.txt | grep -F "glib-2.0" # in bar.rs
cat $(TMPDIR)/libs.txt | grep -F "systemd" # in foo.rs
cat $(TMPDIR)/libs.txt | grep -F "bar_cli"
cat $(TMPDIR)/libs.txt | grep -F "foo_cli"

View File

@ -0,0 +1,13 @@
#[no_mangle]
pub extern "C" fn my_bar_add(left: i32, right: i32) -> i32 {
// Obviously makes no sense but...
unsafe {
g_free(std::ptr::null_mut());
}
left + right
}
#[link(name = "glib-2.0")]
extern "C" {
fn g_free(p: *mut ());
}

View File

@ -0,0 +1,15 @@
extern crate bar;
#[no_mangle]
pub extern "C" fn my_foo_add(left: i32, right: i32) -> i32 {
// Obviously makes no sense but...
unsafe {
init(std::ptr::null_mut());
}
bar::my_bar_add(left, right)
}
#[link(name = "systemd")]
extern "C" {
fn init(p: *mut ());
}