Put rust_test.data_libs under lib[64]

Rust test binary depending on native libraries would require them under
lib[64] directory so that the test binary can open them with default
rpath values.

Bug: 204562227
Test: presubmit
Change-Id: I029bb32c4c98fba21bd28e579a9df9f184a7f045
This commit is contained in:
Jooyung Han
2022-04-29 02:04:30 +09:00
parent f7fa021b65
commit 10bea7d44a
2 changed files with 13 additions and 5 deletions

View File

@@ -15,6 +15,8 @@
package rust
import (
"path/filepath"
"github.com/google/blueprint/proptools"
"android/soong/android"
@@ -151,9 +153,15 @@ func (test *testDecorator) install(ctx ModuleContext) {
ctx.ModuleErrorf("data_lib %q is not a linkable module", depName)
}
if linkableDep.OutputFile().Valid() {
// Copy the output in "lib[64]" so that it's compatible with
// the default rpath values.
libDir := "lib"
if linkableDep.Target().Arch.ArchType.Multilib == "lib64" {
libDir = "lib64"
}
test.data = append(test.data,
android.DataPath{SrcPath: linkableDep.OutputFile().Path(),
RelativeInstallPath: linkableDep.RelativeInstallPath()})
RelativeInstallPath: filepath.Join(libDir, linkableDep.RelativeInstallPath())})
}
})