Loading android/module.go +2 −1 Original line number Diff line number Diff line Loading @@ -1069,7 +1069,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 Loading filesystem/filesystem_test.go +32 −0 Original line number Diff line number Diff line Loading @@ -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) } } Loading
android/module.go +2 −1 Original line number Diff line number Diff line Loading @@ -1069,7 +1069,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 Loading
filesystem/filesystem_test.go +32 −0 Original line number Diff line number Diff line Loading @@ -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) } }