summaryrefslogtreecommitdiff
path: root/test cases
diff options
context:
space:
mode:
authorXavier Claessens <xclaessens@netflix.com>2025-10-27 16:42:21 +0000
committerXavier Claessens <xclaesse@gmail.com>2025-10-28 17:44:16 +0100
commit44ce04537d0853f4c1565a7c7a7519f4e290c4ba (patch)
tree52c922be5cec5b4c2549f92dac2de719ff7bf337 /test cases
parent1c620b2b783e0f53e7aafaee2fbdfdb72a0b9781 (diff)
downloadmeson-44ce04537d0853f4c1565a7c7a7519f4e290c4ba.tar.gz
cargo: Add library API version into its name
It is required to have unique library names for rust_dependency_map to work. In the case we have foo crate in multiple versions, we have to make sure their .rlib file have a different name.
Diffstat (limited to 'test cases')
-rw-r--r--test cases/rust/31 cargo multiple versions/meson.build3
-rw-r--r--test cases/rust/31 cargo multiple versions/subprojects/foo-1-rs.wrap2
-rw-r--r--test cases/rust/31 cargo multiple versions/subprojects/foo-1-rs/Cargo.toml6
-rw-r--r--test cases/rust/31 cargo multiple versions/subprojects/foo-1-rs/lib.rs3
-rw-r--r--test cases/rust/31 cargo multiple versions/subprojects/foo-2-rs.wrap2
-rw-r--r--test cases/rust/31 cargo multiple versions/subprojects/foo-2-rs/Cargo.toml6
-rw-r--r--test cases/rust/31 cargo multiple versions/subprojects/foo-2-rs/lib.rs3
-rw-r--r--test cases/rust/31 cargo multiple versions/subprojects/main.wrap2
-rw-r--r--test cases/rust/31 cargo multiple versions/subprojects/main/Cargo.toml9
-rw-r--r--test cases/rust/31 cargo multiple versions/subprojects/main/lib.rs6
10 files changed, 42 insertions, 0 deletions
diff --git a/test cases/rust/31 cargo multiple versions/meson.build b/test cases/rust/31 cargo multiple versions/meson.build
new file mode 100644
index 000000000..dd11508ae
--- /dev/null
+++ b/test cases/rust/31 cargo multiple versions/meson.build
@@ -0,0 +1,3 @@
+project('cargo multiple crate versions')
+
+subproject('main')
diff --git a/test cases/rust/31 cargo multiple versions/subprojects/foo-1-rs.wrap b/test cases/rust/31 cargo multiple versions/subprojects/foo-1-rs.wrap
new file mode 100644
index 000000000..5133599d2
--- /dev/null
+++ b/test cases/rust/31 cargo multiple versions/subprojects/foo-1-rs.wrap
@@ -0,0 +1,2 @@
+[wrap-file]
+method=cargo
diff --git a/test cases/rust/31 cargo multiple versions/subprojects/foo-1-rs/Cargo.toml b/test cases/rust/31 cargo multiple versions/subprojects/foo-1-rs/Cargo.toml
new file mode 100644
index 000000000..41de66978
--- /dev/null
+++ b/test cases/rust/31 cargo multiple versions/subprojects/foo-1-rs/Cargo.toml
@@ -0,0 +1,6 @@
+[package]
+name = "foo"
+version = "1.0"
+
+[lib]
+path = "lib.rs"
diff --git a/test cases/rust/31 cargo multiple versions/subprojects/foo-1-rs/lib.rs b/test cases/rust/31 cargo multiple versions/subprojects/foo-1-rs/lib.rs
new file mode 100644
index 000000000..f3662d5cc
--- /dev/null
+++ b/test cases/rust/31 cargo multiple versions/subprojects/foo-1-rs/lib.rs
@@ -0,0 +1,3 @@
+pub fn foo1() -> i32 {
+ 1
+}
diff --git a/test cases/rust/31 cargo multiple versions/subprojects/foo-2-rs.wrap b/test cases/rust/31 cargo multiple versions/subprojects/foo-2-rs.wrap
new file mode 100644
index 000000000..5133599d2
--- /dev/null
+++ b/test cases/rust/31 cargo multiple versions/subprojects/foo-2-rs.wrap
@@ -0,0 +1,2 @@
+[wrap-file]
+method=cargo
diff --git a/test cases/rust/31 cargo multiple versions/subprojects/foo-2-rs/Cargo.toml b/test cases/rust/31 cargo multiple versions/subprojects/foo-2-rs/Cargo.toml
new file mode 100644
index 000000000..ce55217e4
--- /dev/null
+++ b/test cases/rust/31 cargo multiple versions/subprojects/foo-2-rs/Cargo.toml
@@ -0,0 +1,6 @@
+[package]
+name = "foo"
+version = "2.0"
+
+[lib]
+path = "lib.rs"
diff --git a/test cases/rust/31 cargo multiple versions/subprojects/foo-2-rs/lib.rs b/test cases/rust/31 cargo multiple versions/subprojects/foo-2-rs/lib.rs
new file mode 100644
index 000000000..afbf386e0
--- /dev/null
+++ b/test cases/rust/31 cargo multiple versions/subprojects/foo-2-rs/lib.rs
@@ -0,0 +1,3 @@
+pub fn foo2() -> i32 {
+ 1
+}
diff --git a/test cases/rust/31 cargo multiple versions/subprojects/main.wrap b/test cases/rust/31 cargo multiple versions/subprojects/main.wrap
new file mode 100644
index 000000000..5133599d2
--- /dev/null
+++ b/test cases/rust/31 cargo multiple versions/subprojects/main.wrap
@@ -0,0 +1,2 @@
+[wrap-file]
+method=cargo
diff --git a/test cases/rust/31 cargo multiple versions/subprojects/main/Cargo.toml b/test cases/rust/31 cargo multiple versions/subprojects/main/Cargo.toml
new file mode 100644
index 000000000..0401a5958
--- /dev/null
+++ b/test cases/rust/31 cargo multiple versions/subprojects/main/Cargo.toml
@@ -0,0 +1,9 @@
+[package]
+name = "main"
+
+[dependencies]
+foo1 = { package="foo", version="1" }
+foo2 = { package="foo", version="2" }
+
+[lib]
+path = "lib.rs"
diff --git a/test cases/rust/31 cargo multiple versions/subprojects/main/lib.rs b/test cases/rust/31 cargo multiple versions/subprojects/main/lib.rs
new file mode 100644
index 000000000..5029a27e5
--- /dev/null
+++ b/test cases/rust/31 cargo multiple versions/subprojects/main/lib.rs
@@ -0,0 +1,6 @@
+extern crate foo1;
+extern crate foo2;
+
+pub fn func() -> i32 {
+ foo1::foo1() + foo2::foo2()
+}