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
This commit is contained in:
Colin Cross
2021-01-20 10:26:00 -08:00
parent 94e347e6a5
commit 08117deab4
2 changed files with 5 additions and 5 deletions

View File

@@ -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)

View File

@@ -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)