aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools
diff options
context:
space:
mode:
authorGravatar Peter Schmitt <schmitt@google.com>2015-03-31 15:53:10 +0000
committerGravatar Laurent Le Brun <laurentlb@google.com>2015-03-31 20:09:43 +0000
commit422c731fbefb098962813b3e0914a9192c72e549 (patch)
tree65cd84a702bddaeb213ebb50e55d7a77c02e6886 /src/main/java/com/google/devtools
parent974b20891380c26bf147c037b19ceaf6f93f1e0b (diff)
Always define OS_IOS in iOS builds.
RELNOTES: Always define OS_IOS in iOS builds. -- MOS_MIGRATED_REVID=89969990
Diffstat (limited to 'src/main/java/com/google/devtools')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/IosSdkCommands.java12
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ObjcActionsBuilder.java8
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/XcodeProvider.java2
3 files changed, 13 insertions, 9 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/IosSdkCommands.java b/src/main/java/com/google/devtools/build/lib/rules/objc/IosSdkCommands.java
index dc9f938902..147a7773c1 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/IosSdkCommands.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/IosSdkCommands.java
@@ -61,6 +61,8 @@ public class IosSdkCommands {
.put("GCC_WARN_UNUSED_VARIABLE", "-Wunused-variable")
.build();
+ static final ImmutableList<String> DEFAULT_COMPILER_FLAGS = ImmutableList.of("-DOS_IOS");
+
static final ImmutableList<String> DEFAULT_LINKER_FLAGS = ImmutableList.of("-ObjC");
private IosSdkCommands() {
@@ -92,7 +94,7 @@ public class IosSdkCommands {
return parents.build();
}
- public static List<String> commonLinkAndCompileArgsForClang(
+ public static List<String> commonLinkAndCompileFlagsForClang(
ObjcProvider provider, ObjcConfiguration configuration) {
ImmutableList.Builder<String> builder = new ImmutableList.Builder<>();
if (Platform.forArch(configuration.getIosCpu()) == Platform.SIMULATOR) {
@@ -120,14 +122,16 @@ public class IosSdkCommands {
.build();
}
- public static Iterable<String> compileArgsForClang(ObjcConfiguration configuration) {
+ public static Iterable<String> compileFlagsForClang(ObjcConfiguration configuration) {
return Iterables.concat(
DEFAULT_WARNINGS.values(),
- platformSpecificCompileArgsForClang(configuration)
+ platformSpecificCompileFlagsForClang(configuration),
+ DEFAULT_COMPILER_FLAGS
);
}
- private static List<String> platformSpecificCompileArgsForClang(ObjcConfiguration configuration) {
+ private static List<String> platformSpecificCompileFlagsForClang(
+ ObjcConfiguration configuration) {
switch (Platform.forArch(configuration.getIosCpu())) {
case DEVICE:
return ImmutableList.of();
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcActionsBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcActionsBuilder.java
index 713e63319c..57244b2d1d 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcActionsBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcActionsBuilder.java
@@ -122,8 +122,8 @@ final class ObjcActionsBuilder {
commandLine.add("-stdlib=libc++");
}
commandLine
- .add(IosSdkCommands.compileArgsForClang(objcConfiguration))
- .add(IosSdkCommands.commonLinkAndCompileArgsForClang(
+ .add(IosSdkCommands.compileFlagsForClang(objcConfiguration))
+ .add(IosSdkCommands.commonLinkAndCompileFlagsForClang(
objcProvider, objcConfiguration))
.add(objcConfiguration.getCoptsForCompilationMode())
.addBeforeEachPath("-iquote", ObjcCommon.userHeaderSearchPaths(buildConfiguration))
@@ -280,7 +280,7 @@ final class ObjcActionsBuilder {
* All framework names to pass to the linker using {@code -framework} flags. For a framework in
* the directory foo/bar.framework, the name is "bar". Each framework is found without using the
* full path by means of the framework search paths. The search paths are added by
- * {@link IosSdkCommands#commonLinkAndCompileArgsForClang(ObjcProvider, ObjcConfiguration)}).
+ * {@link IosSdkCommands#commonLinkAndCompileFlagsForClang(ObjcProvider, ObjcConfiguration)}).
*
* <p>It's awful that we can't pass the full path to the framework and avoid framework search
* paths, but this is imposed on us by clang. clang does not support passing the full path to the
@@ -359,7 +359,7 @@ final class ObjcActionsBuilder {
.add(objcProvider.is(USES_CPP) ? CLANG_PLUSPLUS.toString() : CLANG.toString())
.addAll(objcProvider.is(USES_CPP)
? ImmutableList.of("-stdlib=libc++") : ImmutableList.<String>of())
- .addAll(IosSdkCommands.commonLinkAndCompileArgsForClang(objcProvider, objcConfiguration))
+ .addAll(IosSdkCommands.commonLinkAndCompileFlagsForClang(objcProvider, objcConfiguration))
.add("-Xlinker", "-objc_abi_version")
.add("-Xlinker", "2")
.add("-fobjc-link-runtime")
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeProvider.java b/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeProvider.java
index 07c61f2ed2..07f9885c51 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeProvider.java
@@ -32,7 +32,6 @@ import com.google.common.base.Optional;
import com.google.common.base.Preconditions;
import com.google.common.base.Splitter;
import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableList.Builder;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import com.google.devtools.build.lib.actions.Artifact;
@@ -396,6 +395,7 @@ public final class XcodeProvider implements TransitiveInfoProvider {
.addAllHeaderSearchPath(headerSearchPaths)
.addAllSupportFile(Artifact.toExecPaths(headers))
.addAllCopt(compilationModeCopts)
+ .addAllCopt(IosSdkCommands.DEFAULT_COMPILER_FLAGS)
.addAllCopt(Interspersing.prependEach("-D", objcProvider.get(DEFINE)))
.addAllCopt(copts)
.addAllLinkopt(