diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java | 18 |
1 files changed, 18 insertions, 0 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 35e02bb404..5f9ceb4053 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 @@ -76,6 +76,7 @@ import com.google.devtools.build.lib.rules.cpp.CppHelper; import com.google.devtools.build.lib.rules.cpp.CppModuleMap; import com.google.devtools.build.lib.rules.cpp.CppModuleMapAction; import com.google.devtools.build.lib.rules.cpp.FdoSupportProvider; +import com.google.devtools.build.lib.rules.cpp.UmbrellaHeaderAction; import com.google.devtools.build.lib.rules.objc.ObjcCommandLineOptions.ObjcCrosstoolMode; import com.google.devtools.build.lib.rules.test.InstrumentedFilesCollector; import com.google.devtools.build.lib.rules.test.InstrumentedFilesCollector.InstrumentationSpec; @@ -642,6 +643,11 @@ public abstract class CompilationSupport { CppModuleMap moduleMap = intermediateArtifacts.moduleMap(); registerGenerateModuleMapAction(moduleMap, publicHeaders); + Optional<Artifact> umbrellaHeader = moduleMap.getUmbrellaHeader(); + if (umbrellaHeader.isPresent()) { + registerGenerateUmbrellaHeaderAction(umbrellaHeader.get(), publicHeaders); + } + return this; } @@ -1221,6 +1227,18 @@ public abstract class CompilationSupport { } } + CompilationSupport registerGenerateUmbrellaHeaderAction( + Artifact umbrellaHeader, Iterable<Artifact> publicHeaders) { + ruleContext.registerAction( + new UmbrellaHeaderAction( + ruleContext.getActionOwner(), + umbrellaHeader, + publicHeaders, + ImmutableList.<PathFragment>of())); + + return this; + } + /** * Registers an action that will generate a clang module map. * @param moduleMap the module map to generate |