diff options
author | 2016-04-15 14:45:19 +0000 | |
---|---|---|
committer | 2016-04-18 10:43:14 +0000 | |
commit | 2084a3df1230609a655591e438cfb97508d10347 (patch) | |
tree | 994adef553dd6c6d2d7b3a308698551069f390ed /src/main/java/com/google/devtools/build/lib/rules/cpp | |
parent | 6d0876a57c8e2facb4983e6bd70298ff4fd972b3 (diff) |
Introduces experimental_objc_library. This rule builds objc code with the c++ rule implementation backend and an OSX crosstool.
--
MOS_MIGRATED_REVID=119954578
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp')
3 files changed, 16 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java index 3b969b8d1a..9f8f98d46c 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java @@ -69,7 +69,7 @@ import javax.annotation.Nullable; * methods. */ public final class CcLibraryHelper { - + /** * A group of source file types for builds controlled by CcLibraryHelper. Determines what * file types CcLibraryHelper considers sources. diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java index d1dce71ebf..04b862cb3a 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java @@ -127,6 +127,16 @@ public class CppCompileAction extends AbstractAction implements IncludeScannable public static final String CPP_COMPILE = "c++-compile"; /** + * A string constant for the objc compilation action. + */ + public static final String OBJC_COMPILE = "objc-compile"; + + /** + * A string constant for the objc++ compile action. + */ + public static final String OBJCPP_COMPILE = "objc++-compile"; + + /** * A string constant for the c++ header parsing. */ public static final String CPP_HEADER_PARSING = "c++-header-parsing"; @@ -1335,6 +1345,10 @@ public class CppCompileAction extends AbstractAction implements IncludeScannable return C_COMPILE; } else if (CppFileTypes.CPP_SOURCE.matches(sourcePath)) { return CPP_COMPILE; + } else if (CppFileTypes.OBJC_SOURCE.matches(sourcePath)) { + return OBJC_COMPILE; + } else if (CppFileTypes.OBJCPP_SOURCE.matches(sourcePath)) { + return OBJCPP_COMPILE; } else if (CppFileTypes.ASSEMBLER.matches(sourcePath)) { return ASSEMBLE; } else if (CppFileTypes.ASSEMBLER_WITH_C_PREPROCESSOR.matches(sourcePath)) { diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppFileTypes.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppFileTypes.java index d97dbb9931..c3bd853ff6 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppFileTypes.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppFileTypes.java @@ -28,7 +28,7 @@ public final class CppFileTypes { public static final FileType C_SOURCE = FileType.of(".c"); public static final FileType OBJC_SOURCE = FileType.of(".m"); public static final FileType OBJCPP_SOURCE = FileType.of(".mm"); - + // Filetypes that generate LLVM bitcode when -flto is specified. public static final FileTypeSet LTO_SOURCE = FileTypeSet.of(CppFileTypes.CPP_SOURCE, CppFileTypes.C_SOURCE); |