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

Commit 5f906490 authored by Sam Delmerico's avatar Sam Delmerico
Browse files

remove stub dependency on source_library

Since the source_library attribute of _cc_stub_library_shared was a
label attribute, the source library was added as a dependency of the
stub which doesn't always make sense. E.g. it caused validation actions
for the source library to run even when we weren't building the source
library.

This change converts the label attriubte to a string attribute so that
we don't add the dependency.

Bug: 263390551
Change-Id: I19c62d1e14847dff68ab37156452addaa119eaf9
parent a8c1caca
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -1192,7 +1192,7 @@ apex {
			}),
			MakeBazelTarget("cc_stub_suite", "foo_stub_libs", AttrNameToString{
				"soname":               `"foo.so"`,
				"source_library": `":foo"`,
				"source_library_label": `"//:foo"`,
				"symbol_file":          `"foo.map.txt"`,
				"versions": `[
        "28",
+3 −3
Original line number Diff line number Diff line
@@ -2781,7 +2781,7 @@ func TestCcLibraryStubs(t *testing.T) {
	})
	expectedBazelTargets = append(expectedBazelTargets, makeCcStubSuiteTargets("a", AttrNameToString{
		"soname":               `"a.so"`,
		"source_library":    `":a"`,
		"source_library_label": `"//foo/bar:a"`,
		"stubs_symbol_file":    `"a.map.txt"`,
		"stubs_versions": `[
        "28",
+3 −3
Original line number Diff line number Diff line
@@ -541,7 +541,7 @@ cc_library_shared {
		Blueprint: soongCcLibraryPreamble,
		ExpectedBazelTargets: []string{makeCcStubSuiteTargets("a", AttrNameToString{
			"soname":               `"a.so"`,
			"source_library":    `":a"`,
			"source_library_label": `"//foo/bar:a"`,
			"stubs_symbol_file":    `"a.map.txt"`,
			"stubs_versions": `[
        "28",
+6 −4
Original line number Diff line number Diff line
@@ -626,13 +626,15 @@ func makeCcStubSuiteTargets(name string, attrs AttrNameToString) string {
		"stubs_symbol_file":    "symbol_file",
		"stubs_versions":       "versions",
		"soname":               "soname",
		"source_library":    "source_library",
		"source_library_label": "source_library_label",
	}

	stubSuiteAttrs := AttrNameToString{}
	for key, _ := range attrs {
		if _, stubSuiteAttr := STUB_SUITE_ATTRS[key]; stubSuiteAttr {
			stubSuiteAttrs[STUB_SUITE_ATTRS[key]] = attrs[key]
		} else {
			panic(fmt.Sprintf("unused cc_stub_suite attr %q\n", key))
		}
	}
	return MakeBazelTarget("cc_stub_suite", name+"_stub_libs", stubSuiteAttrs)
+12 −12
Original line number Diff line number Diff line
@@ -458,7 +458,7 @@ func createStubsBazelTargetIfNeeded(ctx android.TopDownMutatorContext, m *Module
			Versions:             compilerAttrs.stubsVersions,
			Export_includes:      exportedIncludes.Includes,
			Soname:               &soname,
			Source_library:  *bazel.MakeLabelAttribute(":" + m.Name()),
			Source_library_label: proptools.StringPtr(m.GetBazelLabel(ctx, m)),
			Deps:                 baseAttributes.deps,
		}
		ctx.CreateBazelTargetModule(stubSuitesProps,
@@ -3036,7 +3036,7 @@ type bazelCcStubSuiteAttributes struct {
	Symbol_file          *string
	Versions             bazel.StringListAttribute
	Export_includes      bazel.StringListAttribute
	Source_library  bazel.LabelAttribute
	Source_library_label *string
	Soname               *string
	Deps                 bazel.LabelListAttribute
}