aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java
diff options
context:
space:
mode:
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.java13
1 files changed, 13 insertions, 0 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 e1181495c8..773fb33c46 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
@@ -100,6 +100,8 @@ public class CrosstoolCompilationSupport extends CompilationSupport {
*/
private static final String NO_GENERATE_DEBUG_SYMBOLS_FEATURE_NAME = "no_generate_debug_symbols";
+ private static final String GENERATE_LINKMAP_FEATURE_NAME = "generate_linkmap";
+
private static final ImmutableList<String> ACTIVATED_ACTIONS =
ImmutableList.of(
"objc-compile",
@@ -306,6 +308,14 @@ public class CrosstoolCompilationSupport extends CompilationSupport {
executableLinkAction.addActionOutput(dsymBundleZip);
}
+ if (objcConfiguration.generateLinkmap()) {
+ Artifact linkmap = intermediateArtifacts.linkmap();
+ extensionBuilder
+ .setLinkmap(linkmap)
+ .addVariableCategory(VariableCategory.LINKMAP_VARIABLES);
+ executableLinkAction.addActionOutput(linkmap);
+ }
+
executableLinkAction.addVariablesExtension(extensionBuilder.build());
ruleContext.registerAction(executableLinkAction.build());
@@ -447,6 +457,9 @@ public class CrosstoolCompilationSupport extends CompilationSupport {
} else {
activatedCrosstoolSelectables.add(NO_GENERATE_DEBUG_SYMBOLS_FEATURE_NAME);
}
+ if (configuration.getFragment(ObjcConfiguration.class).generateLinkmap()) {
+ activatedCrosstoolSelectables.add(GENERATE_LINKMAP_FEATURE_NAME);
+ }
activatedCrosstoolSelectables.addAll(ruleContext.getFeatures());
return configuration