diff options
author | Googler <noreply@google.com> | 2018-05-23 23:44:28 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-05-23 23:46:10 -0700 |
commit | d62833f640690309e1a73aefa62de1d8821dc8ba (patch) | |
tree | c378f86489b4a4ed613b0b057c0eecfdac3807d1 /src/main/java/com/google/devtools/build | |
parent | 82550523f8f8cbb50966269c980f9babfe3fd86c (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.java | 2 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/CppModuleMapAction.java | 2 |
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); } |