diff options
author | cpeyser <cpeyser@google.com> | 2017-04-03 15:22:09 +0000 |
---|---|---|
committer | Marcel Hlopko <hlopko@google.com> | 2017-04-04 10:06:45 +0200 |
commit | 17adca4d05b3bf9baf479d30cddee18c6651d0df (patch) | |
tree | 9b2ad02df34587be4fa9a555b99f6cd845ad3283 /src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java | |
parent | 79251005cdb44781703e498045453efa1b1623a5 (diff) |
Implement DSYM generation for the CROSSTOOL rules.
PiperOrigin-RevId: 152011915
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java index 532ad5ed58..f65e09d902 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java @@ -190,6 +190,7 @@ public class CppLinkActionBuilder { private final List<VariablesExtension> variablesExtensions = new ArrayList<>(); private final NestedSetBuilder<Artifact> linkActionInputs = NestedSetBuilder.stableOrder(); + private final ImmutableList.Builder<Artifact> linkActionOutputs = ImmutableList.builder(); /** * Creates a builder that builds {@link CppLinkAction} instances. @@ -593,7 +594,7 @@ public class CppLinkActionBuilder { actionOutputs = constructOutputs( output, - linkstampMap.values(), + Iterables.concat(linkstampMap.values(), linkActionOutputs.build()), interfaceOutputLibrary == null ? null : interfaceOutputLibrary.getArtifact(), symbolCounts); } @@ -853,7 +854,7 @@ public class CppLinkActionBuilder { } private static ImmutableList<Artifact> constructOutputs( - Artifact primaryOutput, Collection<Artifact> outputList, Artifact... outputs) { + Artifact primaryOutput, Iterable<Artifact> outputList, Artifact... outputs) { return new ImmutableList.Builder<Artifact>() .add(primaryOutput) .addAll(outputList) @@ -1250,6 +1251,12 @@ public class CppLinkActionBuilder { return this; } + /** Adds an extra output artifact to the link action. */ + public CppLinkActionBuilder addActionOutput(Artifact output) { + this.linkActionOutputs.add(output); + return this; + } + private static class LinkArgCollector { ImmutableSet<String> runtimeLibrarySearchDirectories; ImmutableSet<String> librarySearchDirectories; |