aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Yun Peng <pcloudy@google.com>2017-11-20 08:34:32 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2017-11-20 08:36:26 -0800
commit9738f35abddb7ef7a7ef314b5d2a52a3be1b830a (patch)
treea79b0fa52c4fbd7f9da999a30a54fd8291ef5cb3
parent4117c867fe8e560f53bc1c7106af9c2889cc18f2 (diff)
CcProtoLibrary: Don't add dynamic librarys to filesToBuild on Windows
https://github.com/bazelbuild/bazel/issues/3985 Change-Id: Ib566103e147219122b3f745a98ad30db5f27553f PiperOrigin-RevId: 176365079
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java22
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoAspect.java4
2 files changed, 19 insertions, 7 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 137dfdbf5b..746d58ba11 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
@@ -245,15 +245,25 @@ public final class CcLibraryHelper {
}
/**
- * Adds the static, pic-static, and dynamic (both compile-time and execution-time) libraries to
- * the given builder.
+ * Adds the static, pic-static libraries to the given builder.
+ * If addDynamicLibraries parameter is true, it also adds dynamic(both compile-time and
+ * execution-time) libraries.
*/
- public void addLinkingOutputsTo(NestedSetBuilder<Artifact> filesBuilder) {
+ public void addLinkingOutputsTo(
+ NestedSetBuilder<Artifact> filesBuilder, boolean addDynamicLibraries) {
filesBuilder
.addAll(LinkerInputs.toLibraryArtifacts(linkingOutputs.getStaticLibraries()))
- .addAll(LinkerInputs.toLibraryArtifacts(linkingOutputs.getPicStaticLibraries()))
- .addAll(LinkerInputs.toNonSolibArtifacts(linkingOutputs.getDynamicLibraries()))
- .addAll(LinkerInputs.toNonSolibArtifacts(linkingOutputs.getExecutionDynamicLibraries()));
+ .addAll(LinkerInputs.toLibraryArtifacts(linkingOutputs.getPicStaticLibraries()));
+ if (addDynamicLibraries) {
+ filesBuilder
+ .addAll(LinkerInputs.toNonSolibArtifacts(linkingOutputs.getDynamicLibraries()))
+ .addAll(
+ LinkerInputs.toNonSolibArtifacts(linkingOutputs.getExecutionDynamicLibraries()));
+ }
+ }
+
+ public void addLinkingOutputsTo(NestedSetBuilder<Artifact> filesBuilder) {
+ addLinkingOutputsTo(filesBuilder, true);
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoAspect.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoAspect.java
index b81bf4cf45..eed3c55064 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoAspect.java
@@ -190,7 +190,9 @@ public class CcProtoAspect extends NativeAspectClass implements ConfiguredAspect
CcLibraryHelper.Info info = helper.build();
ccLibraryProviders = info.getProviders();
outputGroups = info.getOutputGroups();
- info.addLinkingOutputsTo(filesBuilder);
+ // On Windows, dynamic library is not built by default, so don't add them to filesToBuild.
+ info.addLinkingOutputsTo(
+ filesBuilder, !featureConfiguration.isEnabled(CppRuleClasses.TARGETS_WINDOWS));
}
private boolean areSrcsBlacklisted() {