From b304ea9b3208302c26b4db717ee6e62ede5ee31c Mon Sep 17 00:00:00 2001 From: Cole Faust Date: Fri, 25 Oct 2024 12:47:16 -0700 Subject: 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 --- android/path_properties.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'android/path_properties.go') diff --git a/android/path_properties.go b/android/path_properties.go index b4fabeb94..55a4dc066 100644 --- a/android/path_properties.go +++ b/android/path_properties.go @@ -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) } } } -- cgit v1.2.3-59-g8ed1b