aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/cpp
diff options
context:
space:
mode:
authorGravatar Cal Peyser <cpeyser@google.com>2016-04-15 14:45:19 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2016-04-18 10:43:14 +0000
commit2084a3df1230609a655591e438cfb97508d10347 (patch)
tree994adef553dd6c6d2d7b3a308698551069f390ed /src/main/java/com/google/devtools/build/lib/rules/cpp
parent6d0876a57c8e2facb4983e6bd70298ff4fd972b3 (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')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java14
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppFileTypes.java2
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);