Merge "rust: Allow rust_ffi_shared in jni_libs"

This commit is contained in:
Ivan Lozano 2022-06-28 12:57:05 +00:00 committed by Gerrit Code Review
commit 3742d6ad9e
3 changed files with 23 additions and 1 deletions

View file

@ -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

View file

@ -740,7 +740,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
}

View file

@ -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