cc_cmake_snapshot: Allow selecting modules from system and vendor

Bug: 285204695
Test: m binder_sdk
Change-Id: I47836dcfa74d48f74e3e7cf0293a8eeb9206be4c
This commit is contained in:
Tomasz Wasilczyk
2024-06-27 10:41:55 -07:00
parent cd674738c0
commit d38d14056c

View File

@@ -96,9 +96,18 @@ type LibraryMappingProperty struct {
}
type CmakeSnapshotProperties struct {
// Modules to add to the snapshot package. Their dependencies are pulled in automatically.
// TODO: remove
Modules []string
// Host modules to add to the snapshot package. Their dependencies are pulled in automatically.
Modules_host []string
// System modules to add to the snapshot package. Their dependencies are pulled in automatically.
Modules_system []string
// Vendor modules to add to the snapshot package. Their dependencies are pulled in automatically.
Modules_vendor []string
// Host prebuilts to bundle with the snapshot. These are tools needed to build outside Android.
Prebuilts []string
@@ -275,8 +284,15 @@ func executeTemplate(templ *template.Template, buffer *bytes.Buffer, data any) s
}
func (m *CmakeSnapshot) DepsMutator(ctx android.BottomUpMutatorContext) {
deviceVariations := ctx.Config().AndroidFirstDeviceTarget.Variations()
deviceSystemVariations := append(deviceVariations, blueprint.Variation{"image", ""})
deviceVendorVariations := append(deviceVariations, blueprint.Variation{"image", "vendor"})
hostVariations := ctx.Config().BuildOSTarget.Variations()
ctx.AddVariationDependencies(hostVariations, cmakeSnapshotModuleTag, m.Properties.Modules...)
ctx.AddVariationDependencies(hostVariations, cmakeSnapshotModuleTag, m.Properties.Modules_host...)
ctx.AddVariationDependencies(deviceSystemVariations, cmakeSnapshotModuleTag, m.Properties.Modules_system...)
ctx.AddVariationDependencies(deviceVendorVariations, cmakeSnapshotModuleTag, m.Properties.Modules_vendor...)
if len(m.Properties.Prebuilts) > 0 {
prebuilts := append(m.Properties.Prebuilts, "libc++")