From cc330d665a6e1ef3488e8fe69628983aa182bcc1 Mon Sep 17 00:00:00 2001 From: Martin Stjernholm Date: Tue, 21 Apr 2020 20:45:35 +0100 Subject: [PATCH] Do not propagate dynamic dependencies for stub libs. Test: m nothing Test: Build an SDK snapshot including libc, check that the generated cc_prebuilt_library_shared for it is a stub that doesn't depend on ld-android. Bug: 152255951 Bug: 154310674 Change-Id: Ie5ec02aebdf00b75756a6eda40db821488d30065 --- cc/library_sdk_member.go | 5 ++++- sdk/cc_sdk_test.go | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/cc/library_sdk_member.go b/cc/library_sdk_member.go index 754b96a98..953e85fd7 100644 --- a/cc/library_sdk_member.go +++ b/cc/library_sdk_member.go @@ -375,7 +375,10 @@ func (p *nativeLibInfoProperties) PopulateFromVariant(ctx android.SdkMemberConte specifiedDeps := specifiedDeps{} specifiedDeps = ccModule.linker.linkerSpecifiedDeps(specifiedDeps) - p.SharedLibs = specifiedDeps.sharedLibs + if !ccModule.HasStubsVariants() { + // Propagate dynamic dependencies for implementation libs, but not stubs. + p.SharedLibs = specifiedDeps.sharedLibs + } p.SystemSharedLibs = specifiedDeps.systemSharedLibs } p.exportedGeneratedHeaders = ccModule.ExportedGeneratedHeaders() diff --git a/sdk/cc_sdk_test.go b/sdk/cc_sdk_test.go index 780da9fc3..733f7ac22 100644 --- a/sdk/cc_sdk_test.go +++ b/sdk/cc_sdk_test.go @@ -1748,8 +1748,13 @@ func TestStubsLibrary(t *testing.T) { native_shared_libs: ["stubslib"], } + cc_library { + name: "internaldep", + } + cc_library { name: "stubslib", + shared_libs: ["internaldep"], stubs: { symbol_file: "some/where/stubslib.map.txt", versions: ["1", "2", "3"],