From 0f3c72fa179a1a894f6985142d98a08639daf1df Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Wed, 23 Nov 2016 15:44:07 -0800 Subject: [PATCH] Disable installing unused prebuilts If the source module is being used instead of the prebuilt module, disable installing the prebuilt module. Test: m -j checkbuild Change-Id: I55e77021b0f9572b0737d960cba89274f696775d --- android/prebuilt.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/android/prebuilt.go b/android/prebuilt.go index fb9e51558..76524291e 100644 --- a/android/prebuilt.go +++ b/android/prebuilt.go @@ -68,6 +68,7 @@ func (p *Prebuilt) Path(ctx ModuleContext) Path { type PrebuiltInterface interface { Module Prebuilt() *Prebuilt + SkipInstall() } type PrebuiltSourceInterface interface { @@ -89,14 +90,19 @@ func prebuiltMutator(ctx BottomUpMutatorContext) { } } -// PrebuiltReplaceMutator replaces dependencies on the source module with dependencies on the prebuilt -// when both modules exist and the prebuilt should be used. +// PrebuiltReplaceMutator replaces dependencies on the source module with dependencies on the +// prebuilt when both modules exist and the prebuilt should be used. When the prebuilt should not +// be used, disable installing it. func PrebuiltReplaceMutator(ctx BottomUpMutatorContext) { if m, ok := ctx.Module().(PrebuiltInterface); ok && m.Prebuilt() != nil { p := m.Prebuilt() name := m.base().BaseModuleName() - if p.Properties.SourceExists && p.usePrebuilt(ctx) { - ctx.ReplaceDependencies(name) + if p.usePrebuilt(ctx) { + if p.Properties.SourceExists { + ctx.ReplaceDependencies(name) + } + } else { + m.SkipInstall() } } }