Fix installing prebuilts with no source module
Prebuilts that were not overriding a source module would never
get UsePrebuilt set, which would cause SkipInstall() to be called,
and prevent the module from being exported to make.
Test: prebuilt_test.go
Change-Id: Ib09300efff26f09245331e9919ae2db82b0c3625
diff --git a/android/prebuilt_test.go b/android/prebuilt_test.go
index 311f821..d09518b 100644
--- a/android/prebuilt_test.go
+++ b/android/prebuilt_test.go
@@ -144,20 +144,33 @@
t.Fatalf("failed to find module foo")
}
+ var dependsOnSourceModule, dependsOnPrebuiltModule bool
+ ctx.VisitDirectDeps(foo, func(m blueprint.Module) {
+ if _, ok := m.(*sourceModule); ok {
+ dependsOnSourceModule = true
+ }
+ if p, ok := m.(*prebuiltModule); ok {
+ dependsOnPrebuiltModule = true
+ if !p.Prebuilt().Properties.UsePrebuilt {
+ t.Errorf("dependency on prebuilt module not marked used")
+ }
+ }
+ })
+
if test.prebuilt {
- if !foo.(*sourceModule).dependsOnPrebuiltModule {
+ if !dependsOnPrebuiltModule {
t.Errorf("doesn't depend on prebuilt module")
}
- if foo.(*sourceModule).dependsOnSourceModule {
+ if dependsOnSourceModule {
t.Errorf("depends on source module")
}
} else {
- if foo.(*sourceModule).dependsOnPrebuiltModule {
+ if dependsOnPrebuiltModule {
t.Errorf("depends on prebuilt module")
}
- if !foo.(*sourceModule).dependsOnSourceModule {
+ if !dependsOnSourceModule {
t.Errorf("doens't depend on source module")
}
}
@@ -209,14 +222,6 @@
}
func (s *sourceModule) GenerateAndroidBuildActions(ctx ModuleContext) {
- ctx.VisitDirectDeps(func(m blueprint.Module) {
- if _, ok := m.(*sourceModule); ok {
- s.dependsOnSourceModule = true
- }
- if _, ok := m.(*prebuiltModule); ok {
- s.dependsOnPrebuiltModule = true
- }
- })
}
func findModule(ctx *blueprint.Context, name string) blueprint.Module {