diff options
author | 2017-08-03 02:56:17 +0200 | |
---|---|---|
committer | 2017-08-03 12:10:03 +0200 | |
commit | ed642330e7e522103dea6e7e0f6d48df7e5ca5e2 (patch) | |
tree | 4df725dd68b2673189d30a2d87aaf6dc2a039ec5 /src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java | |
parent | c331f24a3a8af5e19f2d603d0b77ca90923b3dc2 (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.java | 16 |
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()); |