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

Commit 04f9f4cf authored by Spandan Das's avatar Spandan Das
Browse files

Parameterize cc_stub_suite for api surface

cc_stub_suite now has an additional attribute correponding to the api
surface. This attribute will be used to pass additional args to the stub
generator.

Update bp2build to set the api_surface of the apex stubs. This ensures
that its stubs are generated with "--systemapi --apex"

Test: unit tests
Bug: 298085502
Change-Id: If4c479f85e6e485b5c795a565a0c559f1f013bf5
parent b46969dd
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1315,6 +1315,7 @@ apex {
				"tags":              `["apex_available=myapex"]`,
			}),
			MakeBazelTarget("cc_stub_suite", "foo_stub_libs", AttrNameToString{
				"api_surface":          `"module-libapi"`,
				"soname":               `"foo.so"`,
				"source_library_label": `"//:foo"`,
				"symbol_file":          `"foo.map.txt"`,
+1 −0
Original line number Diff line number Diff line
@@ -2809,6 +2809,7 @@ func TestCcLibraryStubs(t *testing.T) {
		"stubs_symbol_file": `"a.map.txt"`,
	})
	expectedBazelTargets = append(expectedBazelTargets, makeCcStubSuiteTargets("a", AttrNameToString{
		"api_surface":          `"module-libapi"`,
		"soname":               `"a.so"`,
		"source_library_label": `"//foo/bar:a"`,
		"stubs_symbol_file":    `"a.map.txt"`,
+3 −0
Original line number Diff line number Diff line
@@ -543,6 +543,7 @@ cc_library_shared {
		},
		Blueprint: soongCcLibraryPreamble,
		ExpectedBazelTargets: []string{makeCcStubSuiteTargets("a", AttrNameToString{
			"api_surface":          `"module-libapi"`,
			"soname":               `"a.so"`,
			"source_library_label": `"//foo/bar:a"`,
			"stubs_symbol_file":    `"a.map.txt"`,
@@ -1442,6 +1443,7 @@ cc_library_shared {
`,
		ExpectedBazelTargets: []string{
			makeCcStubSuiteTargets("a", AttrNameToString{
				"api_surface":          `"module-libapi"`,
				"soname":               `"a.so"`,
				"source_library_label": `"//:a"`,
				"stubs_symbol_file":    `"a.map.txt"`,
@@ -1456,6 +1458,7 @@ cc_library_shared {
				"stubs_symbol_file": `"a.map.txt"`,
			}),
			makeCcStubSuiteTargets("b", AttrNameToString{
				"api_surface":          `"module-libapi"`,
				"soname":               `"b.so"`,
				"source_library_label": `"//:b"`,
				"stubs_symbol_file":    `"b.map.txt"`,
+1 −0
Original line number Diff line number Diff line
@@ -644,6 +644,7 @@ func makeCcStubSuiteTargets(name string, attrs AttrNameToString) string {
		return ""
	}
	STUB_SUITE_ATTRS := map[string]string{
		"api_surface":          "api_surface",
		"stubs_symbol_file":    "symbol_file",
		"stubs_versions":       "versions",
		"soname":               "soname",
+2 −0
Original line number Diff line number Diff line
@@ -494,6 +494,7 @@ func createStubsBazelTargetIfNeeded(ctx android.TopDownMutatorContext, m *Module
			Soname:               &soname,
			Source_library_label: proptools.StringPtr(m.GetBazelLabel(ctx, m)),
			Deps:                 baseAttributes.deps,
			Api_surface:          proptools.StringPtr("module-libapi"),
		}
		ctx.CreateBazelTargetModule(stubSuitesProps,
			android.CommonAttributes{Name: m.Name() + "_stub_libs"},
@@ -3121,6 +3122,7 @@ type bazelCcStubSuiteAttributes struct {
	Source_library_label *string
	Soname               *string
	Deps                 bazel.LabelListAttribute
	Api_surface          *string
}

type bazelCcHeaderAbiCheckerAttributes struct {