aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/apple/cpp
diff options
context:
space:
mode:
authorGravatar Chris Parsons <cparsons@google.com>2016-06-15 18:57:28 +0000
committerGravatar Yue Gan <yueg@google.com>2016-06-16 09:01:09 +0000
commitcedd8d18afc42d328153056470024a1bd98c5310 (patch)
tree765bfe3b32cced6ace3ed15d2c288a59fb580f95 /src/main/java/com/google/devtools/build/lib/rules/apple/cpp
parent94268c80000593d5f226595087f5cdfaab87ddbe (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.java23
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();
}
}