aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java
diff options
context:
space:
mode:
authorGravatar cpeyser <cpeyser@google.com>2017-04-04 20:14:45 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2017-04-05 15:19:00 +0200
commitd6d27083b526a9288bd9bd1d35e0442b5c9f7ab6 (patch)
treefdd01e55ccb8d84a8bc958d2bae67564536626ec /src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java
parentd705c98773afd3d08f7c04f71263b23f3dbc98f7 (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.java18
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.