diff options
author | hlopko <hlopko@google.com> | 2018-07-05 01:56:31 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-07-05 01:59:06 -0700 |
commit | 195c4e4c8fb3d4c6b1b3790b07266b0a5ff51d80 (patch) | |
tree | be2098c2ea2b578a25c33fad5786152a677a524c | |
parent | 1387e6f48164f3842d71bc37226d6b07fd1aa7d5 (diff) |
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
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/LinkBuildVariables.java | 3 | ||||
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTest.java | 29 |
2 files changed, 31 insertions, 1 deletions
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 0868b20cee..63a4b484b3 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 @@ public enum LinkBuildVariables { 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 3d4a6d5cd0..d52b0c438e 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 @@ public class SkylarkCcCommonTest extends BuildViewTestCase { } @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() |