aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2017-08-25 04:06:17 +0200
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2017-08-25 12:54:21 +0200
commite2bfb4bb4017b9a50b6e00b84d2fc52856323592 (patch)
tree330f938189fd33b2e5dd6480c5b2fcda32fe85ef /src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java
parentb91ef056ce096bfe9f995080264980e418dada80 (diff)
Automated rollback of commit 1af9b1e2238c3b43a2b66233495ecf7b6ef4dcab.
*** Reason for rollback *** Reason for previous rollback was identified as being a memory regression causing some cases to hit java heap limit. Proposal is to increase java heap limit to compensate and just go with the original change. *** Original change description *** Automated rollback of commit 6cfffdf37e11018c7e6e2cabc90440d6d29c819b. PiperOrigin-RevId: 166426608
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java19
1 files changed, 14 insertions, 5 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 e0369a11d2..193b3eeb1b 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
@@ -137,6 +137,7 @@ public class CrosstoolCompilationSupport extends CompilationSupport {
CompilationAttributes.Builder.fromRuleContext(ruleContext).build(),
/*useDeps=*/ true,
outputGroupCollector,
+ null,
/*isTestRule=*/ false,
/*usePch=*/ true);
}
@@ -149,6 +150,7 @@ public class CrosstoolCompilationSupport extends CompilationSupport {
* @param intermediateArtifacts IntermediateArtifacts for deriving artifact paths
* @param compilationAttributes attributes of the calling target
* @param useDeps true if deps should be used
+ * @param toolchain if not null overrides the default toolchain from the ruleContext.
* @param usePch true if pch should be used
*/
public CrosstoolCompilationSupport(
@@ -158,6 +160,7 @@ public class CrosstoolCompilationSupport extends CompilationSupport {
CompilationAttributes compilationAttributes,
boolean useDeps,
Map<String, NestedSet<Artifact>> outputGroupCollector,
+ CcToolchainProvider toolchain,
boolean isTestRule,
boolean usePch) {
super(
@@ -167,6 +170,7 @@ public class CrosstoolCompilationSupport extends CompilationSupport {
compilationAttributes,
useDeps,
outputGroupCollector,
+ toolchain,
isTestRule,
usePch);
}
@@ -194,7 +198,7 @@ public class CrosstoolCompilationSupport extends CompilationSupport {
// TODO(b/30783125): Signal the need for this action in the CROSSTOOL.
registerObjFilelistAction(getObjFiles(compilationArtifacts, intermediateArtifacts), objList);
-
+
extension.addVariableCategory(VariableCategory.ARCHIVE_VARIABLES);
helper =
@@ -204,7 +208,8 @@ public class CrosstoolCompilationSupport extends CompilationSupport {
extension.build(),
extraCompileArgs,
ccToolchain,
- fdoSupport)
+ fdoSupport,
+ priorityHeaders)
.setLinkType(LinkTargetType.OBJC_ARCHIVE)
.addLinkActionInput(objList);
} else {
@@ -215,7 +220,8 @@ public class CrosstoolCompilationSupport extends CompilationSupport {
extension.build(),
extraCompileArgs,
ccToolchain,
- fdoSupport);
+ fdoSupport,
+ priorityHeaders);
}
Info info = helper.build();
@@ -405,7 +411,8 @@ public class CrosstoolCompilationSupport extends CompilationSupport {
VariablesExtension extension,
ExtraCompileArgs extraCompileArgs,
CcToolchainProvider ccToolchain,
- FdoSupportProvider fdoSupport) {
+ FdoSupportProvider fdoSupport,
+ Iterable<PathFragment> priorityHeaders) {
PrecompiledFiles precompiledFiles = new PrecompiledFiles(ruleContext);
Collection<Artifact> arcSources = ImmutableSortedSet.copyOf(compilationArtifacts.getSrcs());
Collection<Artifact> nonArcSources =
@@ -424,7 +431,8 @@ public class CrosstoolCompilationSupport extends CompilationSupport {
createIncludeProcessing(privateHdrs, objcProvider, pchHdr),
ruleContext.getFragment(ObjcConfiguration.class),
isHeaderThinningEnabled(),
- intermediateArtifacts);
+ intermediateArtifacts,
+ buildConfiguration);
CcLibraryHelper result =
new CcLibraryHelper(
ruleContext,
@@ -455,6 +463,7 @@ public class CrosstoolCompilationSupport extends CompilationSupport {
.getCoptsForCompilationMode())
.addAll(extraCompileArgs)
.build())
+ .addIncludeDirs(priorityHeaders)
.addIncludeDirs(objcProvider.get(INCLUDE))
.addSystemIncludeDirs(objcProvider.get(INCLUDE_SYSTEM))
.setCppModuleMap(intermediateArtifacts.moduleMap())