rust: Allow rust_ffi_shared in jni_libs
Allow listing rust_ffi_shared modules as a jni_libs dependency in conjunction with platform_api: true. This allows inclusion by android_app modules. Bug: 237304791 Test: android_app module builds with a rust_ffi_shared dependency. Change-Id: I3a28e1baa522ad8f9c2aa86f1d23b19ce9f967e1
This commit is contained in:
@@ -106,6 +106,9 @@ type LinkableInterface interface {
|
||||
UnstrippedOutputFile() android.Path
|
||||
CoverageFiles() android.Paths
|
||||
|
||||
// CoverageOutputFile returns the output archive of gcno coverage information files.
|
||||
CoverageOutputFile() android.OptionalPath
|
||||
|
||||
NonCcVariants() bool
|
||||
|
||||
SelectedStl() string
|
||||
@@ -133,6 +136,12 @@ type LinkableInterface interface {
|
||||
|
||||
UseSdk() bool
|
||||
|
||||
// IsNdk returns true if the library is in the configs known NDK list.
|
||||
IsNdk(config android.Config) bool
|
||||
|
||||
// IsStubs returns true if the this is a stubs library.
|
||||
IsStubs() bool
|
||||
|
||||
// IsLlndk returns true for both LLNDK (public) and LLNDK-private libs.
|
||||
IsLlndk() bool
|
||||
|
||||
|
@@ -731,7 +731,7 @@ func collectAppDeps(ctx android.ModuleContext, app appDepsInterface,
|
||||
tag := ctx.OtherModuleDependencyTag(module)
|
||||
|
||||
if IsJniDepTag(tag) || cc.IsSharedDepTag(tag) {
|
||||
if dep, ok := module.(*cc.Module); ok {
|
||||
if dep, ok := module.(cc.LinkableInterface); ok {
|
||||
if dep.IsNdk(ctx.Config()) || dep.IsStubs() {
|
||||
return false
|
||||
}
|
||||
|
13
rust/rust.go
13
rust/rust.go
@@ -695,6 +695,19 @@ func (mod *Module) CoverageFiles() android.Paths {
|
||||
panic(fmt.Errorf("CoverageFiles called on non-library module: %q", mod.BaseModuleName()))
|
||||
}
|
||||
|
||||
// Rust does not produce gcno files, and therefore does not produce a coverage archive.
|
||||
func (mod *Module) CoverageOutputFile() android.OptionalPath {
|
||||
return android.OptionalPath{}
|
||||
}
|
||||
|
||||
func (mod *Module) IsNdk(config android.Config) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (mod *Module) IsStubs() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (mod *Module) installable(apexInfo android.ApexInfo) bool {
|
||||
if !proptools.BoolDefault(mod.Installable(), mod.EverInstallable()) {
|
||||
return false
|
||||
|
Reference in New Issue
Block a user