diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingHelper.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingHelper.java | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingHelper.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingHelper.java index a1fe50ba50..3e3bbcdc78 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingHelper.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingHelper.java @@ -536,8 +536,6 @@ public final class CcLinkingHelper { if (emitCcNativeLibrariesProvider) { providers.add(new CcNativeLibraryProvider(collectNativeCcLibraries(ccLinkingOutputs))); } - providers.put( - collectExecutionDynamicLibraryArtifacts(ccLinkingOutputs.getExecutionDynamicLibraries())); Runfiles cppStaticRunfiles = collectCppRunfiles(ccLinkingOutputs, true); Runfiles cppSharedRunfiles = collectCppRunfiles(ccLinkingOutputs, false); @@ -545,6 +543,8 @@ public final class CcLinkingHelper { CcLinkingInfo.Builder ccLinkingInfoBuilder = CcLinkingInfo.Builder.create(); ccLinkingInfoBuilder.setCcRunfilesInfo( new CcRunfilesInfo(cppStaticRunfiles, cppSharedRunfiles)); + ccLinkingInfoBuilder.setCcExecutionDynamicLibrariesInfo( + collectExecutionDynamicLibraryArtifacts(ccLinkingOutputs.getExecutionDynamicLibraries())); CppConfiguration cppConfiguration = ruleContext.getFragment(CppConfiguration.class); boolean forcePic = cppConfiguration.forcePic(); @@ -683,9 +683,13 @@ public final class CcLinkingHelper { } NestedSetBuilder<Artifact> builder = NestedSetBuilder.stableOrder(); - for (CcExecutionDynamicLibrariesInfo dep : - AnalysisUtils.getProviders(deps, CcExecutionDynamicLibrariesInfo.PROVIDER)) { - builder.addTransitive(dep.getExecutionDynamicLibraryArtifacts()); + for (CcLinkingInfo dep : AnalysisUtils.getProviders(deps, CcLinkingInfo.PROVIDER)) { + CcExecutionDynamicLibrariesInfo ccExecutionDynamicLibrariesInfo = + dep.getCcExecutionDynamicLibrariesInfo(); + if (ccExecutionDynamicLibrariesInfo != null) { + builder.addTransitive( + ccExecutionDynamicLibrariesInfo.getExecutionDynamicLibraryArtifacts()); + } } return builder.isEmpty() ? CcExecutionDynamicLibrariesInfo.EMPTY |