aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingHelper.java
diff options
context:
space:
mode:
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.java14
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