From 9c540c82d4efef879589366b808eefc6f8f8fbef Mon Sep 17 00:00:00 2001 From: Jiyong Park Date: Tue, 26 Mar 2024 10:48:27 +0900 Subject: [PATCH] fix: required deps of phony modules are correctly tracked ArchType.Multilib of native modules are either lib32 or lib64. Arch-neural modules have "" not "common". Bug: 321626681 Test: go test ./... Change-Id: Ie7e6a5203e9f671487dbf32ea2343ada7407a28f --- android/module.go | 2 +- filesystem/Android.bp | 1 + filesystem/filesystem_test.go | 13 +++++++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/android/module.go b/android/module.go index cce4fa6cb..14e10e7de 100644 --- a/android/module.go +++ b/android/module.go @@ -1055,7 +1055,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 diff --git a/filesystem/Android.bp b/filesystem/Android.bp index cdf668238..cead5fc01 100644 --- a/filesystem/Android.bp +++ b/filesystem/Android.bp @@ -10,6 +10,7 @@ bootstrap_go_package { "soong", "soong-android", "soong-bpf", // for testing + "soong-phony", // for testing "soong-linkerconfig", ], srcs: [ diff --git a/filesystem/filesystem_test.go b/filesystem/filesystem_test.go index 74c79e3bb..d5ea2bc17 100644 --- a/filesystem/filesystem_test.go +++ b/filesystem/filesystem_test.go @@ -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 {