diff options
author | cpeyser <cpeyser@google.com> | 2017-04-04 20:14:45 +0000 |
---|---|---|
committer | Damien Martin-Guillerez <dmarting@google.com> | 2017-04-05 15:19:00 +0200 |
commit | d6d27083b526a9288bd9bd1d35e0442b5c9f7ab6 (patch) | |
tree | fdd01e55ccb8d84a8bc958d2bae67564536626ec /src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java | |
parent | d705c98773afd3d08f7c04f71263b23f3dbc98f7 (diff) |
objc_proto_library does not pick up generated cc code in compile actions.
PiperOrigin-RevId: 152169986
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java index 83eb0ff321..3154b16a34 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java @@ -300,6 +300,7 @@ public final class CcLibraryHelper { private CcToolchainProvider ccToolchain; private final FdoSupportProvider fdoSupport; private String linkedArtifactNameSuffix = ""; + private boolean useDeps = true; /** * Creates a CcLibraryHelper. @@ -912,6 +913,15 @@ public final class CcLibraryHelper { } /** + * Causes actions generated from this CcLibraryHelper not to use build semantics (includes, + * headers, srcs) from dependencies. + */ + public CcLibraryHelper doNotUseDeps() { + this.useDeps = false; + return this; + } + + /** * Create the C++ compile and link actions, and the corresponding C++-related providers. * * @throws RuleErrorException @@ -1318,9 +1328,11 @@ public final class CcLibraryHelper { contextBuilder.addIncludeDir(publicHeaders.getVirtualIncludePath()); } - contextBuilder.mergeDependentContexts( - AnalysisUtils.getProviders(deps, CppCompilationContext.class)); - contextBuilder.mergeDependentContexts(depContexts); + if (useDeps) { + contextBuilder.mergeDependentContexts( + AnalysisUtils.getProviders(deps, CppCompilationContext.class)); + contextBuilder.mergeDependentContexts(depContexts); + } CppHelper.mergeToolchainDependentContext(ruleContext, ccToolchain, contextBuilder); // But defines come after those inherited from deps. |