From 08117deab48338eb81a89752cd471c5a807ff817 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Wed, 20 Jan 2021 10:26:00 -0800 Subject: [PATCH] Fix mismatch between cc and python for windows prefer32 Windows prefer32 was implemented in cc, which caused a mismatch between cc and other packages like python. This manifested as missing variant when a python_test_host with compile_multilib: "first" tried to depend on a cc_binary_host, which implicitly has multilib "first". Fixes: 177904375 Test: m checkbuild Change-Id: Iaaac16ae171c06d90d04d7cac11789d3f39b8d99 --- android/arch.go | 6 +++++- cc/cc.go | 4 ---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/android/arch.go b/android/arch.go index 34f9b2979..baee9be26 100644 --- a/android/arch.go +++ b/android/arch.go @@ -617,11 +617,15 @@ func archMutator(bpctx blueprint.BottomUpMutatorContext) { } // Some modules want compile_multilib: "first" to mean 32-bit, not 64-bit. - // This is used for Windows support and for HOST_PREFER_32_BIT=true support for Art modules. + // This is used for HOST_PREFER_32_BIT=true support for Art modules. prefer32 := false if base.prefer32 != nil { prefer32 = base.prefer32(mctx, base, os) } + if os == Windows { + // Windows builds always prefer 32-bit + prefer32 = true + } // Determine the multilib selection for this module. multilib, extraMultilib := decodeMultilib(base, os.Class) diff --git a/cc/cc.go b/cc/cc.go index d71900671..68514e887 100644 --- a/cc/cc.go +++ b/cc/cc.go @@ -1012,10 +1012,6 @@ func (c *Module) Init() android.Module { c.AddProperties(feature.props()...) } - c.Prefer32(func(ctx android.BaseModuleContext, base *android.ModuleBase, os android.OsType) bool { - // Windows builds always prefer 32-bit - return os == android.Windows - }) android.InitAndroidArchModule(c, c.hod, c.multilib) android.InitApexModule(c) android.InitSdkAwareModule(c)