From 5138f9434f87d77d48275c411f5ec5863c8762f9 Mon Sep 17 00:00:00 2001 From: Googler Date: Wed, 23 May 2018 12:17:24 -0700 Subject: 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 --- .../devtools/build/lib/rules/cpp/CppCompileActionBuilder.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src') 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() { -- cgit v1.2.3