From 547b43e3c41355377beaed703837ce19420d0e31 Mon Sep 17 00:00:00 2001 From: Googler Date: Wed, 30 May 2018 10:09:02 -0700 Subject: Add --apple_enable_auto_dsym_dbg flag This new flag can be used to forcibly enable dSYM generation for dbg apple builds, which is especially useful for debugging in remote builds, which may require the use of dSYMs. RELNOTES: Added --apple_enable_auto_dsym_dbg flag. PiperOrigin-RevId: 198577541 --- .../devtools/build/lib/rules/objc/ObjcCommandLineOptions.java | 8 ++++++++ .../google/devtools/build/lib/rules/objc/ObjcConfiguration.java | 4 +++- 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'src/main/java/com') diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommandLineOptions.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommandLineOptions.java index fed559423e..5766b7d5da 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommandLineOptions.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommandLineOptions.java @@ -178,6 +178,14 @@ public class ObjcCommandLineOptions extends FragmentOptions { ) public boolean appleGenerateDsym; + @Option( + name = "apple_enable_auto_dsym_dbg", + defaultValue = "false", + documentationCategory = OptionDocumentationCategory.OUTPUT_SELECTION, + effectTags = {OptionEffectTag.AFFECTS_OUTPUTS, OptionEffectTag.ACTION_COMMAND_LINES}, + help = "Whether to force enable generating debug symbol(.dSYM) file(s) for dbg builds.") + public boolean appleEnableAutoDsymDbg; + @Option( name = "ios_signing_cert_name", defaultValue = "null", diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcConfiguration.java index b5d532a100..70fb596d70 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcConfiguration.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcConfiguration.java @@ -92,11 +92,13 @@ public class ObjcConfiguration extends BuildConfiguration.Fragment { Preconditions.checkNotNull(objcOptions.tvosSimulatorDevice, "tvosSimulatorDevice"); this.tvosSimulatorVersion = Preconditions.checkNotNull(objcOptions.tvosSimulatorVersion, "tvosSimulatorVersion"); - this.generateDsym = objcOptions.appleGenerateDsym; this.generateLinkmap = objcOptions.generateLinkmap; this.runMemleaks = objcOptions.runMemleaks; this.copts = ImmutableList.copyOf(objcOptions.copts); this.compilationMode = Preconditions.checkNotNull(options.compilationMode, "compilationMode"); + this.generateDsym = + objcOptions.appleGenerateDsym + || (objcOptions.appleEnableAutoDsymDbg && this.compilationMode == CompilationMode.DBG); this.fastbuildOptions = ImmutableList.copyOf(objcOptions.fastbuildOptions); this.enableBinaryStripping = objcOptions.enableBinaryStripping; this.moduleMapsEnabled = objcOptions.enableModuleMaps; -- cgit v1.2.3