aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc
diff options
context:
space:
mode:
authorGravatar Dmitry Shevchenko <dmishe@google.com>2016-03-23 22:11:53 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2016-03-24 10:31:46 +0000
commit0b2add4e1e285036ed615b84b60e14e2272f0bea (patch)
tree3a10e48e549fdaaf1370ef296e51255eb4b34b09 /src/main/java/com/google/devtools/build/lib/rules/objc
parent96df361ac0fe25d908515234bff944bad3269216 (diff)
Pass -F flags to Swift compilation rules.
-- MOS_MIGRATED_REVID=117974145
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java23
1 files changed, 20 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java
index dee283496d..d26304cdef 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java
@@ -505,6 +505,8 @@ public final class CompilationSupport {
commandLine.add("-import-underlying-module");
}
+ commandLine.add(commonFrameworkFlags(objcProvider, appleConfiguration));
+
ruleContext.registerAction(
ObjcRuleClasses.spawnXcrunActionBuilder(ruleContext)
.setMnemonic("SwiftCompile")
@@ -576,6 +578,8 @@ public final class CompilationSupport {
commandLine.add("-I").add(moduleMapPath.getParentDirectory().toString());
}
+ commandLine.add(commonFrameworkFlags(objcProvider, appleConfiguration));
+
ruleContext.registerAction(ObjcRuleClasses.spawnXcrunActionBuilder(ruleContext)
.setMnemonic("SwiftModuleMerge")
.setExecutable(xcrunwrapper(ruleContext))
@@ -1320,14 +1324,27 @@ public final class CompilationSupport {
.add("-arch", appleConfiguration.getIosCpu())
.add("-isysroot", AppleToolchain.sdkDir())
// TODO(bazel-team): Pass framework search paths to Xcodegen.
+ .addAll(commonFrameworkFlags(provider, appleConfiguration))
+ .build();
+ }
+
+ /**
+ * Returns a list of framework search path flags for clang/swift actions.
+ */
+ private static Iterable<String> commonFrameworkFlags(
+ ObjcProvider provider, AppleConfiguration appleConfiguration) {
+ Platform platform = Platform.forIosArch(appleConfiguration.getIosCpu());
+
+ return new ImmutableList.Builder<String>()
.add("-F", AppleToolchain.sdkFrameworkDir(platform, appleConfiguration))
// As of sdk8.1, XCTest is in a base Framework dir
.add("-F", AppleToolchain.platformDeveloperFrameworkDir(appleConfiguration))
// Add custom (non-SDK) framework search paths. For each framework foo/bar.framework,
// include "foo" as a search path.
- .addAll(Interspersing.beforeEach(
- "-F",
- PathFragment.safePathStrings(uniqueParentDirectories(provider.get(FRAMEWORK_DIR)))))
+ .addAll(
+ Interspersing.beforeEach(
+ "-F",
+ PathFragment.safePathStrings(uniqueParentDirectories(provider.get(FRAMEWORK_DIR)))))
.build();
}