aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java
diff options
context:
space:
mode:
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.java14
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())