diff options
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.java | 22 |
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 = |