Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9c540c82 authored by Jiyong Park's avatar Jiyong Park
Browse files

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
parent 92b8e8f1
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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
+1 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ bootstrap_go_package {
        "soong",
        "soong-android",
        "soong-bpf", // for testing
        "soong-phony", // for testing
        "soong-linkerconfig",
    ],
    srcs: [
+13 −0
Original line number Diff line number Diff line
@@ -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 {