aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib
diff options
context:
space:
mode:
authorGravatar plf <plf@google.com>2018-06-13 03:43:52 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-06-13 03:45:25 -0700
commit6c282b9ec2d2b11108b038e8551f26fa961c0538 (patch)
tree66b9410033d9e6d26fe61158d262607e7044b0a0 /src/main/java/com/google/devtools/build/lib
parentc23bdac0838d817e776d66990de1e73bc3a515d8 (diff)
C++: Continues renaming executionDynamicLibraries to dynamicLibrariesForRuntime.
RELNOTES:none PiperOrigin-RevId: 200366616
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java38
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcDynamicLibrariesForRuntime.java (renamed from src/main/java/com/google/devtools/build/lib/rules/cpp/CcExecutionDynamicLibraries.java)27
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcImport.java40
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibrary.java8
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkParams.java24
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingHelper.java59
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingInfo.java22
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingOutputs.java30
-rw-r--r--src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcDynamicLibrariesForRuntimeApi.java (renamed from src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcExecutionDynamicLibrariesApi.java)11
9 files changed, 130 insertions, 129 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java
index b68f6b13ab..5e429f0f38 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcBinary.java
@@ -411,16 +411,16 @@ public abstract class CcBinary implements RuleConfiguredTargetFactory {
Artifact executable = linkAction.getLinkOutput();
CcLinkingOutputs.Builder linkingOutputsBuilder = new CcLinkingOutputs.Builder();
if (isLinkShared(ruleContext)) {
- linkingOutputsBuilder.addDynamicLibrary(outputLibrary);
- linkingOutputsBuilder.addExecutionDynamicLibrary(outputLibrary);
+ linkingOutputsBuilder.addDynamicLibraryForLinking(outputLibrary);
+ linkingOutputsBuilder.addDynamicLibraryForRuntime(outputLibrary);
}
// Also add all shared libraries from srcs.
for (Artifact library : precompiledFiles.getSharedLibraries()) {
Artifact symlink = common.getDynamicLibrarySymlink(library, true);
LibraryToLink symlinkLibrary = LinkerInputs.solibLibraryToLink(
symlink, library, CcLinkingOutputs.libraryIdentifierOf(library));
- linkingOutputsBuilder.addDynamicLibrary(symlinkLibrary);
- linkingOutputsBuilder.addExecutionDynamicLibrary(symlinkLibrary);
+ linkingOutputsBuilder.addDynamicLibraryForLinking(symlinkLibrary);
+ linkingOutputsBuilder.addDynamicLibraryForRuntime(symlinkLibrary);
}
CcLinkingOutputs linkingOutputs = linkingOutputsBuilder.build();
NestedSet<Artifact> filesToBuild = NestedSetBuilder.create(Order.STABLE_ORDER, executable);
@@ -465,7 +465,7 @@ public abstract class CcBinary implements RuleConfiguredTargetFactory {
NestedSetBuilder.fromNestedSet(filesToBuild)
.addAll(
createDynamicLibrariesCopyActions(
- ruleContext, linkParams.getExecutionDynamicLibraries()))
+ ruleContext, linkParams.getDynamicLibrariesForRuntime()))
.build();
}
@@ -817,13 +817,13 @@ public abstract class CcBinary implements RuleConfiguredTargetFactory {
* Create the actions to symlink/copy execution dynamic libraries to binary directory so that they
* are available at runtime.
*
- * @param executionDynamicLibraries The libraries to be copied.
+ * @param dynamicLibrariesForRuntime The libraries to be copied.
* @return The result artifacts of the copies.
*/
private static ImmutableList<Artifact> createDynamicLibrariesCopyActions(
- RuleContext ruleContext, NestedSet<Artifact> executionDynamicLibraries) {
+ RuleContext ruleContext, NestedSet<Artifact> dynamicLibrariesForRuntime) {
ImmutableList.Builder<Artifact> result = ImmutableList.builder();
- for (Artifact target : executionDynamicLibraries) {
+ for (Artifact target : dynamicLibrariesForRuntime) {
if (!ruleContext.getLabel().getPackageName().equals(target.getOwner().getPackageName())) {
// SymlinkAction on file is actually copy on Windows.
Artifact copy = ruleContext.getBinArtifact(target.getFilename());
@@ -909,9 +909,9 @@ public abstract class CcBinary implements RuleConfiguredTargetFactory {
ccCompilationInfoBuilder.setCcCompilationContext(ccCompilationContext);
CcLinkingInfo.Builder ccLinkingInfoBuilder = CcLinkingInfo.Builder.create();
- ccLinkingInfoBuilder.setCcExecutionDynamicLibraries(
- new CcExecutionDynamicLibraries(
- collectExecutionDynamicLibraryArtifacts(
+ ccLinkingInfoBuilder.setCcDynamicLibrariesForRuntime(
+ new CcDynamicLibrariesForRuntime(
+ collectDynamicLibrariesForRuntimeArtifacts(
ruleContext, linkingOutputs.getDynamicLibrariesForRuntime())));
builder
@@ -943,10 +943,9 @@ public abstract class CcBinary implements RuleConfiguredTargetFactory {
CppHelper.maybeAddStaticLinkMarkerProvider(builder, ruleContext);
}
- private static NestedSet<Artifact> collectExecutionDynamicLibraryArtifacts(
- RuleContext ruleContext,
- List<LibraryToLink> executionDynamicLibraries) {
- Iterable<Artifact> artifacts = LinkerInputs.toLibraryArtifacts(executionDynamicLibraries);
+ private static NestedSet<Artifact> collectDynamicLibrariesForRuntimeArtifacts(
+ RuleContext ruleContext, List<LibraryToLink> dynamicLibrariesForRuntime) {
+ Iterable<Artifact> artifacts = LinkerInputs.toLibraryArtifacts(dynamicLibrariesForRuntime);
if (!Iterables.isEmpty(artifacts)) {
return NestedSetBuilder.wrap(Order.STABLE_ORDER, artifacts);
}
@@ -954,10 +953,11 @@ public abstract class CcBinary implements RuleConfiguredTargetFactory {
NestedSetBuilder<Artifact> builder = NestedSetBuilder.stableOrder();
for (CcLinkingInfo ccLinkingInfo :
ruleContext.getPrerequisites("deps", Mode.TARGET, CcLinkingInfo.PROVIDER)) {
- CcExecutionDynamicLibraries ccExecutionDynamicLibraries =
- ccLinkingInfo.getCcExecutionDynamicLibraries();
- if (ccExecutionDynamicLibraries != null) {
- builder.addTransitive(ccExecutionDynamicLibraries.getExecutionDynamicLibraryArtifacts());
+ CcDynamicLibrariesForRuntime ccDynamicLibrariesForRuntime =
+ ccLinkingInfo.getCcDynamicLibrariesForRuntime();
+ if (ccDynamicLibrariesForRuntime != null) {
+ builder.addTransitive(
+ ccDynamicLibrariesForRuntime.getDynamicLibrariesForRuntimeArtifacts());
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcExecutionDynamicLibraries.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcDynamicLibrariesForRuntime.java
index 1f488d31be..387640aa46 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcExecutionDynamicLibraries.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcDynamicLibrariesForRuntime.java
@@ -19,30 +19,31 @@ import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
import com.google.devtools.build.lib.collect.nestedset.Order;
import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
-import com.google.devtools.build.lib.skylarkbuildapi.cpp.CcExecutionDynamicLibrariesApi;
+import com.google.devtools.build.lib.skylarkbuildapi.cpp.CcDynamicLibrariesForRuntimeApi;
-/** An object that contains the execution-time dynamic libraries of a C++ rule. */
+/** An object that contains the dynamic libraries for runtime of a C++ rule. */
@Immutable
@AutoCodec
-public final class CcExecutionDynamicLibraries implements CcExecutionDynamicLibrariesApi {
- public static final CcExecutionDynamicLibraries EMPTY =
- new CcExecutionDynamicLibraries(NestedSetBuilder.<Artifact>emptySet(Order.STABLE_ORDER));
+public final class CcDynamicLibrariesForRuntime implements
+ CcDynamicLibrariesForRuntimeApi {
+ public static final CcDynamicLibrariesForRuntime EMPTY =
+ new CcDynamicLibrariesForRuntime(NestedSetBuilder.<Artifact>emptySet(Order.STABLE_ORDER));
- private final NestedSet<Artifact> ccExecutionDynamicLibraries;
+ private final NestedSet<Artifact> ccDynamicLibrariesForRuntime;
- public CcExecutionDynamicLibraries(NestedSet<Artifact> ccExecutionDynamicLibraries) {
- this.ccExecutionDynamicLibraries = ccExecutionDynamicLibraries;
+ public CcDynamicLibrariesForRuntime(NestedSet<Artifact> ccDynamicLibrariesForRuntime) {
+ this.ccDynamicLibrariesForRuntime = ccDynamicLibrariesForRuntime;
}
/**
- * Returns the execution-time dynamic libraries.
+ * Returns the dynamic libraries for runtime.
*
- * <p>This normally returns the dynamic library created by the rule itself. However, if the rule
+ * <p>This normally returns the dynamic library created by the rule itself. However, if the rule
* does not create any dynamic libraries, then it returns the combined results of calling
- * getExecutionDynamicLibraryArtifacts on all the rule's deps. This behaviour is so that this
+ * getDynamicLibrariesForRuntimeArtifacts on all the rule's deps. This behaviour is so that this
* method is useful for a cc_library with deps but no srcs.
*/
- public NestedSet<Artifact> getExecutionDynamicLibraryArtifacts() {
- return ccExecutionDynamicLibraries;
+ public NestedSet<Artifact> getDynamicLibrariesForRuntimeArtifacts() {
+ return ccDynamicLibrariesForRuntime;
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcImport.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcImport.java
index 373d2d5747..45969ba592 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcImport.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcImport.java
@@ -119,44 +119,44 @@ public abstract class CcImport implements RuleConfiguredTargetFactory {
// Now we are going to have some platform dependent behaviors
boolean targetWindows = featureConfiguration.isEnabled(CppRuleClasses.TARGETS_WINDOWS);
- Iterable<LibraryToLink> dynamicLibraryList = null;
- Iterable<LibraryToLink> executionDynamicLibraryList = null;
+ Iterable<LibraryToLink> dynamicLibraryForLinkingList = null;
+ Iterable<LibraryToLink> dynamicLibrariesForRuntimeList = null;
if (sharedLibrary != null) {
if (targetWindows) {
- executionDynamicLibraryList =
+ dynamicLibrariesForRuntimeList =
ImmutableList.of(
LinkerInputs.opaqueLibraryToLink(
sharedLibrary, ArtifactCategory.DYNAMIC_LIBRARY, libraryIdentifier));
} else {
- executionDynamicLibraryList =
- ImmutableList.of(
- LinkerInputs.solibLibraryToLink(
- common.getDynamicLibrarySymlink(sharedLibrary, true),
- sharedLibrary,
- libraryIdentifier));
+ dynamicLibrariesForRuntimeList =
+ ImmutableList.of(
+ LinkerInputs.solibLibraryToLink(
+ common.getDynamicLibrarySymlink(sharedLibrary, true),
+ sharedLibrary,
+ libraryIdentifier));
}
- linkingHelper.addExecutionDynamicLibraries(executionDynamicLibraryList);
+ linkingHelper.addDynamicLibrariesForRuntime(dynamicLibrariesForRuntimeList);
}
if (interfaceLibrary != null) {
if (targetWindows) {
- dynamicLibraryList =
+ dynamicLibraryForLinkingList =
ImmutableList.of(
LinkerInputs.opaqueLibraryToLink(
interfaceLibrary, ArtifactCategory.INTERFACE_LIBRARY, libraryIdentifier));
} else {
- dynamicLibraryList =
- ImmutableList.of(
- LinkerInputs.solibLibraryToLink(
- common.getDynamicLibrarySymlink(interfaceLibrary, true),
- interfaceLibrary,
- libraryIdentifier));
+ dynamicLibraryForLinkingList =
+ ImmutableList.of(
+ LinkerInputs.solibLibraryToLink(
+ common.getDynamicLibrarySymlink(interfaceLibrary, true),
+ interfaceLibrary,
+ libraryIdentifier));
}
} else {
// If interface_library is not specified and we are not building for Windows, then the dynamic
// library required at linking time is the same as the one required at execution time.
if (!targetWindows) {
- dynamicLibraryList = executionDynamicLibraryList;
+ dynamicLibraryForLinkingList = dynamicLibrariesForRuntimeList;
} else if (staticLibrary == null) {
ruleContext.ruleError(
"'interface library' must be specified when using cc_import for shared library on"
@@ -164,8 +164,8 @@ public abstract class CcImport implements RuleConfiguredTargetFactory {
}
}
- if (dynamicLibraryList != null) {
- linkingHelper.addDynamicLibraries(dynamicLibraryList);
+ if (dynamicLibraryForLinkingList != null) {
+ linkingHelper.addDynamicLibrariesForLinking(dynamicLibraryForLinkingList);
}
LinkingInfo linkingInfo =
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibrary.java
index 6d2fb346e6..0a46d7f9df 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibrary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibrary.java
@@ -299,8 +299,8 @@ public abstract class CcLibrary implements RuleConfiguredTargetFactory {
common.getDynamicLibrarySymlink(library, true),
library,
CcLinkingOutputs.libraryIdentifierOf(library)));
- linkingHelper.addDynamicLibraries(dynamicLibraries);
- linkingHelper.addExecutionDynamicLibraries(dynamicLibraries);
+ linkingHelper.addDynamicLibrariesForLinking(dynamicLibraries);
+ linkingHelper.addDynamicLibrariesForRuntime(dynamicLibraries);
CompilationInfo compilationInfo = compilationHelper.compile();
LinkingInfo linkingInfo =
@@ -391,8 +391,8 @@ public abstract class CcLibrary implements RuleConfiguredTargetFactory {
(CcLinkingInfo) linkingInfo.getProviders().getProvider(CcLinkingInfo.PROVIDER.getKey());
CcLinkingInfo.Builder ccLinkingInfoBuilder = CcLinkingInfo.Builder.create();
ccLinkingInfoBuilder.setCcLinkParamsStore(ccLinkingInfo.getCcLinkParamsStore());
- ccLinkingInfoBuilder.setCcExecutionDynamicLibraries(
- ccLinkingInfo.getCcExecutionDynamicLibraries());
+ ccLinkingInfoBuilder.setCcDynamicLibrariesForRuntime(
+ ccLinkingInfo.getCcDynamicLibrariesForRuntime());
ccLinkingInfoBuilder.setCcRunfiles(new CcRunfiles(staticRunfiles, sharedRunfiles));
return ccLinkingInfoBuilder.build();
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkParams.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkParams.java
index be9d58a0a1..db73a3ca4e 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkParams.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkParams.java
@@ -73,7 +73,7 @@ public final class CcLinkParams {
private final NestedSet<LinkOptions> linkOpts;
private final NestedSet<Linkstamp> linkstamps;
private final NestedSet<LibraryToLink> libraries;
- private final NestedSet<Artifact> executionDynamicLibraries;
+ private final NestedSet<Artifact> dynamicLibrariesForRuntime;
private final ExtraLinkTimeLibraries extraLinkTimeLibraries;
private final NestedSet<Artifact> nonCodeInputs;
@@ -83,13 +83,13 @@ public final class CcLinkParams {
NestedSet<LinkOptions> linkOpts,
NestedSet<Linkstamp> linkstamps,
NestedSet<LibraryToLink> libraries,
- NestedSet<Artifact> executionDynamicLibraries,
+ NestedSet<Artifact> dynamicLibrariesForRuntime,
ExtraLinkTimeLibraries extraLinkTimeLibraries,
NestedSet<Artifact> nonCodeInputs) {
this.linkOpts = linkOpts;
this.linkstamps = linkstamps;
this.libraries = libraries;
- this.executionDynamicLibraries = executionDynamicLibraries;
+ this.dynamicLibrariesForRuntime = dynamicLibrariesForRuntime;
this.extraLinkTimeLibraries = extraLinkTimeLibraries;
this.nonCodeInputs = nonCodeInputs;
}
@@ -119,11 +119,9 @@ public final class CcLinkParams {
return libraries;
}
- /**
- * Returns the executionDynamicLibraries.
- */
- public NestedSet<Artifact> getExecutionDynamicLibraries() {
- return executionDynamicLibraries;
+ /** Returns the dynamicLibrariesForRuntime. */
+ public NestedSet<Artifact> getDynamicLibrariesForRuntime() {
+ return dynamicLibrariesForRuntime;
}
/**
@@ -171,7 +169,7 @@ public final class CcLinkParams {
NestedSetBuilder.compileOrder();
private final NestedSetBuilder<LibraryToLink> librariesBuilder =
NestedSetBuilder.linkOrder();
- private final NestedSetBuilder<Artifact> executionDynamicLibrariesBuilder =
+ private final NestedSetBuilder<Artifact> dynamicLibrariesForRuntimeBuilder =
NestedSetBuilder.stableOrder();
/**
@@ -213,7 +211,7 @@ public final class CcLinkParams {
linkOptsBuilder.build(),
linkstampsBuilder.build(),
librariesBuilder.build(),
- executionDynamicLibrariesBuilder.build(),
+ dynamicLibrariesForRuntimeBuilder.build(),
extraLinkTimeLibraries,
nonCodeInputs);
}
@@ -299,7 +297,7 @@ public final class CcLinkParams {
linkOptsBuilder.addTransitive(args.getLinkopts());
linkstampsBuilder.addTransitive(args.getLinkstamps());
librariesBuilder.addTransitive(args.getLibraries());
- executionDynamicLibrariesBuilder.addTransitive(args.getExecutionDynamicLibraries());
+ dynamicLibrariesForRuntimeBuilder.addTransitive(args.getDynamicLibrariesForRuntime());
if (args.getExtraLinkTimeLibraries() != null) {
if (extraLinkTimeLibrariesBuilder == null) {
extraLinkTimeLibrariesBuilder = ExtraLinkTimeLibraries.builder();
@@ -350,8 +348,8 @@ public final class CcLinkParams {
}
/** Adds a collection of library artifacts. */
- public Builder addExecutionDynamicLibraries(Iterable<Artifact> libraries) {
- executionDynamicLibrariesBuilder.addAll(libraries);
+ public Builder addDynamicLibrariesForRuntime(Iterable<Artifact> libraries) {
+ dynamicLibrariesForRuntimeBuilder.addAll(libraries);
return this;
}
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 3a0e65dada..aba22e42f3 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
@@ -162,8 +162,8 @@ public final class CcLinkingHelper {
private final List<LibraryToLink> staticLibraries = new ArrayList<>();
private final List<LibraryToLink> picStaticLibraries = new ArrayList<>();
- private final List<LibraryToLink> dynamicLibraries = new ArrayList<>();
- private final List<LibraryToLink> executionDynamicLibraries = new ArrayList<>();
+ private final List<LibraryToLink> dynamicLibrariesForLinking = new ArrayList<>();
+ private final List<LibraryToLink> dynamicLibrariesForRuntime = new ArrayList<>();
private boolean checkDepsGenerateCpp = true;
private boolean emitLinkActionsIfEmpty;
@@ -247,14 +247,14 @@ public final class CcLinkingHelper {
* linker action) - this makes them available for linking to binary rules that depend on this
* rule.
*/
- public CcLinkingHelper addDynamicLibraries(Iterable<LibraryToLink> libraries) {
- Iterables.addAll(dynamicLibraries, libraries);
+ public CcLinkingHelper addDynamicLibrariesForLinking(Iterable<LibraryToLink> libraries) {
+ Iterables.addAll(dynamicLibrariesForLinking, libraries);
return this;
}
/** Add the corresponding files as dynamic libraries required at runtime */
- public CcLinkingHelper addExecutionDynamicLibraries(Iterable<LibraryToLink> libraries) {
- Iterables.addAll(executionDynamicLibraries, libraries);
+ public CcLinkingHelper addDynamicLibrariesForRuntime(Iterable<LibraryToLink> libraries) {
+ Iterables.addAll(dynamicLibrariesForRuntime, libraries);
return this;
}
@@ -466,8 +466,8 @@ public final class CcLinkingHelper {
CcLinkingOutputs originalLinkingOutputs = ccLinkingOutputs;
if (!(staticLibraries.isEmpty()
&& picStaticLibraries.isEmpty()
- && dynamicLibraries.isEmpty()
- && executionDynamicLibraries.isEmpty())) {
+ && dynamicLibrariesForLinking.isEmpty()
+ && dynamicLibrariesForRuntime.isEmpty())) {
CcLinkingOutputs.Builder newOutputsBuilder = new CcLinkingOutputs.Builder();
if (!ccOutputs.isEmpty()) {
@@ -478,7 +478,7 @@ public final class CcLinkingHelper {
CcLinkingOutputs.getLibrariesByIdentifier(
Iterables.concat(
staticLibraries, picStaticLibraries,
- dynamicLibraries, executionDynamicLibraries));
+ dynamicLibrariesForLinking, dynamicLibrariesForRuntime));
ImmutableSetMultimap<String, LibraryToLink> linkedLibraryMap =
originalLinkingOutputs.getLibrariesByIdentifier();
for (String matchingIdentifier :
@@ -510,8 +510,8 @@ public final class CcLinkingHelper {
newOutputsBuilder
.addStaticLibraries(staticLibraries)
.addPicStaticLibraries(picStaticLibraries)
- .addDynamicLibraries(dynamicLibraries)
- .addExecutionDynamicLibraries(executionDynamicLibraries)
+ .addDynamicLibraries(dynamicLibrariesForLinking)
+ .addDynamicLibrariesForRuntime(dynamicLibrariesForRuntime)
.build();
}
@@ -536,8 +536,9 @@ public final class CcLinkingHelper {
CcLinkingInfo.Builder ccLinkingInfoBuilder = CcLinkingInfo.Builder.create();
ccLinkingInfoBuilder.setCcRunfiles(new CcRunfiles(cppStaticRunfiles, cppSharedRunfiles));
- ccLinkingInfoBuilder.setCcExecutionDynamicLibraries(
- collectExecutionDynamicLibraryArtifacts(ccLinkingOutputs.getDynamicLibrariesForRuntime()));
+ ccLinkingInfoBuilder.setCcDynamicLibrariesForRuntime(
+ collectDynamicLibrariesForRuntimeArtifacts(
+ ccLinkingOutputs.getDynamicLibrariesForRuntime()));
CppConfiguration cppConfiguration = ruleContext.getFragment(CppConfiguration.class);
boolean forcePic = cppConfiguration.forcePic();
@@ -646,7 +647,7 @@ public final class CcLinkingHelper {
if (!linkingStatically
|| (ccLinkingOutputs.getStaticLibraries().isEmpty()
&& ccLinkingOutputs.getPicStaticLibraries().isEmpty())) {
- builder.addExecutionDynamicLibraries(
+ builder.addDynamicLibrariesForRuntime(
LinkerInputs.toLibraryArtifacts(ccLinkingOutputs.getDynamicLibrariesForRuntime()));
}
builder.addLinkOpts(linkopts);
@@ -667,24 +668,25 @@ public final class CcLinkingHelper {
return result.build();
}
- private CcExecutionDynamicLibraries collectExecutionDynamicLibraryArtifacts(
- List<LibraryToLink> executionDynamicLibraries) {
- Iterable<Artifact> artifacts = LinkerInputs.toLibraryArtifacts(executionDynamicLibraries);
+ private CcDynamicLibrariesForRuntime collectDynamicLibrariesForRuntimeArtifacts(
+ List<LibraryToLink> dynamicLibrariesForRuntime) {
+ Iterable<Artifact> artifacts = LinkerInputs.toLibraryArtifacts(dynamicLibrariesForRuntime);
if (!Iterables.isEmpty(artifacts)) {
- return new CcExecutionDynamicLibraries(NestedSetBuilder.wrap(Order.STABLE_ORDER, artifacts));
+ return new CcDynamicLibrariesForRuntime(NestedSetBuilder.wrap(Order.STABLE_ORDER, artifacts));
}
NestedSetBuilder<Artifact> builder = NestedSetBuilder.stableOrder();
for (CcLinkingInfo dep : ccLinkingInfos) {
- CcExecutionDynamicLibraries ccExecutionDynamicLibraries =
- dep.getCcExecutionDynamicLibraries();
- if (ccExecutionDynamicLibraries != null) {
- builder.addTransitive(ccExecutionDynamicLibraries.getExecutionDynamicLibraryArtifacts());
+ CcDynamicLibrariesForRuntime ccDynamicLibrariesForRuntime =
+ dep.getCcDynamicLibrariesForRuntime();
+ if (ccDynamicLibrariesForRuntime != null) {
+ builder.addTransitive(
+ ccDynamicLibrariesForRuntime.getDynamicLibrariesForRuntimeArtifacts());
}
}
return builder.isEmpty()
- ? CcExecutionDynamicLibraries.EMPTY
- : new CcExecutionDynamicLibraries(builder.build());
+ ? CcDynamicLibrariesForRuntime.EMPTY
+ : new CcDynamicLibrariesForRuntime(builder.build());
}
/**
@@ -954,8 +956,9 @@ public final class CcLinkingHelper {
// solibDir, instead we use the original interface library and dynamic library.
if (neverlink
|| featureConfiguration.isEnabled(CppRuleClasses.COPY_DYNAMIC_LIBRARIES_TO_BINARY)) {
- result.addDynamicLibrary(interfaceLibrary == null ? dynamicLibrary : interfaceLibrary);
- result.addExecutionDynamicLibrary(dynamicLibrary);
+ result.addDynamicLibraryForLinking(
+ interfaceLibrary == null ? dynamicLibrary : interfaceLibrary);
+ result.addDynamicLibraryForRuntime(dynamicLibrary);
} else {
Artifact implLibraryLinkArtifact =
SolibSymlinkAction.getDynamicLibrarySymlink(
@@ -968,7 +971,7 @@ public final class CcLinkingHelper {
LibraryToLink implLibraryLink =
LinkerInputs.solibLibraryToLink(
implLibraryLinkArtifact, dynamicLibrary.getArtifact(), libraryIdentifier);
- result.addExecutionDynamicLibrary(implLibraryLink);
+ result.addDynamicLibraryForRuntime(implLibraryLink);
LibraryToLink libraryLink;
if (interfaceLibrary == null) {
@@ -986,7 +989,7 @@ public final class CcLinkingHelper {
LinkerInputs.solibLibraryToLink(
libraryLinkArtifact, interfaceLibrary.getArtifact(), libraryIdentifier);
}
- result.addDynamicLibrary(libraryLink);
+ result.addDynamicLibraryForLinking(libraryLink);
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingInfo.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingInfo.java
index 1157301846..c9489df947 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingInfo.java
@@ -60,18 +60,18 @@ public final class CcLinkingInfo extends NativeInfo implements CcLinkingInfoApi
private final CcLinkParamsStore ccLinkParamsStore;
private final CcRunfiles ccRunfiles;
- private final CcExecutionDynamicLibraries ccExecutionDynamicLibraries;
+ private final CcDynamicLibrariesForRuntime ccDynamicLibrariesForRuntime;
@AutoCodec.Instantiator
@VisibleForSerialization
CcLinkingInfo(
CcLinkParamsStore ccLinkParamsStore,
CcRunfiles ccRunfiles,
- CcExecutionDynamicLibraries ccExecutionDynamicLibraries) {
+ CcDynamicLibrariesForRuntime ccDynamicLibrariesForRuntime) {
super(PROVIDER);
this.ccLinkParamsStore = ccLinkParamsStore;
this.ccRunfiles = ccRunfiles;
- this.ccExecutionDynamicLibraries = ccExecutionDynamicLibraries;
+ this.ccDynamicLibrariesForRuntime = ccDynamicLibrariesForRuntime;
}
public CcLinkParamsStore getCcLinkParamsStore() {
@@ -83,15 +83,15 @@ public final class CcLinkingInfo extends NativeInfo implements CcLinkingInfoApi
return ccRunfiles;
}
- public CcExecutionDynamicLibraries getCcExecutionDynamicLibraries() {
- return ccExecutionDynamicLibraries;
+ public CcDynamicLibrariesForRuntime getCcDynamicLibrariesForRuntime() {
+ return ccDynamicLibrariesForRuntime;
}
/** A Builder for {@link CcLinkingInfo}. */
public static class Builder {
CcLinkParamsStore ccLinkParamsStore;
CcRunfiles ccRunfiles;
- CcExecutionDynamicLibraries ccExecutionDynamicLibraries;
+ CcDynamicLibrariesForRuntime ccDynamicLibrariesForRuntime;
public static CcLinkingInfo.Builder create() {
return new CcLinkingInfo.Builder();
@@ -109,15 +109,15 @@ public final class CcLinkingInfo extends NativeInfo implements CcLinkingInfoApi
return this;
}
- public Builder setCcExecutionDynamicLibraries(
- CcExecutionDynamicLibraries ccExecutionDynamicLibraries) {
- Preconditions.checkState(this.ccExecutionDynamicLibraries == null);
- this.ccExecutionDynamicLibraries = ccExecutionDynamicLibraries;
+ public Builder setCcDynamicLibrariesForRuntime(
+ CcDynamicLibrariesForRuntime ccDynamicLibrariesForRuntime) {
+ Preconditions.checkState(this.ccDynamicLibrariesForRuntime == null);
+ this.ccDynamicLibrariesForRuntime = ccDynamicLibrariesForRuntime;
return this;
}
public CcLinkingInfo build() {
- return new CcLinkingInfo(ccLinkParamsStore, ccRunfiles, ccExecutionDynamicLibraries);
+ return new CcLinkingInfo(ccLinkParamsStore, ccRunfiles, ccDynamicLibrariesForRuntime);
}
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingOutputs.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingOutputs.java
index 753c40e960..a294a2dcb1 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingOutputs.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingOutputs.java
@@ -225,20 +225,22 @@ public class CcLinkingOutputs {
public static final class Builder {
private final Set<LibraryToLink> staticLibraries = new LinkedHashSet<>();
private final Set<LibraryToLink> picStaticLibraries = new LinkedHashSet<>();
- private final Set<LibraryToLink> dynamicLibraries = new LinkedHashSet<>();
- private final Set<LibraryToLink> executionDynamicLibraries = new LinkedHashSet<>();
+ private final Set<LibraryToLink> dynamicLibrariesForLinking = new LinkedHashSet<>();
+ private final Set<LibraryToLink> dynamicLibrariesForRuntime = new LinkedHashSet<>();
public CcLinkingOutputs build() {
- return new CcLinkingOutputs(ImmutableList.copyOf(staticLibraries),
- ImmutableList.copyOf(picStaticLibraries), ImmutableList.copyOf(dynamicLibraries),
- ImmutableList.copyOf(executionDynamicLibraries));
+ return new CcLinkingOutputs(
+ ImmutableList.copyOf(staticLibraries),
+ ImmutableList.copyOf(picStaticLibraries),
+ ImmutableList.copyOf(dynamicLibrariesForLinking),
+ ImmutableList.copyOf(dynamicLibrariesForRuntime));
}
public Builder merge(CcLinkingOutputs outputs) {
staticLibraries.addAll(outputs.getStaticLibraries());
picStaticLibraries.addAll(outputs.getPicStaticLibraries());
- dynamicLibraries.addAll(outputs.getDynamicLibrariesForLinking());
- executionDynamicLibraries.addAll(outputs.getDynamicLibrariesForRuntime());
+ dynamicLibrariesForLinking.addAll(outputs.getDynamicLibrariesForLinking());
+ dynamicLibrariesForRuntime.addAll(outputs.getDynamicLibrariesForRuntime());
return this;
}
@@ -262,23 +264,23 @@ public class CcLinkingOutputs {
return this;
}
- public Builder addDynamicLibrary(LibraryToLink library) {
- dynamicLibraries.add(library);
+ public Builder addDynamicLibraryForLinking(LibraryToLink library) {
+ dynamicLibrariesForLinking.add(library);
return this;
}
public Builder addDynamicLibraries(Iterable<LibraryToLink> libraries) {
- Iterables.addAll(dynamicLibraries, libraries);
+ Iterables.addAll(dynamicLibrariesForLinking, libraries);
return this;
}
- public Builder addExecutionDynamicLibrary(LibraryToLink library) {
- executionDynamicLibraries.add(library);
+ public Builder addDynamicLibraryForRuntime(LibraryToLink library) {
+ dynamicLibrariesForRuntime.add(library);
return this;
}
- public Builder addExecutionDynamicLibraries(Iterable<LibraryToLink> libraries) {
- Iterables.addAll(executionDynamicLibraries, libraries);
+ public Builder addDynamicLibrariesForRuntime(Iterable<LibraryToLink> libraries) {
+ Iterables.addAll(dynamicLibrariesForRuntime, libraries);
return this;
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcExecutionDynamicLibrariesApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcDynamicLibrariesForRuntimeApi.java
index cc1228e498..69f28405ba 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcExecutionDynamicLibrariesApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcDynamicLibrariesForRuntimeApi.java
@@ -17,14 +17,11 @@ package com.google.devtools.build.lib.skylarkbuildapi.cpp;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
-/**
- * An object that contains the execution-time dynamic libraries of a C++ rule.
- */
+ /** An object that contains the dynamic libraries for runtime of a C++ rule. */
@SkylarkModule(
- name = "cc_execution_dynamic_libraries ",
+ name = "cc_dynamic_libraries_for_runtime",
documented = false,
category = SkylarkModuleCategory.PROVIDER,
- doc = "."
-)
-public interface CcExecutionDynamicLibrariesApi {
+ doc = ".")
+public interface CcDynamicLibrariesForRuntimeApi {
}