Add sysroot variable to cc_common.create_link_variables
Before this cl the sysroot variable was not present, and that's a bug.
RELNOTES: None
PiperOrigin-RevId: 203346557
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/LinkBuildVariables.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/LinkBuildVariables.java
index 0868b20c..63a4b48 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/LinkBuildVariables.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/LinkBuildVariables.java
@@ -123,7 +123,8 @@
boolean isLegacyFullyStaticLinkingMode,
boolean isStaticLinkingMode)
throws EvalException {
- CcToolchainVariables.Builder buildVariables = new CcToolchainVariables.Builder();
+ CcToolchainVariables.Builder buildVariables =
+ new CcToolchainVariables.Builder(ccToolchainProvider.getBuildVariables());
// symbol counting
if (symbolCounts != null) {
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTest.java
index 3d4a6d5..d52b0c4 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTest.java
@@ -503,6 +503,35 @@
}
@Test
+ public void testEmptyLinkVariablesContainSysroot() throws Exception {
+ AnalysisMock.get()
+ .ccSupport()
+ .setupCrosstool(
+ mockToolsConfig,
+ "builtin_sysroot: '/foo/bar/sysroot'",
+ "feature {",
+ " name: 'sysroot'",
+ " enabled: true",
+ " flag_set {",
+ " action: 'c++-link-executable'",
+ " flag_group {",
+ " expand_if_all_available: 'sysroot'",
+ " flag: '--yolo_sysroot_flag=%{sysroot}'",
+ " }",
+ " }",
+ "}");
+ useConfiguration();
+ assertThat(
+ commandLineForVariables(
+ CppActionNames.CPP_LINK_EXECUTABLE,
+ "cc_common.create_link_variables(",
+ "feature_configuration = feature_configuration,",
+ "cc_toolchain = toolchain,",
+ ")"))
+ .contains("--yolo_sysroot_flag=/foo/bar/sysroot");
+ }
+
+ @Test
public void testLibrarySearchDirectoriesLinkVariables() throws Exception {
AnalysisMock.get()
.ccSupport()