mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 08:13:41 +00:00
Add simple regression test for --print=native-static-libs
This commit is contained in:
parent
701bf2d420
commit
3281060607
15
tests/run-make/print-native-static-libs/Makefile
Normal file
15
tests/run-make/print-native-static-libs/Makefile
Normal 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"
|
13
tests/run-make/print-native-static-libs/bar.rs
Normal file
13
tests/run-make/print-native-static-libs/bar.rs
Normal 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 ());
|
||||
}
|
15
tests/run-make/print-native-static-libs/foo.rs
Normal file
15
tests/run-make/print-native-static-libs/foo.rs
Normal 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 ());
|
||||
}
|
Loading…
Reference in New Issue
Block a user