diff options
author | 2024-05-17 14:13:41 -0400 | |
---|---|---|
committer | 2024-06-26 01:35:41 +0000 | |
commit | fd47b1ab6a51ce3b148e2d4644b1d96b058c2064 (patch) | |
tree | 70d50006ec4333b14d8f47c4fc790283b92e87dc /rust/builder_test.go | |
parent | 9c067f62d0b4d3e9c5a245f51f14dc51521c0e63 (diff) |
cc/rust: Alias ffi rlib variant for static_libs
Alias the rlib variant to "link: static". This allows declaring
rust_ffi_rlib modules in static_libs. This effectively removes any
distinction between rust_ffi_static and rust_ffi_rlib. Removing the
functionality for building Rust staticlib modules will be cleaned up in
a follow-on CL.
This should have the effect of changing the default linkage for all rust
modules in static_libs from linking individual staticlibs to building a
single staticlib that includes all rust_ffi rlib dependencies.
This removes the static_rlibs property, as we're now handling
the choice dynamically. This also makes rlibs only propagate through
cc_library_static modules if the rlib is included in
whole_static_lib. This both mirrors the expected behavior of
cc libraries and helps control which version of a crate ends up in the
final link (e.g. libdoh_ffi vs libdoh_ffi_for_test).
Bug: 254469782
Test: m
Test: m blueprint_tests
Change-Id: I2925f67f6dc9329dae3dcccafb8560900ac8a6fc
Diffstat (limited to 'rust/builder_test.go')
-rw-r--r-- | rust/builder_test.go | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/rust/builder_test.go b/rust/builder_test.go index c093ac4df..ae5ccde27 100644 --- a/rust/builder_test.go +++ b/rust/builder_test.go @@ -65,6 +65,11 @@ func TestCompilationOutputFiles(t *testing.T) { crate_name: "rust_ffi", srcs: ["lib.rs"], } + rust_ffi_static { + name: "librust_ffi_static", + crate_name: "rust_ffi", + srcs: ["lib.rs"], + } `) testcases := []struct { testName string @@ -118,14 +123,14 @@ func TestCompilationOutputFiles(t *testing.T) { }, }, { - testName: "rust_ffi static", - moduleName: "librust_ffi", - variant: "android_arm64_armv8-a_static", + testName: "rust_ffi_static rlib", + moduleName: "librust_ffi_static", + variant: "android_arm64_armv8-a_rlib_rlib-std", expectedFiles: []string{ - "out/soong/.intermediates/librust_ffi/android_arm64_armv8-a_static/librust_ffi.a", - "out/soong/.intermediates/librust_ffi/android_arm64_armv8-a_static/librust_ffi.a.clippy", - "out/soong/.intermediates/librust_ffi/android_arm64_armv8-a_static/meta_lic", - "out/soong/.intermediates/librust_ffi/android_arm64_armv8-a_static/rustdoc.timestamp", + "out/soong/.intermediates/librust_ffi_static/android_arm64_armv8-a_rlib_rlib-std/librust_ffi_static.rlib", + "out/soong/.intermediates/librust_ffi_static/android_arm64_armv8-a_rlib_rlib-std/librust_ffi_static.rlib.clippy", + "out/soong/.intermediates/librust_ffi_static/android_arm64_armv8-a_rlib_rlib-std/meta_lic", + "out/soong/.intermediates/librust_ffi_static/android_arm64_armv8-a_rlib_rlib-std/rustdoc.timestamp", }, }, { @@ -148,6 +153,7 @@ func TestCompilationOutputFiles(t *testing.T) { "out/soong/.intermediates/librust_ffi/android_arm64_armv8-a_shared/unstripped/librust_ffi.so", "out/soong/.intermediates/librust_ffi/android_arm64_armv8-a_shared/unstripped/librust_ffi.so.toc", "out/soong/.intermediates/librust_ffi/android_arm64_armv8-a_shared/meta_lic", + "out/soong/.intermediates/librust_ffi/android_arm64_armv8-a_shared/rustdoc.timestamp", "out/soong/target/product/test_device/system/lib64/librust_ffi.so", }, }, |