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

Commit b304ea9b authored by Cole Faust's avatar Cole Faust
Browse files

Handle IgnorePrefer32OnDevice() in first_prefer32 path properties

This was causing missing dependency errors because the arch mutator
will replace first_prefer32 with first when IgnorePrefer32OnDevice()
is set.

Bug: 372091092
Test: m nothing with aosp/3315229 on a device that sets IgnorePrefer32OnDevice()
Change-Id: I04e4d7f95500befaf65cde58e9e16f643307b0a8
parent 17d5d891
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -86,13 +86,18 @@ func addPathDepsForProps(ctx BottomUpMutatorContext, props []interface{}) {
	// properties tagged path_device_first_prefer32 get the first 32 bit target if one is available,
	// otherwise they use the first 64 bit target
	if len(pathDeviceFirstPrefer32Properties) > 0 {
		firstPrefer32Target := FirstTarget(ctx.Config().Targets[Android], "lib32", "lib64")
		if len(firstPrefer32Target) == 0 {
		var targets []Target
		if ctx.Config().IgnorePrefer32OnDevice() {
			targets, _ = decodeMultilibTargets("first", ctx.Config().Targets[Android], false)
		} else {
			targets, _ = decodeMultilibTargets("first_prefer32", ctx.Config().Targets[Android], false)
		}
		if len(targets) == 0 {
			ctx.ModuleErrorf("Could not find a first_prefer32 target")
		} else {
			for _, s := range pathDeviceFirstPrefer32Properties {
				if m, t := SrcIsModuleWithTag(s); m != "" {
					ctx.AddVariationDependencies(firstPrefer32Target[0].Variations(), sourceOrOutputDepTag(m, t), m)
					ctx.AddVariationDependencies(targets[0].Variations(), sourceOrOutputDepTag(m, t), m)
				}
			}
		}