aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/packages/util/Crosstool.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/packages/util/Crosstool.java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/util/Crosstool.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/Crosstool.java b/src/test/java/com/google/devtools/build/lib/packages/util/Crosstool.java
index ddd5b584c9..3642fda958 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/util/Crosstool.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/util/Crosstool.java
@@ -20,6 +20,8 @@ import com.google.protobuf.TextFormat;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.LinkedHashSet;
+import java.util.Set;
/**
* A helper class to create a crosstool package containing a CROSSTOOL file, and the various
@@ -111,9 +113,15 @@ final class Crosstool {
CrosstoolConfig.CrosstoolRelease.newBuilder();
TextFormat.merge(crosstoolFileContents, configBuilder);
StringBuilder compilerMap = new StringBuilder();
+ // Remove duplicates
+ Set<String> keys = new LinkedHashSet<>();
for (CrosstoolConfig.CToolchain toolchain : configBuilder.build().getToolchainList()) {
- compilerMap.append(String.format("'%s|%s': ':cc-compiler-%s',\n",
- toolchain.getTargetCpu(), toolchain.getCompiler(), toolchain.getTargetCpu()));
+ String key = String.format("%s|%s", toolchain.getTargetCpu(), toolchain.getCompiler());
+ if (!keys.contains(key)) {
+ keys.add(key);
+ compilerMap.append(
+ String.format("'%s': ':cc-compiler-%s',\n", key, toolchain.getTargetCpu()));
+ }
}
for (String arch : archs) {