diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java index e4b19dcb2b..5228588d91 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java @@ -584,9 +584,19 @@ public class CppHelper { ruleContext.getConfiguration().getBinDirectory(ruleContext.getRule().getRepository())); } - static String getArtifactNameForCategory( - RuleContext ruleContext, CcToolchainProvider toolchain, ArtifactCategory category, - String outputName) { + /** + * Returns the corresponding compiled TreeArtifact given the source TreeArtifact. + */ + public static Artifact getCompileOutputTreeArtifact( + RuleContext ruleContext, Artifact sourceTreeArtifact) { + PathFragment objectDir = getObjDirectory(ruleContext.getLabel()); + PathFragment rootRelativePath = sourceTreeArtifact.getRootRelativePath(); + return ruleContext.getTreeArtifact( + objectDir.getRelative(rootRelativePath), sourceTreeArtifact.getRoot()); + } + + static String getArtifactNameForCategory(RuleContext ruleContext, CcToolchainProvider toolchain, + ArtifactCategory category, String outputName) { return toolchain.getFeatures().getArtifactNameForCategory(category, outputName); } |