Disable legacy linking Skylark api to C++ toolchain
RELNOTES: None.
@@ -395,7 +395,7 @@ public class BazelCppRuleClasses {
.add(attr("nocopts", STRING))
/*<!-- #BLAZE_RULE($cc_rule).ATTRIBUTE(linkstatic) -->
For <a href="${link cc_binary}"><code>cc_binary</code></a> and
- <a href="${link cc_test}"><code>cc_test</code></a>: link the binary in mostly-static
+ <a href="${link cc_test}"><code>cc_test</code></a>: link the binary in static
mode. For <code>cc_library.linkstatic</code>: see below.
<p>
By default this option is on for <code>cc_binary</code> and off for the rest.
@@ -409,13 +409,13 @@ public class BazelCppRuleClasses {
</p>
<p>There are really three different ways to link an executable:</p>
<ul>
- <li> FULLY STATIC, in which everything is linked statically; e.g. "<code>gcc -static
- foo.o libbar.a libbaz.a -lm</code>".<br/>
- This mode is enabled by specifying <code>-static</code> in the
- <a href="#cc_binary.linkopts"><code>linkopts</code></a> attribute.</li>
- <li> MOSTLY STATIC, in which all user libraries are linked statically (if a static
- version is available), but where system libraries are linked dynamically, e.g.
- "<code>gcc foo.o libfoo.a libbaz.a -lm</code>".<br/>
+ <li> STATIC with fully_static_link feature, in which everything is linked statically;
+ e.g. "<code>gcc -static foo.o libbar.a libbaz.a -lm</code>".<br/>
+ This mode is enabled by specifying <code>fully_static_link</code> in the
+ <a href="#cc_binary.features"><code>features</code></a> attribute.</li>
+ <li> STATIC, in which all user libraries are linked statically (if a static
+ version is available), but where system libraries (excluding C/C++ runtime libraries)
+ are linked dynamically, e.g. "<code>gcc foo.o libfoo.a libbaz.a -lm</code>".<br/>
This mode is enabled by specifying <code>linkstatic=True</code>.</li>
<li> DYNAMIC, in which all libraries are linked dynamically (if a dynamic version is
available), e.g. "<code>gcc foo.o libfoo.so libbaz.so -lm</code>".<br/>
