From f87cc4da40693345103264e205463e1689c7a956 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Fri, 24 Oct 2025 09:37:54 +0200 Subject: modules: rust: add workspace methods returning arguments for build targets Add rustc_args(), env(), and rust_dependency_map() methods to the RustPackage class. They simply delegate to PackageState and PackageConfiguration. Signed-off-by: Paolo Bonzini --- test cases/rust/31 rust.workspace package/meson.build | 2 ++ .../31 rust.workspace package/subprojects/answer-2.1/meson.build | 4 +++- test cases/rust/32 rust.workspace workspace/meson.build | 2 ++ test cases/rust/32 rust.workspace workspace/more/meson.build | 5 ++++- .../32 rust.workspace workspace/subprojects/answer-2.1/meson.build | 4 +++- 5 files changed, 14 insertions(+), 3 deletions(-) (limited to 'test cases') diff --git a/test cases/rust/31 rust.workspace package/meson.build b/test cases/rust/31 rust.workspace package/meson.build index ec37a33d7..5a9b44e41 100644 --- a/test cases/rust/31 rust.workspace package/meson.build +++ b/test cases/rust/31 rust.workspace package/meson.build @@ -29,6 +29,8 @@ assert(answer_rs.features() == ['default', 'large']) e = executable('package-test', 'src/main.rs', dependencies: [hello_rs.dependency(), answer_rs.dependency()], + rust_args: main_pkg.rust_args(), + rust_dependency_map: main_pkg.rust_dependency_map(), ) test('package-test', e) diff --git a/test cases/rust/31 rust.workspace package/subprojects/answer-2.1/meson.build b/test cases/rust/31 rust.workspace package/subprojects/answer-2.1/meson.build index ece234f27..d78795602 100644 --- a/test cases/rust/31 rust.workspace package/subprojects/answer-2.1/meson.build +++ b/test cases/rust/31 rust.workspace package/subprojects/answer-2.1/meson.build @@ -8,6 +8,8 @@ answer_pkg = cargo_ws.package() assert(answer_pkg.all_features() == ['default', 'large']) assert(answer_pkg.features() == ['default', 'large']) -l = static_library('answer', 'src/lib.rs', rust_args: ['--cfg', 'feature="large"']) +l = static_library('answer', 'src/lib.rs', + rust_args: answer_pkg.rust_args(), + rust_dependency_map: answer_pkg.rust_dependency_map()) dep = declare_dependency(link_with: l) meson.override_dependency('answer-2-rs', dep) diff --git a/test cases/rust/32 rust.workspace workspace/meson.build b/test cases/rust/32 rust.workspace workspace/meson.build index 7a7ddd333..f42630b3d 100644 --- a/test cases/rust/32 rust.workspace workspace/meson.build +++ b/test cases/rust/32 rust.workspace workspace/meson.build @@ -31,6 +31,8 @@ subdir('more') e = executable('workspace-test', 'src/main.rs', dependencies: [hello_rs.dependency(), answer_rs.dependency(), more_dep], + rust_args: main_pkg.rust_args(), + rust_dependency_map: main_pkg.rust_dependency_map(), ) test('workspace-test', e) diff --git a/test cases/rust/32 rust.workspace workspace/more/meson.build b/test cases/rust/32 rust.workspace workspace/more/meson.build index 1c57b1e5b..d7317a268 100644 --- a/test cases/rust/32 rust.workspace workspace/more/meson.build +++ b/test cases/rust/32 rust.workspace workspace/more/meson.build @@ -4,5 +4,8 @@ assert(more_pkg.name() == 'more') assert(more_pkg.features() == ['default']) assert(more_pkg.all_features() == ['default']) -l = static_library('more', 'src/lib.rs') +l = static_library('more', 'src/lib.rs', + rust_args: more_pkg.rust_args(), + rust_dependency_map: more_pkg.rust_dependency_map(), +) more_dep = declare_dependency(link_with: l) diff --git a/test cases/rust/32 rust.workspace workspace/subprojects/answer-2.1/meson.build b/test cases/rust/32 rust.workspace workspace/subprojects/answer-2.1/meson.build index ece234f27..d78795602 100644 --- a/test cases/rust/32 rust.workspace workspace/subprojects/answer-2.1/meson.build +++ b/test cases/rust/32 rust.workspace workspace/subprojects/answer-2.1/meson.build @@ -8,6 +8,8 @@ answer_pkg = cargo_ws.package() assert(answer_pkg.all_features() == ['default', 'large']) assert(answer_pkg.features() == ['default', 'large']) -l = static_library('answer', 'src/lib.rs', rust_args: ['--cfg', 'feature="large"']) +l = static_library('answer', 'src/lib.rs', + rust_args: answer_pkg.rust_args(), + rust_dependency_map: answer_pkg.rust_dependency_map()) dep = declare_dependency(link_with: l) meson.override_dependency('answer-2-rs', dep) -- cgit v1.2.3