From d38d14056c5dd7bb319aea258b79bf3c90994f83 Mon Sep 17 00:00:00 2001 From: Tomasz Wasilczyk Date: Thu, 27 Jun 2024 10:41:55 -0700 Subject: [PATCH] cc_cmake_snapshot: Allow selecting modules from system and vendor Bug: 285204695 Test: m binder_sdk Change-Id: I47836dcfa74d48f74e3e7cf0293a8eeb9206be4c --- cc/cmake_snapshot.go | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/cc/cmake_snapshot.go b/cc/cmake_snapshot.go index c1df0e941..b79776453 100644 --- a/cc/cmake_snapshot.go +++ b/cc/cmake_snapshot.go @@ -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++")