aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2018-05-23 23:44:28 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-05-23 23:46:10 -0700
commitd62833f640690309e1a73aefa62de1d8821dc8ba (patch)
treec378f86489b4a4ed613b0b057c0eecfdac3807d1 /src/main/java/com/google/devtools/build
parent82550523f8f8cbb50966269c980f9babfe3fd86c (diff)
For compilations with C++ modules, treat private headers (header files in
'srcs') as textually included headers. A private header is never exported to a different module and thus cannot be used by a different module. We never need to compile a module just because one of it's private headers is used from somewhere else. There must be a different cc_library (and thus module) that exports the header. At the same time, being compiled into a module doesn't provide benefits for the compilation of that cc_library itself, because a module created for a cc_library A is never used when compiling any of A's srcs. PiperOrigin-RevId: 197846388
Diffstat (limited to 'src/main/java/com/google/devtools/build')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcCompilationHelper.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppModuleMapAction.java2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCompilationHelper.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCompilationHelper.java
index 5b782ef492..611193a5a7 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCompilationHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCompilationHelper.java
@@ -950,7 +950,7 @@ public final class CcCompilationHelper {
ccCompilationContextBuilder.addDeclaredIncludeSrcs(additionalInputs);
ccCompilationContextBuilder.addNonCodeInputs(additionalInputs);
ccCompilationContextBuilder.addModularHdrs(publicHeaders.getHeaders());
- ccCompilationContextBuilder.addModularHdrs(privateHeaders);
+ ccCompilationContextBuilder.addTextualHdrs(privateHeaders);
ccCompilationContextBuilder.addTextualHdrs(publicTextualHeaders);
ccCompilationContextBuilder.addPregreppedHeaders(
CppHelper.createExtractInclusions(ruleContext, semantics, publicHeaders.getHeaders()));
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppModuleMapAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppModuleMapAction.java
index 602089b691..05d78cf745 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppModuleMapAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppModuleMapAction.java
@@ -140,7 +140,7 @@ public final class CppModuleMapAction extends AbstractFileWriteAction {
"private",
artifact.getExecPath(),
leadingPeriods,
- /*canCompile=*/ true,
+ /*canCompile=*/ false,
deduper,
/*isUmbrellaHeader*/ false);
}