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

Commit 100f3fd1 authored by Jiyong Park's avatar Jiyong Park
Browse files

sdk modules are by default compile_multilib: "both"

Bug: 143948100
Test: m (sdk_test.go amended)
Change-Id: I7df1b96af49a6569012e44eeb3c0722fac63fa51
parent af60d490
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ import (
	"strconv"

	"github.com/google/blueprint"
	"github.com/google/blueprint/proptools"

	"android/soong/android"
	// This package doesn't depend on the apex package, but import it to make its mutators to be
@@ -60,6 +61,13 @@ func ModuleFactory() android.Module {
	s.AddProperties(&s.properties)
	android.InitAndroidMultiTargetsArchModule(s, android.HostAndDeviceSupported, android.MultilibCommon)
	android.InitDefaultableModule(s)
	android.AddLoadHook(s, func(ctx android.LoadHookContext) {
		type props struct {
			Compile_multilib *string
		}
		p := &props{Compile_multilib: proptools.StringPtr("both")}
		ctx.AppendProperties(p)
	})
	return s
}

+29 −0
Original line number Diff line number Diff line
@@ -377,6 +377,35 @@ func TestDepNotInRequiredSdks(t *testing.T) {
	`)
}

func TestSdkIsCompileMultilibBoth(t *testing.T) {
	ctx, _ := testSdk(t, `
		sdk {
			name: "mysdk",
			native_shared_libs: ["sdkmember"],
		}

		cc_library_shared {
			name: "sdkmember",
			srcs: ["Test.cpp"],
			system_shared_libs: [],
			stl: "none",
		}
	`)

	armOutput := ctx.ModuleForTests("sdkmember", "android_arm_armv7-a-neon_core_shared").Module().(*cc.Module).OutputFile()
	arm64Output := ctx.ModuleForTests("sdkmember", "android_arm64_armv8-a_core_shared").Module().(*cc.Module).OutputFile()

	var inputs []string
	buildParams := ctx.ModuleForTests("mysdk", "android_common").Module().BuildParamsForTests()
	for _, bp := range buildParams {
		inputs = append(inputs, bp.Implicits.Strings()...)
	}

	// ensure that both 32/64 outputs are inputs of the sdk snapshot
	ensureListContains(t, inputs, armOutput.String())
	ensureListContains(t, inputs, arm64Output.String())
}

var buildDir string

func setUp() {