diff options
author | cpeyser <cpeyser@google.com> | 2017-04-14 14:27:41 +0200 |
---|---|---|
committer | Klaus Aehlig <aehlig@google.com> | 2017-04-18 11:10:52 +0200 |
commit | 1637af9b570197de5e8df888e4eb95fcf7c95234 (patch) | |
tree | dd2a116e2246dede845b5ec480412e0b4567323e /src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java | |
parent | 8ff0d0d436b4fd9fd4199d313f708377c7a668af (diff) |
Introduce linkmap support for --experimental_objc_crosstool=all
PiperOrigin-RevId: 153161442
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.java | 13 |
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 |