aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/cpp
diff options
context:
space:
mode:
authorGravatar Lukacs Berki <lberki@google.com>2016-08-09 14:23:07 +0000
committerGravatar Yue Gan <yueg@google.com>2016-08-10 08:35:36 +0000
commit603b540bbcd7414cd3e2c0b92c1c8985b035e41b (patch)
tree4792372f1a562dc85a21c7d274ee96f95c1d3e9f /src/main/java/com/google/devtools/build/lib/rules/cpp
parent99de0d07574f808fee36826289cb1f5c83e3b3e0 (diff)
Do not add useless library files to the inputs of the linker action.
These are not mentioned on the linker command line, and as such, are useless. -- MOS_MIGRATED_REVID=129746593
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/CcLibraryHelper.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompilationContext.java5
2 files changed, 4 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 230d7d12a1..f610d5e76d 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
@@ -663,8 +663,6 @@ public final class CcLibraryHelper {
* respectively.
*/
public CcLibraryHelper addPrecompiledFiles(PrecompiledFiles precompiledFiles) {
- addCompilationPrerequisites(precompiledFiles.getSharedLibraries());
- addCompilationPrerequisites(precompiledFiles.getStaticLibraries());
addObjectFiles(precompiledFiles.getObjectFiles(false));
addPicObjectFiles(precompiledFiles.getObjectFiles(true));
return this;
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompilationContext.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompilationContext.java
index 4b0980f5d6..c53b049153 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompilationContext.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompilationContext.java
@@ -662,7 +662,10 @@ public final class CppCompilationContext implements TransitiveInfoProvider {
// LIPO collector must not add compilation prerequisites in order to avoid
// the creation of a middleman action.
for (Artifact prerequisite : prerequisites) {
- Preconditions.checkArgument(!Link.OBJECT_FILETYPES.matches(prerequisite.getFilename()));
+ String basename = prerequisite.getFilename();
+ Preconditions.checkArgument(!Link.OBJECT_FILETYPES.matches(basename));
+ Preconditions.checkArgument(!Link.ARCHIVE_LIBRARY_FILETYPES.matches(basename));
+ Preconditions.checkArgument(!Link.SHARED_LIBRARY_FILETYPES.matches(basename));
}
Iterables.addAll(compilationPrerequisites, prerequisites);
return this;