aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java
diff options
context:
space:
mode:
authorGravatar Rumou Duan <rduan@google.com>2017-02-10 17:24:03 +0000
committerGravatar Kristina Chodorow <kchodorow@google.com>2017-02-10 18:19:31 +0000
commit5490757be5e527df82eee5094a0f59c86a5de766 (patch)
tree6d75800e0348de7e3472dd37de75d467a65fb468 /src/main/java/com/google/devtools/build/lib/rules/cpp/CppHelper.java
parent762576e5e7a3ee0da39dbb24134cb8530cbb911e (diff)
Introduce CppCompileActionTemplate, which expands into a list of CppCompileActions that to be executed at execution time.
-- PiperOrigin-RevId: 147163077 MOS_MIGRATED_REVID=147163077
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.java16
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);
}