Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d38d1405 authored by Tomasz Wasilczyk's avatar Tomasz Wasilczyk
Browse files

cc_cmake_snapshot: Allow selecting modules from system and vendor

Bug: 285204695
Test: m binder_sdk
Change-Id: I47836dcfa74d48f74e3e7cf0293a8eeb9206be4c
parent cd674738
Loading
Loading
Loading
Loading
+17 −1
Original line number Diff line number Diff line
@@ -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++")