aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2017-03-22 15:41:06 +0000
committerGravatar Yue Gan <yueg@google.com>2017-03-23 09:47:57 +0000
commit13754313ea9ac0f6c88cf1c31f48efb46f078ae1 (patch)
tree0feaa856b00d6c65c90181eda6df066d1d50c881
parent1a09e7e0dc2c57182c8864982b1130fb03f33e27 (diff)
Correct header thinning in ObjC crosstool rules so that objc_framework
imports can be discovered. -- PiperOrigin-RevId: 150882114 MOS_MIGRATED_REVID=150882114
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java11
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/HeaderThinning.java2
2 files changed, 9 insertions, 4 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 32808abcce..e91de27387 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
@@ -274,8 +274,14 @@ public class CrosstoolCompilationSupport extends CompilationSupport {
}
private IncludeProcessing createIncludeProcessing(
- Iterable<Artifact> potentialInputs, @Nullable Artifact pchHdr) {
+ Iterable<Artifact> privateHdrs, ObjcProvider objcProvider, @Nullable Artifact pchHdr) {
if (isHeaderThinningEnabled()) {
+ Iterable<Artifact> potentialInputs =
+ Iterables.concat(
+ privateHdrs,
+ objcProvider.get(HEADER),
+ objcProvider.get(STATIC_FRAMEWORK_FILE),
+ objcProvider.get(DYNAMIC_FRAMEWORK_FILE));
if (pchHdr != null) {
potentialInputs = Iterables.concat(potentialInputs, ImmutableList.of(pchHdr));
}
@@ -305,8 +311,7 @@ public class CrosstoolCompilationSupport extends CompilationSupport {
ObjcCppSemantics semantics =
new ObjcCppSemantics(
objcProvider,
- createIncludeProcessing(
- Iterables.concat(privateHdrs, publicHdrs, objcProvider.get(HEADER)), pchHdr),
+ createIncludeProcessing(privateHdrs, objcProvider, pchHdr),
ruleContext.getFragment(ObjcConfiguration.class),
isHeaderThinningEnabled(),
intermediateArtifacts);
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/HeaderThinning.java b/src/main/java/com/google/devtools/build/lib/rules/objc/HeaderThinning.java
index 8f678af07c..ad528645db 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/HeaderThinning.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/HeaderThinning.java
@@ -167,7 +167,7 @@ public class HeaderThinning implements IncludeProcessing {
throw new UserExecException(
String.format(
"Unable to map header file (%s) found during header scanning of %s."
- + " This is usually the result of a case mismatch.",
+ + " This is usually the result of a case mismatch",
missingPath, sourceFile.getExecPathString()));
}
}