diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java index c945a72ae7..343d3c7dd0 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java @@ -127,17 +127,17 @@ public final class CcCommon { */ public ImmutableList<String> getLinkopts() { Preconditions.checkState(hasAttribute("linkopts", Type.STRING_LIST)); - List<String> ourLinkopts = ruleContext.attributes().get("linkopts", Type.STRING_LIST); - List<String> result = new ArrayList<>(); + Iterable<String> ourLinkopts = ruleContext.attributes().get("linkopts", Type.STRING_LIST); + List<String> result; if (ourLinkopts != null) { boolean allowDashStatic = !cppConfiguration.forceIgnoreDashStatic() && (cppConfiguration.getDynamicMode() != DynamicMode.FULLY); - for (String linkopt : ourLinkopts) { - if (linkopt.equals("-static") && !allowDashStatic) { - continue; - } - CppHelper.expandAttribute(ruleContext, result, "linkopts", linkopt, true); + if (!allowDashStatic) { + ourLinkopts = Iterables.filter(ourLinkopts, (v) -> !"-static".equals(v)); } + result = CppHelper.expandLinkopts(ruleContext, "linkopts", ourLinkopts); + } else { + result = ImmutableList.of(); } if (ApplePlatform.isApplePlatform(cppConfiguration.getTargetCpu()) |