diff options
author | 2021-11-04 14:09:38 -0400 | |
---|---|---|
committer | 2021-11-15 17:18:42 -0500 | |
commit | 4e5f07d27ba2e8ae460457a5a977478b9b2c96eb (patch) | |
tree | bc60672c4224d020a36995bf8d641ac84602af2c /rust/rust.go | |
parent | 8d10fc39afdda6a9c3f27f3ed0999db9c8c2199a (diff) |
rust: Add data_libs and data_bins to rust_test
Allows defining data binaries and libraries that should be installed
alongside a rust_test module, similar to cc_test.
This refactors cc_test as well so it can define rust_ffi_shared and
rust_binary modules as data.
Bug: 171710847
Test: New Soong tests pass.
Test: Example module installs data appropriately.
Change-Id: I0b56098fb475ec54f9b7a761220d260fe68cbee1
Diffstat (limited to 'rust/rust.go')
-rw-r--r-- | rust/rust.go | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/rust/rust.go b/rust/rust.go index 7c8e80b5a..a97fc91cd 100644 --- a/rust/rust.go +++ b/rust/rust.go @@ -390,6 +390,10 @@ type Deps struct { WholeStaticLibs []string HeaderLibs []string + // Used for data dependencies adjacent to tests + DataLibs []string + DataBins []string + CrtBegin, CrtEnd string } @@ -975,6 +979,8 @@ var ( procMacroDepTag = dependencyTag{name: "procMacro", procMacro: true} testPerSrcDepTag = dependencyTag{name: "rust_unit_tests"} sourceDepTag = dependencyTag{name: "source"} + dataLibDepTag = dependencyTag{name: "data lib"} + dataBinDepTag = dependencyTag{name: "data bin"} ) func IsDylibDepTag(depTag blueprint.DependencyTag) bool { @@ -1400,6 +1406,12 @@ func (mod *Module) DepsMutator(actx android.BottomUpMutatorContext) { } } + actx.AddVariationDependencies([]blueprint.Variation{ + {Mutator: "link", Variation: "shared"}, + }, dataLibDepTag, deps.DataLibs...) + + actx.AddVariationDependencies(nil, dataBinDepTag, deps.DataBins...) + // proc_macros are compiler plugins, and so we need the host arch variant as a dependendcy. actx.AddFarVariationDependencies(ctx.Config().BuildOSTarget.Variations(), procMacroDepTag, deps.ProcMacros...) } |