aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc
diff options
context:
space:
mode:
authorGravatar Chris Parsons <cparsons@google.com>2015-07-21 21:17:41 +0000
committerGravatar Laszlo Csomor <laszlocsomor@google.com>2015-07-23 10:58:59 +0000
commitd8604856a4a64e978cb0ba428797bfdcf691bc87 (patch)
treedccd83f36021f6bb20d7a0b405b9c317247950f0 /src/main/java/com/google/devtools/build/lib/rules/objc
parenta8414f52a45ca8be3c89184d59f010650e9b0aba (diff)
Support for .s, .S, and .asm files for objc rules
-- MOS_MIGRATED_REVID=98772452
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.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ObjcRuleClasses.java9
2 files changed, 9 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 0c1088c7b8..55ed996395 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
@@ -195,6 +195,9 @@ final class CompilationSupport {
if (ObjcRuleClasses.CPP_SOURCES.matches(sourceFile.getExecPath())) {
commandLine.add("-stdlib=libc++");
}
+ if (ObjcRuleClasses.PREPROCESSED_ASSEMBLY_SOURCES.matches(sourceFile.getExecPath())) {
+ commandLine.add("-x").add("assembler-with-cpp");
+ }
if (compilationArtifacts.hasSwiftSources()) {
// Add the directory that contains merged TargetName-Swift.h header to search path, in case
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcRuleClasses.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcRuleClasses.java
index 02d3566135..87361921fb 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcRuleClasses.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcRuleClasses.java
@@ -327,11 +327,14 @@ public class ObjcRuleClasses {
*/
static final FileType CPP_SOURCES = FileType.of(".cc", ".cpp", ".mm", ".cxx", ".C");
- static final FileType SWIFT_SOURCES = FileType.of(".swift");
+ private static final FileType NON_CPP_SOURCES = FileType.of(".m", ".c", ".s", ".asm");
- private static final FileType NON_CPP_SOURCES = FileType.of(".m", ".c");
+ static final FileType PREPROCESSED_ASSEMBLY_SOURCES = FileType.of(".S");
+
+ static final FileType SWIFT_SOURCES = FileType.of(".swift");
- static final FileTypeSet SRCS_TYPE = FileTypeSet.of(NON_CPP_SOURCES, CPP_SOURCES, SWIFT_SOURCES);
+ static final FileTypeSet SRCS_TYPE = FileTypeSet.of(NON_CPP_SOURCES, CPP_SOURCES,
+ PREPROCESSED_ASSEMBLY_SOURCES, SWIFT_SOURCES);
static final FileTypeSet NON_ARC_SRCS_TYPE = FileTypeSet.of(FileType.of(".m", ".mm"));