diff options
author | cpeyser <cpeyser@google.com> | 2018-04-30 11:22:24 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-04-30 11:23:42 -0700 |
commit | 968f87900dce45a7af749a965b72dbac51b176b3 (patch) | |
tree | c8fe0ed7bb3d1a138206047bbd4160e4d28d2e7f /src/main/java/com/google/devtools/build/lib/rules/cpp | |
parent | 678bdb78a7971d9155297099aaac594f03d663fc (diff) |
Headers specified in cc_library.textual_hdrs are passed through objc_library
targets to upstream cc_library targets.
PiperOrigin-RevId: 194816009
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/CcCompilationContextInfo.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCompilationContextInfo.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCompilationContextInfo.java index efd15ac512..3603f20e4f 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCompilationContextInfo.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCompilationContextInfo.java @@ -37,6 +37,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.LinkedHashSet; import java.util.List; +import java.util.Objects; import java.util.Set; import java.util.stream.Collectors; import javax.annotation.Nullable; @@ -198,6 +199,11 @@ public final class CcCompilationContextInfo { return declaredIncludeSrcs; } + /** Returns headers given as textual_hdrs in this target. */ + public ImmutableSet<Artifact> getTextualHdrs() { + return moduleInfo.textualHeaders; + } + /** * Returns the immutable pairs of (header file, pregrepped header file). The value artifacts * (pregrepped header file) are generated by {@link ExtractInclusionAction}. @@ -687,6 +693,9 @@ public final class CcCompilationContextInfo { @VisibleForTesting // productionVisibility = Visibility.PRIVATE public CcCompilationContextInfo build(ActionOwner owner, MiddlemanFactory middlemanFactory) { + Preconditions.checkState( + Objects.equals(moduleInfo.textualHeaders, picModuleInfo.textualHeaders), + "Module and PIC module's textual headers are expected to be identical"); // We don't create middlemen in LIPO collector subtree, because some target CT // will do that instead. Artifact prerequisiteStampFile = (ruleContext != null |