aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc
diff options
context:
space:
mode:
authorGravatar Cal Peyser <cpeyser@google.com>2017-01-31 22:54:28 +0000
committerGravatar Yun Peng <pcloudy@google.com>2017-02-01 08:56:23 +0000
commita5bc67ed07938c3e6dedeb7eaedd8fc6520fef03 (patch)
tree44593a72d36545ca7f2ceaddef24f83ed6349b44 /src/main/java/com/google/devtools/build/lib/rules/objc
parent8d2311dbca398654825a8fce324a746867239911 (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.java51
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) {