diff options
author | 2017-01-31 22:54:28 +0000 | |
---|---|---|
committer | 2017-02-01 08:56:23 +0000 | |
commit | a5bc67ed07938c3e6dedeb7eaedd8fc6520fef03 (patch) | |
tree | 44593a72d36545ca7f2ceaddef24f83ed6349b44 /src/main/java/com/google/devtools/build/lib/rules/objc | |
parent | 8d2311dbca398654825a8fce324a746867239911 (diff) |
CrosstoolCompilationSupport does not include .pch files in its module map.
--
PiperOrigin-RevId: 146169742
MOS_MIGRATED_REVID=146169742
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/CrosstoolCompilationSupport.java | 51 |
1 files changed, 27 insertions, 24 deletions
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 4d674283e3..819da77e38 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 @@ -253,31 +253,34 @@ public class CrosstoolCompilationSupport extends CompilationSupport { Collection<Artifact> privateHdrs = ImmutableSortedSet.copyOf(compilationArtifacts.getPrivateHdrs()); Collection<Artifact> publicHdrs = ImmutableSortedSet.copyOf(attributes.hdrs()); + CcLibraryHelper result = + new CcLibraryHelper( + ruleContext, + new ObjcCppSemantics( + objcProvider, ruleContext.getFragment(ObjcConfiguration.class)), + getFeatureConfiguration(ruleContext), + CcLibraryHelper.SourceCategory.CC_AND_OBJC) + .addSources(arcSources, ImmutableMap.of("objc_arc", "")) + .addSources(nonArcSources, ImmutableMap.of("no_objc_arc", "")) + .addSources(privateHdrs) + .addDefines(objcProvider.get(DEFINE)) + .enableCompileProviders() + .addPublicHeaders(publicHdrs) + .addPrecompiledFiles(precompiledFiles) + .addDeps(ruleContext.getPrerequisites("deps", Mode.TARGET)) + .addCopts(getCompileRuleCopts()) + .addIncludeDirs(objcProvider.get(INCLUDE)) + .addCopts(ruleContext.getFragment(ObjcConfiguration.class).getCoptsForCompilationMode()) + .addSystemIncludeDirs(objcProvider.get(INCLUDE_SYSTEM)) + .setCppModuleMap(intermediateArtifacts.moduleMap()) + .setPropagateModuleMapToCompileAction(false) + .addVariableExtension(extension); + Artifact pchHdr = ruleContext.getPrerequisiteArtifact("pch", Mode.TARGET); - ImmutableList<Artifact> pchHdrList = - (pchHdr != null) ? ImmutableList.<Artifact>of(pchHdr) : ImmutableList.<Artifact>of(); - return new CcLibraryHelper( - ruleContext, - new ObjcCppSemantics( - objcProvider, ruleContext.getFragment(ObjcConfiguration.class)), - getFeatureConfiguration(ruleContext), - CcLibraryHelper.SourceCategory.CC_AND_OBJC) - .addSources(arcSources, ImmutableMap.of("objc_arc", "")) - .addSources(nonArcSources, ImmutableMap.of("no_objc_arc", "")) - .addSources(privateHdrs) - .addDefines(objcProvider.get(DEFINE)) - .enableCompileProviders() - .addPublicHeaders(publicHdrs) - .addPublicHeaders(pchHdrList) - .addPrecompiledFiles(precompiledFiles) - .addDeps(ruleContext.getPrerequisites("deps", Mode.TARGET)) - .addCopts(getCompileRuleCopts()) - .addIncludeDirs(objcProvider.get(INCLUDE)) - .addCopts(ruleContext.getFragment(ObjcConfiguration.class).getCoptsForCompilationMode()) - .addSystemIncludeDirs(objcProvider.get(INCLUDE_SYSTEM)) - .setCppModuleMap(intermediateArtifacts.moduleMap()) - .setPropagateModuleMapToCompileAction(false) - .addVariableExtension(extension); + if (pchHdr != null) { + result.addNonModuleMapHeader(pchHdr); + } + return result; } private static FeatureConfiguration getFeatureConfiguration(RuleContext ruleContext) { |