From a392ebafb8aedf85ace36e3a0565874d44139b5e Mon Sep 17 00:00:00 2001 From: jcater Date: Tue, 24 Apr 2018 08:07:43 -0700 Subject: Ensure make variables from the CcToolchainProvider end up in the TemplateVariableInfo. PiperOrigin-RevId: 194088329 --- .../google/devtools/build/lib/rules/cpp/CcToolchain.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchain.java') diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchain.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchain.java index 5475261c1e..cfd703b2c5 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchain.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchain.java @@ -575,7 +575,8 @@ public class CcToolchain implements RuleConfiguredTargetFactory { configuration.isHostConfiguration()); TemplateVariableInfo templateVariableInfo = - createMakeVariableProvider(cppConfiguration, sysroot, ruleContext.getRule().getLocation()); + createMakeVariableProvider( + cppConfiguration, ccProvider, sysroot, ruleContext.getRule().getLocation()); RuleConfiguredTargetBuilder builder = new RuleConfiguredTargetBuilder(ruleContext) @@ -821,11 +822,19 @@ public class CcToolchain implements RuleConfiguredTargetFactory { } private TemplateVariableInfo createMakeVariableProvider( - CppConfiguration cppConfiguration, PathFragment sysroot, Location location) { + CppConfiguration cppConfiguration, + CcToolchainProvider toolchainProvider, + PathFragment sysroot, + Location location) { HashMap makeVariables = new HashMap<>(cppConfiguration.getAdditionalMakeVariables()); + // Add make variables from the toolchainProvider, also. + ImmutableMap.Builder ccProviderMakeVariables = new ImmutableMap.Builder<>(); + toolchainProvider.addGlobalMakeVariables(ccProviderMakeVariables); + makeVariables.putAll(ccProviderMakeVariables.build()); + // Overwrite the CC_FLAGS variable to include sysroot, if it's available. if (sysroot != null) { String sysrootFlag = "--sysroot=" + sysroot; -- cgit v1.2.3