From 5bd8209268c8d5f68dfdd410d59aab389de89bc2 Mon Sep 17 00:00:00 2001 From: Cal Peyser Date: Thu, 14 Jan 2016 16:11:13 +0000 Subject: Better error message for attempted builds of statically linked binaries targeting Apple platforms. -- MOS_MIGRATED_REVID=112152418 --- .../java/com/google/devtools/build/lib/rules/cpp/CcCommon.java | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/main/java/com/google/devtools') 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); } -- cgit v1.2.3