aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google
diff options
context:
space:
mode:
authorGravatar Alex Humesky <ahumesky@google.com>2016-05-03 21:41:34 +0000
committerGravatar Kristina Chodorow <kchodorow@google.com>2016-05-04 00:35:33 +0000
commitf787d31e2c54c6ceba05df9d5aea713610554e53 (patch)
treef06ff806e36ab66d9a499d3e522a1a2546a886d7 /src/main/java/com/google
parent9b97f76924decda0b342d2b6d7ed223493bcf302 (diff)
Adds the compiler to the key for selecting the cc_toolchain label in
cc_toolchain_suite. This will allow selecting the correct toolchain based on --compiler / --android_compiler. RELNOTES: The key for the map to cc_toolchain_suite.toolchains is now a string of the form "cpu|compiler" (previously, it was just "cpu"). -- MOS_MIGRATED_REVID=121418076
Diffstat (limited to 'src/main/java/com/google')
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/android/AndroidNdkRepositoryFunction.java9
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfigurationLoader.java6
2 files changed, 8 insertions, 7 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/AndroidNdkRepositoryFunction.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/AndroidNdkRepositoryFunction.java
index 469b2435c6..77fd1e6f41 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/AndroidNdkRepositoryFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/AndroidNdkRepositoryFunction.java
@@ -39,7 +39,6 @@ import com.google.devtools.build.lib.vfs.PathFragment;
import com.google.devtools.build.lib.vfs.RootedPath;
import com.google.devtools.build.lib.view.config.crosstool.CrosstoolConfig.CToolchain;
import com.google.devtools.build.lib.view.config.crosstool.CrosstoolConfig.CrosstoolRelease;
-import com.google.devtools.build.lib.view.config.crosstool.CrosstoolConfig.DefaultCpuToolchain;
import com.google.devtools.build.skyframe.SkyFunction.Environment;
import com.google.devtools.build.skyframe.SkyFunctionException;
import com.google.devtools.build.skyframe.SkyFunctionException.Transience;
@@ -151,9 +150,11 @@ public class AndroidNdkRepositoryFunction extends RepositoryFunction {
CrosstoolRelease crosstool = crosstoolStlPair.crosstoolRelease;
StringBuilder toolchainMap = new StringBuilder();
- for (DefaultCpuToolchain defaultToolchain : crosstool.getDefaultToolchainList()) {
- toolchainMap.append(String.format(" \"%s\": \":%s\",\n",
- defaultToolchain.getCpu(), defaultToolchain.getToolchainIdentifier()));
+ for (CToolchain toolchain : crosstool.getToolchainList()) {
+ toolchainMap.append(String.format(" \"%s|%s\": \":%s\",\n",
+ toolchain.getTargetCpu(),
+ toolchain.getCompiler(),
+ toolchain.getToolchainIdentifier()));
}
String toolchainName = createToolchainName(crosstoolStlPair.stlImpl.getName());
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfigurationLoader.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfigurationLoader.java
index 13d382a6fd..683e3d6c96 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfigurationLoader.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfigurationLoader.java
@@ -184,11 +184,11 @@ public class CppConfigurationLoader implements ConfigurationFragmentFactory {
Rule ccToolchainSuite = (Rule) crosstoolTop;
ccToolchainLabel = NonconfigurableAttributeMapper.of(ccToolchainSuite)
.get("toolchains", BuildType.LABEL_DICT_UNARY)
- .get(toolchain.getTargetCpu());
+ .get(toolchain.getTargetCpu() + "|" + toolchain.getCompiler());
if (ccToolchainLabel == null) {
throw new InvalidConfigurationException(String.format(
- "cc_toolchain_suite '%s' does not contain a toolchain for CPU '%s'",
- crosstoolTopLabel, toolchain.getTargetCpu()));
+ "cc_toolchain_suite '%s' does not contain a toolchain for CPU '%s' and compiler '%s'",
+ crosstoolTopLabel, toolchain.getTargetCpu(), toolchain.getCompiler()));
}
} else {
try {