summaryrefslogtreecommitdiff
path: root/android/arch.go
diff options
context:
space:
mode:
Diffstat (limited to 'android/arch.go')
-rw-r--r--android/arch.go17
1 files changed, 14 insertions, 3 deletions
diff --git a/android/arch.go b/android/arch.go
index f4b0d66d9..f505ec653 100644
--- a/android/arch.go
+++ b/android/arch.go
@@ -811,10 +811,16 @@ func osMutator(bpctx blueprint.BottomUpMutatorContext) {
}
}
+type archDepTag struct {
+ blueprint.BaseDependencyTag
+ name string
+}
+
// Identifies the dependency from CommonOS variant to the os specific variants.
-type commonOSTag struct{ blueprint.BaseDependencyTag }
+var commonOsToOsSpecificVariantTag = archDepTag{name: "common os to os specific"}
-var commonOsToOsSpecificVariantTag = commonOSTag{}
+// Identifies the dependency from arch variant to the common variant for a "common_first" multilib.
+var firstArchToCommonArchDepTag = archDepTag{name: "first arch to common arch"}
// Get the OsType specific variants for the current CommonOS variant.
//
@@ -831,7 +837,6 @@ func GetOsSpecificVariantsOfCommonOSVariant(mctx BaseModuleContext) []Module {
}
}
})
-
return variants
}
@@ -955,6 +960,12 @@ func archMutator(bpctx blueprint.BottomUpMutatorContext) {
addTargetProperties(m, targets[i], multiTargets, i == 0)
m.base().setArchProperties(mctx)
}
+
+ if multilib == "common_first" && len(modules) >= 2 {
+ for i := range modules[1:] {
+ mctx.AddInterVariantDependency(firstArchToCommonArchDepTag, modules[i+1], modules[0])
+ }
+ }
}
func addTargetProperties(m Module, target Target, multiTargets []Target, primaryTarget bool) {