Merge "fix: required deps of phony modules are correctly tracked" into main

This commit is contained in:
Jiyong Park 2024-03-30 13:48:48 +00:00 committed by Gerrit Code Review
commit 4d4eb59a2b
3 changed files with 15 additions and 1 deletions

View file

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

View file

@ -10,6 +10,7 @@ bootstrap_go_package {
"soong",
"soong-android",
"soong-bpf", // for testing
"soong-phony", // for testing
"soong-linkerconfig",
],
srcs: [

View file

@ -23,6 +23,7 @@ import (
"android/soong/bpf"
"android/soong/cc"
"android/soong/etc"
"android/soong/phony"
"github.com/google/blueprint/proptools"
)
@ -36,6 +37,7 @@ var fixture = android.GroupFixturePreparers(
bpf.PrepareForTestWithBpf,
etc.PrepareForTestWithPrebuiltEtc,
cc.PrepareForIntegrationTestWithCc,
phony.PrepareForTestWithPhony,
PrepareForTestWithFilesystemBuildComponents,
)
@ -47,6 +49,7 @@ func TestFileSystemDeps(t *testing.T) {
common: {
deps: [
"bpf.o",
"phony",
],
},
lib32: {
@ -82,6 +85,15 @@ func TestFileSystemDeps(t *testing.T) {
cc_library {
name: "libbaz",
}
phony {
name: "phony",
required: ["libquz"],
}
cc_library {
name: "libquz",
}
`)
// produces "myfilesystem.img"
@ -93,6 +105,7 @@ func TestFileSystemDeps(t *testing.T) {
"lib/libbar.so",
"lib64/libbar.so",
"lib64/libbaz.so",
"lib64/libquz.so",
"etc/bpf/bpf.o",
}
for _, e := range expected {