diff options
Diffstat (limited to 'android/module.go')
-rw-r--r-- | android/module.go | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/android/module.go b/android/module.go index 9f1d5eff0..89c4ddde9 100644 --- a/android/module.go +++ b/android/module.go @@ -1062,7 +1062,7 @@ func (m *ModuleBase) addRequiredDeps(ctx BottomUpMutatorContext) { // TODO(jiyong): the Make-side does this only when the required module is a shared // library or a native test. bothInAndroid := m.Device() && target.Os.Class == Device - nativeArch := m.Arch().ArchType.Multilib != string(MultilibCommon) + nativeArch := InList(m.Arch().ArchType.Multilib, []string{"lib32", "lib64"}) sameBitness := m.Arch().ArchType.Multilib == target.Arch.ArchType.Multilib if bothInAndroid && nativeArch && !sameBitness { return @@ -1074,14 +1074,22 @@ func (m *ModuleBase) addRequiredDeps(ctx BottomUpMutatorContext) { } } + var deviceTargets []Target + deviceTargets = append(deviceTargets, ctx.Config().Targets[Android]...) + deviceTargets = append(deviceTargets, ctx.Config().AndroidCommonTarget) + + var hostTargets []Target + hostTargets = append(hostTargets, ctx.Config().Targets[ctx.Config().BuildOS]...) + hostTargets = append(hostTargets, ctx.Config().BuildOSCommonTarget) + if m.Device() { for _, depName := range m.RequiredModuleNames() { - for _, target := range ctx.Config().Targets[Android] { + for _, target := range deviceTargets { addDep(target, depName) } } for _, depName := range m.HostRequiredModuleNames() { - for _, target := range ctx.Config().Targets[ctx.Config().BuildOS] { + for _, target := range hostTargets { addDep(target, depName) } } @@ -1089,7 +1097,7 @@ func (m *ModuleBase) addRequiredDeps(ctx BottomUpMutatorContext) { if m.Host() { for _, depName := range m.RequiredModuleNames() { - for _, target := range ctx.Config().Targets[ctx.Config().BuildOS] { + for _, target := range hostTargets { // When a host module requires another host module, don't make a // dependency if they have different OSes (i.e. hostcross). if m.Target().HostCross != target.HostCross { @@ -1099,7 +1107,7 @@ func (m *ModuleBase) addRequiredDeps(ctx BottomUpMutatorContext) { } } for _, depName := range m.TargetRequiredModuleNames() { - for _, target := range ctx.Config().Targets[Android] { + for _, target := range deviceTargets { addDep(target, depName) } } |