aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java
diff options
context:
space:
mode:
authorGravatar cpeyser <cpeyser@google.com>2017-10-11 16:18:56 +0200
committerGravatar Marcel Hlopko <hlopko@google.com>2017-10-11 18:11:59 +0200
commit3d0ade5e635a1e5a21babff29ff7f9c0b07cebdf (patch)
treeddbc5814efa243c34174874a9de61a68c206ab55 /src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java
parent0cb8d403acdbdd8f3adb08634760ddb7fac666f1 (diff)
Migrate usage of CppConfiguration#getToolPathFragment and
CppConfiguration#getLdExecutable to CcToolchainProvider. PiperOrigin-RevId: 171818406
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java
index 77eabde0cc..7b1fa5e7f5 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java
@@ -43,6 +43,7 @@ public final class CcToolchainProvider extends ToolchainInfo {
new CcToolchainProvider(
null,
null,
+ null,
NestedSetBuilder.<Artifact>emptySet(Order.STABLE_ORDER),
NestedSetBuilder.<Artifact>emptySet(Order.STABLE_ORDER),
NestedSetBuilder.<Artifact>emptySet(Order.STABLE_ORDER),
@@ -72,6 +73,7 @@ public final class CcToolchainProvider extends ToolchainInfo {
@Nullable private final CppConfiguration cppConfiguration;
private final CToolchain toolchain;
+ private final CppToolchainInfo toolchainInfo;
private final NestedSet<Artifact> crosstool;
private final NestedSet<Artifact> crosstoolMiddleman;
private final NestedSet<Artifact> compile;
@@ -102,6 +104,7 @@ public final class CcToolchainProvider extends ToolchainInfo {
public CcToolchainProvider(
@Nullable CppConfiguration cppConfiguration,
CToolchain toolchain,
+ CppToolchainInfo toolchainInfo,
NestedSet<Artifact> crosstool,
NestedSet<Artifact> crosstoolMiddleman,
NestedSet<Artifact> compile,
@@ -131,6 +134,7 @@ public final class CcToolchainProvider extends ToolchainInfo {
super(ImmutableMap.of(), Location.BUILTIN);
this.cppConfiguration = cppConfiguration;
this.toolchain = toolchain;
+ this.toolchainInfo = toolchainInfo;
this.crosstool = Preconditions.checkNotNull(crosstool);
this.crosstoolMiddleman = Preconditions.checkNotNull(crosstoolMiddleman);
this.compile = Preconditions.checkNotNull(compile);
@@ -368,6 +372,14 @@ public final class CcToolchainProvider extends ToolchainInfo {
return sysroot;
}
+ /**
+ * Returns the path fragment that is either absolute or relative to the execution root that can be
+ * used to execute the given tool.
+ */
+ public PathFragment getToolPathFragment(CppConfiguration.Tool tool) {
+ return toolchainInfo.getToolPathFragment(tool);
+ }
+
@SkylarkCallable(
name = "unfiltered_compiler_options_do_not_use",
doc =