diff options
author | 2016-08-09 14:23:07 +0000 | |
---|---|---|
committer | 2016-08-10 08:35:36 +0000 | |
commit | 603b540bbcd7414cd3e2c0b92c1c8985b035e41b (patch) | |
tree | 4792372f1a562dc85a21c7d274ee96f95c1d3e9f /src/main/java/com/google/devtools/build/lib/rules/cpp | |
parent | 99de0d07574f808fee36826289cb1f5c83e3b3e0 (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.java | 2 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompilationContext.java | 5 |
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; |