aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools
diff options
context:
space:
mode:
authorGravatar Cal Peyser <cpeyser@google.com>2016-01-14 16:11:13 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2016-01-15 09:22:24 +0000
commit5bd8209268c8d5f68dfdd410d59aab389de89bc2 (patch)
treee44e824c95b7210bcc1d3ad0c65bf3bed80bd446 /src/main/java/com/google/devtools
parenta9b84575a32476a5faf991da22b44661d75c19b6 (diff)
Better error message for attempted builds of statically linked binaries targeting Apple platforms.
-- MOS_MIGRATED_REVID=112152418
Diffstat (limited to 'src/main/java/com/google/devtools')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java7
1 files changed, 7 insertions, 0 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 57b12429d2..1825742e82 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
@@ -29,6 +29,7 @@ import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
import com.google.devtools.build.lib.collect.nestedset.Order;
import com.google.devtools.build.lib.packages.BuildType;
+import com.google.devtools.build.lib.rules.apple.Platform;
import com.google.devtools.build.lib.rules.cpp.CcToolchainFeatures.FeatureConfiguration;
import com.google.devtools.build.lib.rules.cpp.CppConfiguration.DynamicMode;
import com.google.devtools.build.lib.rules.cpp.CppConfiguration.HeadersCheckingMode;
@@ -125,6 +126,12 @@ public final class CcCommon {
CppHelper.expandAttribute(ruleContext, result, "linkopts", linkopt, true);
}
}
+
+ if (Platform.isApplePlatform(cppConfiguration.getTargetCpu()) && result.contains("-static")) {
+ ruleContext.attributeError(
+ "linkopts", "Apple builds do not support statically linked binaries");
+ }
+
return ImmutableList.copyOf(result);
}