diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java index 6662968cb3..73b8bea0d3 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java @@ -708,12 +708,18 @@ public class CppLinkActionBuilder { result.addAll( CppHelper.getFullyStaticLinkOptions(cppConfiguration, toolchain, sharedLinkopts)); } else if (mostlyStatic) { - result.addAll( - CppHelper.getMostlyStaticLinkOptions( - cppConfiguration, toolchain, sharedLinkopts, - featureConfiguration.isEnabled(CppRuleClasses.STATIC_LINK_CPP_RUNTIMES))); + if (!featureConfiguration.isEnabled(CppRuleClasses.STATIC_LINKING_MODE)) { + result.addAll( + CppHelper.getMostlyStaticLinkOptions( + cppConfiguration, + toolchain, + sharedLinkopts, + featureConfiguration.isEnabled(CppRuleClasses.STATIC_LINK_CPP_RUNTIMES))); + } } else { - result.addAll(CppHelper.getDynamicLinkOptions(cppConfiguration, toolchain, sharedLinkopts)); + if (!featureConfiguration.isEnabled(CppRuleClasses.DYNAMIC_LINKING_MODE)) { + result.addAll(CppHelper.getDynamicLinkOptions(cppConfiguration, toolchain, sharedLinkopts)); + } } // Extra test-specific link options. |