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
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 // TODO(jiyong): the Make-side does this only when the required module is a shared
// library or a native test. // library or a native test.
bothInAndroid := m.Device() && target.Os.Class == Device 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 sameBitness := m.Arch().ArchType.Multilib == target.Arch.ArchType.Multilib
if bothInAndroid && nativeArch && !sameBitness { if bothInAndroid && nativeArch && !sameBitness {
return return

View File

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

View File

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