summaryrefslogtreecommitdiff
path: root/test cases/rust
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2024-03-10 09:40:10 -0400
committerXavier Claessens <xclaesse@gmail.com>2024-10-24 11:00:10 -0400
commited62a975b23072dfedd770a398576603b0e64977 (patch)
treefc19c152c37b3bfb9b639ee4bb03d012d1031fa4 /test cases/rust
parentafd89440aaf114c00652d799b8043d3d43fb807a (diff)
downloadmeson-ed62a975b23072dfedd770a398576603b0e64977.tar.gz
cargo: Use the library name instead of package name
The library name defaults to its package name, but it can be different. For example: - package name: cairo-sys-rs - library name: cairo-sys - dependency name: ffi
Diffstat (limited to 'test cases/rust')
-rw-r--r--test cases/rust/22 cargo subproject/subprojects/foo-0-rs/Cargo.toml3
-rw-r--r--test cases/rust/22 cargo subproject/subprojects/foo-0-rs/lib.rs2
-rw-r--r--test cases/rust/22 cargo subproject/subprojects/libname-1-rs.wrap2
-rw-r--r--test cases/rust/22 cargo subproject/subprojects/libname-1-rs/Cargo.toml7
-rw-r--r--test cases/rust/22 cargo subproject/subprojects/libname-1-rs/lib.rs3
5 files changed, 17 insertions, 0 deletions
diff --git a/test cases/rust/22 cargo subproject/subprojects/foo-0-rs/Cargo.toml b/test cases/rust/22 cargo subproject/subprojects/foo-0-rs/Cargo.toml
index 858efa4dd..8c5351a77 100644
--- a/test cases/rust/22 cargo subproject/subprojects/foo-0-rs/Cargo.toml
+++ b/test cases/rust/22 cargo subproject/subprojects/foo-0-rs/Cargo.toml
@@ -24,6 +24,9 @@ mybar = { version = "0.1", package = "bar", default-features = false }
version = "0.0.1"
features = ["f1"]
+[dependencies.libname]
+version = "1"
+
[features]
default = ["f1"]
f1 = ["f2", "f3"]
diff --git a/test cases/rust/22 cargo subproject/subprojects/foo-0-rs/lib.rs b/test cases/rust/22 cargo subproject/subprojects/foo-0-rs/lib.rs
index a1a976a80..4497dc4a4 100644
--- a/test cases/rust/22 cargo subproject/subprojects/foo-0-rs/lib.rs
+++ b/test cases/rust/22 cargo subproject/subprojects/foo-0-rs/lib.rs
@@ -1,4 +1,5 @@
extern crate common;
+extern crate libothername;
extern "C" {
fn extra_func() -> i32;
@@ -8,6 +9,7 @@ extern "C" {
#[no_mangle]
pub extern "C" fn rust_func() -> i32 {
assert!(common::common_func() == 0);
+ assert!(libothername::stuff() == 42);
let v: i32;
unsafe {
v = extra_func();
diff --git a/test cases/rust/22 cargo subproject/subprojects/libname-1-rs.wrap b/test cases/rust/22 cargo subproject/subprojects/libname-1-rs.wrap
new file mode 100644
index 000000000..99686e90e
--- /dev/null
+++ b/test cases/rust/22 cargo subproject/subprojects/libname-1-rs.wrap
@@ -0,0 +1,2 @@
+[wrap-file]
+method = cargo
diff --git a/test cases/rust/22 cargo subproject/subprojects/libname-1-rs/Cargo.toml b/test cases/rust/22 cargo subproject/subprojects/libname-1-rs/Cargo.toml
new file mode 100644
index 000000000..1fbc87c16
--- /dev/null
+++ b/test cases/rust/22 cargo subproject/subprojects/libname-1-rs/Cargo.toml
@@ -0,0 +1,7 @@
+[package]
+name = "libname"
+version = "1"
+
+[lib]
+name="libothername"
+path = "lib.rs"
diff --git a/test cases/rust/22 cargo subproject/subprojects/libname-1-rs/lib.rs b/test cases/rust/22 cargo subproject/subprojects/libname-1-rs/lib.rs
new file mode 100644
index 000000000..ff82dd100
--- /dev/null
+++ b/test cases/rust/22 cargo subproject/subprojects/libname-1-rs/lib.rs
@@ -0,0 +1,3 @@
+pub fn stuff() -> i32 {
+ 42
+}