diff options
author | Chris Parsons <cparsons@google.com> | 2016-06-15 18:57:28 +0000 |
---|---|---|
committer | Yue Gan <yueg@google.com> | 2016-06-16 09:01:09 +0000 |
commit | cedd8d18afc42d328153056470024a1bd98c5310 (patch) | |
tree | 765bfe3b32cced6ace3ed15d2c288a59fb580f95 /src/main/java/com/google/devtools/build/lib/rules/apple/cpp | |
parent | 94268c80000593d5f226595087f5cdfaab87ddbe (diff) |
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
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/apple/cpp')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/apple/cpp/AppleCcToolchain.java | 23 |
1 files changed, 19 insertions, 4 deletions
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<String, String> getBuildVariables(RuleContext ruleContext) { AppleConfiguration appleConfiguration = ruleContext.getFragment(AppleConfiguration.class); - return ImmutableMap.of( - XCODE_VERSION_KEY, - appleConfiguration.getXcodeVersion().or(DEFAULT_XCODE_VERSION).toString()); + + return ImmutableMap.<String, String>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(); } } |