diff options
author | 2017-01-12 20:00:41 +0000 | |
---|---|---|
committer | 2017-01-13 10:57:24 +0000 | |
commit | 748bbef68037ae57f973bdfe4405b3ccc3791574 (patch) | |
tree | b4df355b3919132b0e216d9d71bc22820984a404 /src/main/java/com/google/devtools/build | |
parent | de501a50f3ca9164322b53c2d597e8d1052e1663 (diff) |
All headers in modules arising from an experimental_objc_library are compiled
(as they are for objc_library). This allows for swift/objc interop with
experimental_objc_library, since swift imports require compiled headers.
--
PiperOrigin-RevId: 144353367
MOS_MIGRATED_REVID=144353367
Diffstat (limited to 'src/main/java/com/google/devtools/build')
3 files changed, 8 insertions, 1 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 43de8b409d..9bdff8b554 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 @@ -1300,7 +1300,8 @@ public final class CcLibraryHelper { publicHeaders.getHeaders(), collectModuleMaps(), additionalExportedHeaders, - featureConfiguration.isEnabled(CppRuleClasses.HEADER_MODULES), + featureConfiguration.isEnabled(CppRuleClasses.HEADER_MODULES) + || featureConfiguration.isEnabled(CppRuleClasses.COMPILE_ALL_MODULES), featureConfiguration.isEnabled(CppRuleClasses.MODULE_MAP_HOME_CWD), featureConfiguration.isEnabled(CppRuleClasses.GENERATE_SUBMODULES), !featureConfiguration.isEnabled(CppRuleClasses.MODULE_MAP_WITHOUT_EXTERN_MODULE)); diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppRuleClasses.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppRuleClasses.java index 92a31cde96..427baceaf5 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppRuleClasses.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppRuleClasses.java @@ -198,6 +198,11 @@ public class CppRuleClasses { public static final String HEADER_MODULES = "header_modules"; /** + * A string constant for the compile_all_modules feature. + */ + public static final String COMPILE_ALL_MODULES = "compile_all_modules"; + + /** * A string constant for the use_header_modules feature. * * <p>This feature is only used during rollout; we expect to default enable this once we diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java index 1b03052122..1688ba2dc2 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java @@ -277,6 +277,7 @@ public class CrosstoolCompilationSupport extends CompilationSupport { .getFeatureNames()) // We create a module map by default to allow for Swift interop. .add(CppRuleClasses.MODULE_MAPS) + .add(CppRuleClasses.COMPILE_ALL_MODULES) .add(CppRuleClasses.COMPILE_ACTION_FLAGS_IN_FLAG_SET) .add(CppRuleClasses.DEPENDENCY_FILE) .add(CppRuleClasses.INCLUDE_PATHS); |