From 9582159c4d07fa1c277e4592f9a20143773693c0 Mon Sep 17 00:00:00 2001 From: Jooyung Han Date: Fri, 1 Dec 2023 16:33:30 +0900 Subject: [PATCH] Generate vendor specific STUB_LIBRARIES When generating vendor/etc/linker.config.pb, STUB_LIBRARIES was used. Because it lists *all* libraries with stubs regardless of its install location (vendor or system), using it for vendor linker.config.pb doesn't make sense. Instead, use vendor-specific STUB_LIBRARIES, which is named SOONG_STUB_VENDOR_LIBRARIES. Bug: 313806237 Test: m (aosp_cf_x86_64_phone) Test: $OUT/vendor/etc/linker.config.pb not listing libz.so Change-Id: Icd0aaf92d9630c07f58c4739a9f0ac713516db43 --- cc/stub_library.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/cc/stub_library.go b/cc/stub_library.go index 3a6d0aeaa..47c6cb9a1 100644 --- a/cc/stub_library.go +++ b/cc/stub_library.go @@ -27,7 +27,8 @@ func init() { } type stubLibraries struct { - stubLibraryMap map[string]bool + stubLibraryMap map[string]bool + stubVendorLibraryMap map[string]bool apiListCoverageXmlPaths []string } @@ -54,6 +55,9 @@ func (s *stubLibraries) GenerateBuildActions(ctx android.SingletonContext) { if IsStubTarget(m) { if name := getInstalledFileName(m); name != "" { s.stubLibraryMap[name] = true + if m.InVendor() { + s.stubVendorLibraryMap[name] = true + } } } if m.library != nil { @@ -67,13 +71,15 @@ func (s *stubLibraries) GenerateBuildActions(ctx android.SingletonContext) { func stubLibrariesSingleton() android.Singleton { return &stubLibraries{ - stubLibraryMap: make(map[string]bool), + stubLibraryMap: make(map[string]bool), + stubVendorLibraryMap: make(map[string]bool), } } func (s *stubLibraries) MakeVars(ctx android.MakeVarsContext) { // Convert stub library file names into Makefile variable. ctx.Strict("STUB_LIBRARIES", strings.Join(android.SortedKeys(s.stubLibraryMap), " ")) + ctx.Strict("SOONG_STUB_VENDOR_LIBRARIES", strings.Join(android.SortedKeys(s.stubVendorLibraryMap), " ")) // Export the list of API XML files to Make. sort.Strings(s.apiListCoverageXmlPaths)