Fix: required deps from native module to phony module is respected
This change fixes a bug that required deps from native module to phony module was ignored. It happened because addRequireDeps incorrectly thought that both are native modules with different bitness (32->64), which isn't. Fix this by doing the bitness check only when both the current module and the required module are native modules. Bug: N/A Test: go test ./... under build/soong/filesystem Change-Id: I494ebc47e29001f174fa44d72809041f8ceffb0b
This commit is contained in:
@@ -1066,7 +1066,8 @@ func addRequiredDeps(ctx BottomUpMutatorContext) {
|
||||
// TODO(jiyong): the Make-side does this only when the required module is a shared
|
||||
// library or a native test.
|
||||
bothInAndroid := ctx.Device() && target.Os.Class == Device
|
||||
nativeArch := InList(ctx.Arch().ArchType.Multilib, []string{"lib32", "lib64"})
|
||||
nativeArch := InList(ctx.Arch().ArchType.Multilib, []string{"lib32", "lib64"}) &&
|
||||
InList(target.Arch.ArchType.Multilib, []string{"lib32", "lib64"})
|
||||
sameBitness := ctx.Arch().ArchType.Multilib == target.Arch.ArchType.Multilib
|
||||
if bothInAndroid && nativeArch && !sameBitness {
|
||||
return
|
||||
|
@@ -465,3 +465,35 @@ func TestPreventDuplicatedEntries(t *testing.T) {
|
||||
}
|
||||
`)
|
||||
}
|
||||
|
||||
func TestTrackPhonyAsRequiredDep(t *testing.T) {
|
||||
result := fixture.RunTestWithBp(t, `
|
||||
android_filesystem {
|
||||
name: "fs",
|
||||
deps: ["foo"],
|
||||
}
|
||||
|
||||
cc_binary {
|
||||
name: "foo",
|
||||
required: ["phony"],
|
||||
}
|
||||
|
||||
phony {
|
||||
name: "phony",
|
||||
required: ["libbar"],
|
||||
}
|
||||
|
||||
cc_library {
|
||||
name: "libbar",
|
||||
}
|
||||
`)
|
||||
|
||||
fs := result.ModuleForTests("fs", "android_common").Module().(*filesystem)
|
||||
expected := []string{
|
||||
"bin/foo",
|
||||
"lib64/libbar.so",
|
||||
}
|
||||
for _, e := range expected {
|
||||
android.AssertStringListContains(t, "missing entry", fs.entries, e)
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user