Merge "cc_cmake_snapshot: Allow selecting modules from system and vendor" into main

This commit is contained in:
Tomasz Wasilczyk
2024-07-02 22:01:19 +00:00
committed by Gerrit Code Review

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++")