diff options
author | 2015-03-02 15:11:39 +0000 | |
---|---|---|
committer | 2015-03-05 14:16:39 +0000 | |
commit | c9bacf1bf8450be5ebe1e94f50706089dbf33225 (patch) | |
tree | 7695fcfc5e0b5c45a037c61c60908dc43ecb0d62 /src/main/java/com/google | |
parent | d8336c1573a0c89d71f38c3e3ccb3bfdbab6ec00 (diff) |
Do not use module maps if the crosstool doesn't support them when using the
legacy feature configuration.
This requires two fixes:
1. we want to mark the module_maps feature unsupported, if the toolchain itself
doesn't provide a module map
2. no legacy feature is allowed to imply the module_maps feature
--
MOS_MIGRATED_REVID=87511295
Diffstat (limited to 'src/main/java/com/google')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java | 3 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java | 2 |
2 files changed, 4 insertions, 1 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 0c172ef285..64bd28e237 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 @@ -667,6 +667,9 @@ public final class CcCommon { unsupportedFeaturesBuilder.add(CppRuleClasses.PARSE_HEADERS); unsupportedFeaturesBuilder.add(CppRuleClasses.PREPROCESS_HEADERS); } + if (toolchain.getCppCompilationContext().getCppModuleMap() == null) { + unsupportedFeaturesBuilder.add(CppRuleClasses.MODULE_MAPS); + } Set<String> unsupportedFeatures = unsupportedFeaturesBuilder.build(); ImmutableSet.Builder<String> requestedFeatures = ImmutableSet.builder(); for (String feature : Iterables.concat(DEFAULT_FEATURES, ruleContext.getFeatures())) { diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java index abf15df2b9..fbef38e61c 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppConfiguration.java @@ -708,7 +708,7 @@ public class CppConfiguration extends BuildConfiguration.Fragment { TextFormat.merge("" + "feature {" + " name: 'use_module_maps'" - + " implies: 'module_maps'" + + " requires: { feature: 'module_maps' }" + " flag_set {" + " action: 'c-compile'" + " action: 'c++-compile'" |