aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com
diff options
context:
space:
mode:
authorGravatar hlopko <hlopko@google.com>2018-03-21 04:42:02 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-03-21 04:44:05 -0700
commit3dab964407a2f1e12feb439d8507079bc06cb769 (patch)
tree5defa831bb6e2669bf7ca1308092a8974ed5cc33 /src/main/java/com
parent755d3bec0e7136c34eb9be424c6e1b9a59fbf56c (diff)
Assume toolchain supportsDynamicLinker from presence of "dynamic_linking_mode" feature
Toolchains no longer have to provide linking_mode_flags { mode: DYNAMIC } to state that they support dynamic linking mode. It is enough to provide a feature. This is part of ongoing work to get rid of linking_mode_flags from the CROSSTOOL. RELNOTES: None. PiperOrigin-RevId: 189890583
Diffstat (limited to 'src/main/java/com')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppToolchainInfo.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppToolchainInfo.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppToolchainInfo.java
index 52bbd59450..03a9f9d674 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppToolchainInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppToolchainInfo.java
@@ -320,7 +320,11 @@ public final class CppToolchainInfo {
this.supportsFission = supportsFission;
this.supportsStartEndLib = supportsStartEndLib;
this.supportsEmbeddedRuntimes = supportsEmbeddedRuntimes;
- this.supportsDynamicLinker = supportsDynamicLinker;
+ this.supportsDynamicLinker =
+ supportsDynamicLinker
+ || toolchainFeatures
+ .getActivatableNames()
+ .contains(CppRuleClasses.DYNAMIC_LINKING_MODE);
this.supportsInterfaceSharedObjects = supportsInterfaceSharedObjects;
this.supportsGoldLinker = supportsGoldLinker;
this.toolchainNeedsPic = toolchainNeedsPic;