summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rust/rust.go14
1 files changed, 13 insertions, 1 deletions
diff --git a/rust/rust.go b/rust/rust.go
index 2e78a147a..ac17ed2b3 100644
--- a/rust/rust.go
+++ b/rust/rust.go
@@ -482,6 +482,16 @@ func (mod *Module) CoverageFiles() android.Paths {
panic(fmt.Errorf("CoverageFiles called on non-library module: %q", mod.BaseModuleName()))
}
+func (mod *Module) installable(apexInfo android.ApexInfo) bool {
+ // The apex variant is not installable because it is included in the APEX and won't appear
+ // in the system partition as a standalone file.
+ if !apexInfo.IsForPlatform() {
+ return false
+ }
+
+ return mod.outputFile.Valid() && !mod.Properties.PreventInstall
+}
+
var _ cc.LinkableInterface = (*Module)(nil)
func (mod *Module) Init() android.Module {
@@ -653,7 +663,9 @@ func (mod *Module) GenerateAndroidBuildActions(actx android.ModuleContext) {
outputFile := mod.compiler.compile(ctx, flags, deps)
mod.outputFile = android.OptionalPathForPath(outputFile)
- if mod.outputFile.Valid() && !mod.Properties.PreventInstall {
+
+ apexInfo := actx.Provider(android.ApexInfoProvider).(android.ApexInfo)
+ if mod.installable(apexInfo) {
mod.compiler.install(ctx)
}
}