aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java
diff options
context:
space:
mode:
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.java22
1 files changed, 22 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 adec4f5ee2..36f9e4a4df 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
@@ -445,6 +445,20 @@ public final class CcToolchainProvider extends ToolchainInfo {
return toolchainInfo.supportsEmbeddedRuntimes();
}
+ /** Returns whether the toolchain supports the --start-lib/--end-lib options. */
+ public boolean supportsStartEndLib() {
+ return toolchainInfo.supportsStartEndLib();
+ }
+
+ /**
+ * Returns whether this toolchain supports interface shared objects.
+ *
+ * <p>Should be true if this toolchain generates ELF objects.
+ */
+ public boolean supportsInterfaceSharedObjects() {
+ return toolchainInfo.supportsInterfaceSharedObjects();
+ }
+
@Nullable
public CppConfiguration getCppConfiguration() {
return cppConfiguration;
@@ -586,6 +600,14 @@ public final class CcToolchainProvider extends ToolchainInfo {
return toolchainInfo.getAdditionalMakeVariables();
}
+ /**
+ * Returns whether the toolchain supports "Fission" C++ builds, i.e. builds where compilation
+ * partitions object code and debug symbols into separate output files.
+ */
+ public boolean supportsFission() {
+ return toolchainInfo.supportsFission();
+ }
+
@SkylarkCallable(
name = "unfiltered_compiler_options_do_not_use",
doc =