diff options
author | 2018-05-23 12:17:24 -0700 | |
---|---|---|
committer | 2018-05-23 12:18:48 -0700 | |
commit | 5138f9434f87d77d48275c411f5ec5863c8762f9 (patch) | |
tree | 8c2c4c27dc161604a68949fedc7f60a56fda31f1 /src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionBuilder.java | |
parent | 78335554384a1d88d89c91dbb419f8337ab78459 (diff) |
Restrict module usage to C++ actions. Other actions don't support compiling
using C++ modules (yet) and thus we are paying some of the cost such as
building transitive modules and a taller critical path without reaping any
benefits.
PiperOrigin-RevId: 197768129
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionBuilder.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionBuilder.java | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionBuilder.java index 11a09dba8f..3f46bbdeba 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionBuilder.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileActionBuilder.java @@ -320,9 +320,7 @@ public class CppCompileActionBuilder { // finalizeCompileActionBuilder on this builder. Preconditions.checkNotNull(shouldScanIncludes); Preconditions.checkNotNull(featureConfiguration); - boolean useHeaderModules = - allowUsingHeaderModules - && featureConfiguration.isEnabled(CppRuleClasses.USE_HEADER_MODULES); + boolean useHeaderModules = useHeaderModules(); if (featureConfiguration.actionIsConfigured(getActionName())) { for (String executionRequirement : @@ -473,7 +471,10 @@ public class CppCompileActionBuilder { private boolean useHeaderModules() { return allowUsingHeaderModules - && featureConfiguration.isEnabled(CppRuleClasses.USE_HEADER_MODULES); + && featureConfiguration.isEnabled(CppRuleClasses.USE_HEADER_MODULES) + && (sourceFile.isFileType(CppFileTypes.CPP_SOURCE) + || sourceFile.isFileType(CppFileTypes.CPP_HEADER) + || sourceFile.isFileType(CppFileTypes.CPP_MODULE_MAP)); } private boolean shouldPruneModules() { |