From b05bff63d4738a4db1641a13735864ed8e787d96 Mon Sep 17 00:00:00 2001 From: hlopko Date: Tue, 12 Sep 2017 10:51:44 +0200 Subject: Expose sysroot as a build variable This cl removes hardcoded --sysroot flag generation from bazel when constructing command line for C++ actions. The hardcoded flag is still exposed to Skylark (to stay backwards compatible). RELNOTES: None. PiperOrigin-RevId: 168346711 --- .../build/lib/rules/cpp/CompileCommandLineTest.java | 6 +----- .../build/lib/rules/cpp/LinkBuildVariablesTest.java | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 5 deletions(-) (limited to 'src/test/java/com/google/devtools/build/lib/rules/cpp') diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CompileCommandLineTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CompileCommandLineTest.java index aa9c11edd6..e0fd56322a 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CompileCommandLineTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CompileCommandLineTest.java @@ -19,7 +19,6 @@ import com.google.common.base.Predicate; import com.google.common.collect.ImmutableSet; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.actions.Root; -import com.google.devtools.build.lib.analysis.ConfiguredTarget; import com.google.devtools.build.lib.analysis.util.BuildViewTestCase; import com.google.devtools.build.lib.rules.cpp.CcToolchainFeatures.FeatureConfiguration; import com.google.devtools.build.lib.rules.cpp.CompileCommandLine.Builder; @@ -139,8 +138,6 @@ public class CompileCommandLineTest extends BuildViewTestCase { } private Builder makeCompileCommandLineBuilder() throws Exception { - ConfiguredTarget dummyTarget = - scratchConfiguredTarget("a", "a", "cc_binary(name='a', srcs=['a.cc'])"); return CompileCommandLine.builder( scratchArtifact("a/FakeInput"), scratchArtifact("a/FakeOutput"), @@ -152,7 +149,6 @@ public class CompileCommandLineTest extends BuildViewTestCase { }, "c++-compile", getTargetConfiguration().getFragment(CppConfiguration.class), - new DotdFile(scratchArtifact("a/dotD")), - CppHelper.getToolchainUsingDefaultCcToolchainAttribute(getRuleContext(dummyTarget))); + new DotdFile(scratchArtifact("a/dotD"))); } } diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/LinkBuildVariablesTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/LinkBuildVariablesTest.java index 4f48d0d6cf..b772ea74ac 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/LinkBuildVariablesTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/LinkBuildVariablesTest.java @@ -325,4 +325,20 @@ public class LinkBuildVariablesTest extends BuildViewTestCase { Variables fissionVariables = getLinkBuildVariables(fissionTarget, LinkTargetType.EXECUTABLE); assertThat(fissionVariables.isAvailable(CppLinkActionBuilder.IS_USING_FISSION_VARIABLE)).isTrue(); } + + @Test + public void testSysrootVariable() throws Exception { + AnalysisMock.get() + .ccSupport() + .setupCrosstool(mockToolsConfig, "builtin_sysroot: '/usr/local/custom-sysroot'"); + useConfiguration(); + + scratch.file("x/BUILD", "cc_binary(name = 'foo', srcs = ['a.cc'])"); + scratch.file("x/a.cc"); + + ConfiguredTarget testTarget = getConfiguredTarget("//x:foo"); + Variables testVariables = getLinkBuildVariables(testTarget, LinkTargetType.EXECUTABLE); + + assertThat(testVariables.isAvailable(CppModel.SYSROOT_VARIABLE_NAME)).isTrue(); + } } -- cgit v1.2.3