aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java
diff options
context:
space:
mode:
authorGravatar cpeyser <cpeyser@google.com>2017-08-03 02:56:17 +0200
committerGravatar Dmitry Lomov <dslomov@google.com>2017-08-03 12:10:03 +0200
commited642330e7e522103dea6e7e0f6d48df7e5ca5e2 (patch)
tree4df725dd68b2673189d30a2d87aaf6dc2a039ec5 /src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java
parentc331f24a3a8af5e19f2d603d0b77ca90923b3dc2 (diff)
CppLinkAction decides execution platform based on action_configs.
PiperOrigin-RevId: 164066205
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java16
1 files changed, 3 insertions, 13 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java
index d86fa47619..e31dc4d396 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java
@@ -58,7 +58,6 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.List;
-import java.util.Map;
import javax.annotation.Nullable;
/**
@@ -212,7 +211,7 @@ public final class CppLinkAction extends AbstractAction
result.putAll(actionEnv);
result.putAll(toolchainEnv);
- if (!needsToRunOnMac()) {
+ if (!executionRequirements.contains(ExecutionRequirements.REQUIRES_DARWIN)) {
// This prevents gcc from writing the unpredictable (and often irrelevant)
// value of getcwd() into the debug info.
result.put("PWD", "/proc/self/cwd");
@@ -258,7 +257,7 @@ public final class CppLinkAction extends AbstractAction
}
@Override
- public Map<String, String> getExecutionInfo() {
+ public ImmutableMap<String, String> getExecutionInfo() {
ImmutableMap.Builder<String, String> result = ImmutableMap.<String, String>builder();
for (String requirement : executionRequirements) {
result.put(requirement, "");
@@ -295,10 +294,6 @@ public final class CppLinkAction extends AbstractAction
return allLtoBackendArtifacts;
}
- private boolean needsToRunOnMac() {
- return getHostSystemName().equals(CppConfiguration.MAC_SYSTEM_NAME);
- }
-
@Override
@ThreadCompatible
public void execute(ActionExecutionContext actionExecutionContext)
@@ -312,16 +307,11 @@ public final class CppLinkAction extends AbstractAction
Artifact.addExpandedArtifacts(
getMandatoryInputs(), allInputs, actionExecutionContext.getArtifactExpander());
- ImmutableMap<String, String> executionInfo = ImmutableMap.of();
- if (needsToRunOnMac()) {
- executionInfo = ImmutableMap.of(ExecutionRequirements.REQUIRES_DARWIN, "");
- }
-
Spawn spawn = new SimpleSpawn(
this,
ImmutableList.copyOf(getCommandLine()),
getEnvironment(),
- executionInfo,
+ getExecutionInfo(),
ImmutableList.copyOf(allInputs),
getOutputs().asList(),
estimateResourceConsumptionLocal());