From cedd8d18afc42d328153056470024a1bd98c5310 Mon Sep 17 00:00:00 2001 From: Chris Parsons Date: Wed, 15 Jun 2016 18:57:28 +0000 Subject: Pass toolchain build variables to C++ link actions. Also add platform sdk versions to the build variables defined by AppleCcToolchain, so that these values may be referenced in crosstool config. -- MOS_MIGRATED_REVID=124976362 --- .../lib/rules/apple/cpp/AppleCcToolchain.java | 23 ++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'src/main/java/com/google/devtools/build/lib/rules/apple/cpp') diff --git a/src/main/java/com/google/devtools/build/lib/rules/apple/cpp/AppleCcToolchain.java b/src/main/java/com/google/devtools/build/lib/rules/apple/cpp/AppleCcToolchain.java index 87c4610d17..b1836b4c7e 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/apple/cpp/AppleCcToolchain.java +++ b/src/main/java/com/google/devtools/build/lib/rules/apple/cpp/AppleCcToolchain.java @@ -17,6 +17,7 @@ import com.google.common.collect.ImmutableMap; import com.google.devtools.build.lib.analysis.RuleContext; import com.google.devtools.build.lib.rules.apple.AppleConfiguration; import com.google.devtools.build.lib.rules.apple.DottedVersion; +import com.google.devtools.build.lib.rules.apple.Platform; import com.google.devtools.build.lib.rules.cpp.CcToolchain; import java.util.Map; @@ -29,13 +30,27 @@ public class AppleCcToolchain extends CcToolchain { // TODO(bazel-team): Compute default based on local Xcode instead of hardcoded 7.2. private static final DottedVersion DEFAULT_XCODE_VERSION = DottedVersion.fromString("7.2"); - public static final String XCODE_VERSION_KEY = "xcode_version"; + private static final String XCODE_VERSION_KEY = "xcode_version"; + private static final String IOS_SDK_VERSION_KEY = "ios_sdk_version"; + private static final String MACOSX_SDK_VERSION_KEY = "macosx_sdk_version"; + private static final String TVOS_SDK_VERSION_KEY = "appletvos_sdk_version"; + private static final String WATCHOS_SDK_VERSION_KEY = "watchos_sdk_version"; @Override protected Map getBuildVariables(RuleContext ruleContext) { AppleConfiguration appleConfiguration = ruleContext.getFragment(AppleConfiguration.class); - return ImmutableMap.of( - XCODE_VERSION_KEY, - appleConfiguration.getXcodeVersion().or(DEFAULT_XCODE_VERSION).toString()); + + return ImmutableMap.builder() + .put(XCODE_VERSION_KEY, + appleConfiguration.getXcodeVersion().or(DEFAULT_XCODE_VERSION).toString()) + .put(IOS_SDK_VERSION_KEY, + appleConfiguration.getSdkVersionForPlatform(Platform.IOS_SIMULATOR).toString()) + .put(MACOSX_SDK_VERSION_KEY, + appleConfiguration.getSdkVersionForPlatform(Platform.MACOS_X).toString()) + .put(TVOS_SDK_VERSION_KEY, + appleConfiguration.getSdkVersionForPlatform(Platform.TVOS_SIMULATOR).toString()) + .put(WATCHOS_SDK_VERSION_KEY, + appleConfiguration.getSdkVersionForPlatform(Platform.WATCHOS_SIMULATOR).toString()) + .build(); } } -- cgit v1.2.3