diff options
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 | 11 |
1 files changed, 11 insertions, 0 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 1bedc437fd..994e8ba999 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 @@ -80,6 +80,7 @@ public class CppCompileActionBuilder { @Nullable private String actionName; private ImmutableList<Artifact> builtinIncludeFiles; private Iterable<Artifact> inputsForInvalidation = ImmutableList.of(); + private Iterable<Artifact> additionalPrunableHeaders = ImmutableList.of(); // New fields need to be added to the copy constructor. /** @@ -290,6 +291,7 @@ public class CppCompileActionBuilder { NestedSetBuilder<Artifact> prunableHeadersBuilder = NestedSetBuilder.stableOrder(); prunableHeadersBuilder.addTransitive(ccCompilationContext.getDeclaredIncludeSrcs()); prunableHeadersBuilder.addTransitive(cppSemantics.getAdditionalPrunableIncludes()); + prunableHeadersBuilder.addAll(additionalPrunableHeaders); NestedSet<Artifact> prunableHeaders = prunableHeadersBuilder.build(); @@ -654,4 +656,13 @@ public class CppCompileActionBuilder { this.env = env; return this; } + + public void setAdditionalPrunableHeaders(Iterable<Artifact> additionalPrunableHeaders) { + this.additionalPrunableHeaders = Preconditions.checkNotNull(additionalPrunableHeaders); + } + + public boolean shouldCompileHeaders() { + Preconditions.checkNotNull(featureConfiguration); + return ccToolchain.shouldProcessHeaders(featureConfiguration); + } } |