diff options
7 files changed, 13 insertions, 72 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/BinaryLinkingTargetFactory.java b/src/main/java/com/google/devtools/build/lib/rules/objc/BinaryLinkingTargetFactory.java index af147d5c0c..b013d604fe 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/BinaryLinkingTargetFactory.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/BinaryLinkingTargetFactory.java @@ -234,8 +234,7 @@ abstract class BinaryLinkingTargetFactory implements RuleConfiguredTargetFactory .setHasModuleMap() .setLinkedBinary(intermediateArtifacts.strippedSingleArchitectureBinary()); - if (ObjcRuleClasses.objcConfiguration(ruleContext).generateDebugSymbols() - || ObjcRuleClasses.objcConfiguration(ruleContext).generateDsym()) { + if (ObjcRuleClasses.objcConfiguration(ruleContext).generateDsym()) { builder.addDebugArtifacts(DsymOutputType.APP); } diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java index 8036821b7f..002d980837 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java @@ -89,7 +89,6 @@ import com.google.devtools.build.lib.rules.test.InstrumentedFilesCollector; import com.google.devtools.build.lib.rules.test.InstrumentedFilesCollector.InstrumentationSpec; import com.google.devtools.build.lib.rules.test.InstrumentedFilesCollector.LocalMetadataCollector; import com.google.devtools.build.lib.rules.test.InstrumentedFilesProvider; -import com.google.devtools.build.lib.shell.ShellUtils; import com.google.devtools.build.lib.util.FileTypeSet; import com.google.devtools.build.lib.util.Preconditions; import com.google.devtools.build.lib.vfs.FileSystemUtils; @@ -649,7 +648,7 @@ public final class CompilationSupport { .add("-enable-objc-interop") .add(objcConfiguration.getSwiftCoptsForCompilationMode()); - if (objcConfiguration.generateDebugSymbols() || objcConfiguration.generateDsym()) { + if (objcConfiguration.generateDsym()) { commandLine.add("-g"); } @@ -731,7 +730,7 @@ public final class CompilationSupport { .add("-target").add(swiftTarget(appleConfiguration)) .add(objcConfiguration.getSwiftCoptsForCompilationMode()); - if (objcConfiguration.generateDebugSymbols() || objcConfiguration.generateDsym()) { + if (objcConfiguration.generateDsym()) { commandLine.add("-g"); } @@ -881,8 +880,8 @@ public final class CompilationSupport { /** * Registers any actions necessary to link this rule and its dependencies. * - * <p>Dsym bundle and breakpad files are generated if - * {@link ObjcConfiguration#generateDebugSymbols()} is set. + * <p>Dsym bundle is generated if + * {@link ObjcConfiguration#generateDsym()} is set. * * <p>When Bazel flags {@code --compilation_mode=opt} and {@code --objc_enable_binary_stripping} * are specified, additional optimizations will be performed on the linked binary: all-symbol @@ -907,13 +906,9 @@ public final class CompilationSupport { DsymOutputType dsymOutputType) { Optional<Artifact> dsymBundleZip; Optional<Artifact> linkmap; - if (objcConfiguration.generateDebugSymbols() || objcConfiguration.generateDsym()) { + if (objcConfiguration.generateDsym()) { registerDsymActions(dsymOutputType); dsymBundleZip = Optional.of(intermediateArtifacts.tempDsymBundleZip(dsymOutputType)); - - if (objcConfiguration.generateDebugSymbols()) { - registerBreakpadAction(intermediateArtifacts.dsymSymbol(dsymOutputType)); - } } else { dsymBundleZip = Optional.absent(); } @@ -1013,7 +1008,7 @@ public final class CompilationSupport { // When compilation_mode=opt and objc_enable_binary_stripping are specified, the unstripped // binary containing debug symbols is generated by the linker, which also needs the debug // symbols for dead-code removal. The binary is also used to generate dSYM bundle if - // --objc_generate_debug_symbol is specified. A symbol strip action is later registered to strip + // --apple_generate_dsym is specified. A symbol strip action is later registered to strip // the symbol table from the unstripped binary. Artifact binaryToLink = objcConfiguration.shouldStripBinary() @@ -1491,23 +1486,6 @@ public final class CompilationSupport { return this; } - private void registerBreakpadAction(Artifact debugSymbolFile) { - Artifact dumpsyms = ruleContext.getPrerequisiteArtifact("$dumpsyms", Mode.HOST); - Artifact breakpadFile = intermediateArtifacts.breakpadSym(); - ruleContext.registerAction(ObjcRuleClasses.spawnOnDarwinActionBuilder() - .setMnemonic("GenBreakpad") - .setProgressMessage("Generating breakpad file: " + ruleContext.getLabel()) - .setShellCommand(ImmutableList.of("/bin/bash", "-c")) - .addInput(dumpsyms) - .addInput(debugSymbolFile) - .addArgument(String.format("%s %s > %s", - ShellUtils.shellEscape(dumpsyms.getExecPathString()), - ShellUtils.shellEscape(debugSymbolFile.getExecPathString()), - ShellUtils.shellEscape(breakpadFile.getExecPathString()))) - .addOutput(breakpadFile) - .build(ruleContext)); - } - private PathFragment removeSuffix(PathFragment path, String suffix) { String name = path.getBaseName(); Preconditions.checkArgument( @@ -1592,7 +1570,8 @@ public final class CompilationSupport { default: throw new IllegalArgumentException("Unhandled platform " + platform); } - if (objcConfiguration.generateDebugSymbols() || objcConfiguration.generateDsym()) { + + if (objcConfiguration.generateDsym()) { builder.add("-g"); } 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 7cf1fcf323..36821e9baa 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 @@ -52,18 +52,6 @@ public class ObjcCommandLineOptions extends FragmentOptions { + "on the machine the simulator will be run on.") public String iosSimulatorDevice; - // Deprecated. See b/27942021 for more details. - @Option( - name = "objc_generate_debug_symbols", - defaultValue = "false", - category = "flags", - deprecationWarning = "-g is enabled for all dbg builds." - + "Use --apple_generate_dsym flag for dSYM." - + "Use apple_generate_breakpad rule for breakpad.", - help = "Specifies whether to generate debug symbol(.dSYM) file." - ) - public boolean generateDebugSymbols; - @Option(name = "objc_generate_linkmap", defaultValue = "false", category = "flags", diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommon.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommon.java index 952349abd5..d762411ae3 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommon.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcCommon.java @@ -17,7 +17,6 @@ package com.google.devtools.build.lib.rules.objc; import static com.google.devtools.build.lib.packages.BuildType.LABEL; import static com.google.devtools.build.lib.rules.cpp.Link.LINK_LIBRARY_FILETYPES; import static com.google.devtools.build.lib.rules.objc.ObjcProvider.ASSET_CATALOG; -import static com.google.devtools.build.lib.rules.objc.ObjcProvider.BREAKPAD_FILE; import static com.google.devtools.build.lib.rules.objc.ObjcProvider.BUNDLE_FILE; import static com.google.devtools.build.lib.rules.objc.ObjcProvider.BUNDLE_IMPORT_DIR; import static com.google.devtools.build.lib.rules.objc.ObjcProvider.CC_LIBRARY; @@ -575,10 +574,6 @@ public final class ObjcCommon { objcProvider .add(DEBUG_SYMBOLS, intermediateArtifacts.dsymSymbol(dsymOutputType)) .add(DEBUG_SYMBOLS_PLIST, intermediateArtifacts.dsymPlist(dsymOutputType)); - - if (ObjcRuleClasses.objcConfiguration(context).generateDebugSymbols()) { - objcProvider.add(BREAKPAD_FILE, intermediateArtifacts.breakpadSym()); - } } return new ObjcCommon(objcProvider.build(), compilationArtifacts); 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 5b403cbcad..69596dd723 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 @@ -52,7 +52,6 @@ public class ObjcConfiguration extends BuildConfiguration.Fragment { private final DottedVersion iosMinimumOs; private final DottedVersion iosSimulatorVersion; private final String iosSimulatorDevice; - private final boolean generateDebugSymbols; private final boolean generateDsym; private final boolean generateLinkmap; private final boolean runMemleaks; @@ -78,7 +77,6 @@ public class ObjcConfiguration extends BuildConfiguration.Fragment { Preconditions.checkNotNull(objcOptions.iosSimulatorDevice, "iosSimulatorDevice"); this.iosSimulatorVersion = Preconditions.checkNotNull(objcOptions.iosSimulatorVersion, "iosSimulatorVersion"); - this.generateDebugSymbols = objcOptions.generateDebugSymbols; this.generateDsym = objcOptions.appleGenerateDsym; this.generateLinkmap = objcOptions.generateLinkmap; this.runMemleaks = objcOptions.runMemleaks; @@ -120,13 +118,6 @@ public class ObjcConfiguration extends BuildConfiguration.Fragment { } /** - * Returns whether dSYM + breakpad generation is enabled. - */ - public boolean generateDebugSymbols() { - return generateDebugSymbols; - } - - /** * Returns whether dSYM generation is enabled. */ public boolean generateDsym() { diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ReleaseBundlingSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ReleaseBundlingSupport.java index f67b0a8377..eae1193ed3 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/ReleaseBundlingSupport.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ReleaseBundlingSupport.java @@ -76,7 +76,7 @@ import javax.annotation.Nullable; /** * Support for released bundles, such as an application or extension. Such a bundle is generally * composed of a top-level {@link BundleSupport bundle}, potentially signed, as well as some debug - * information, if {@link ObjcConfiguration#generateDebugSymbols() requested}. + * information, if {@link ObjcConfiguration#generateDsym() requested}. * * <p>Contains actions, validation logic and provider value generation. * @@ -625,8 +625,7 @@ public final class ReleaseBundlingSupport { filesToBuild.add(linkmapFile); } - if (ObjcRuleClasses.objcConfiguration(ruleContext).generateDebugSymbols() - || ObjcRuleClasses.objcConfiguration(ruleContext).generateDsym()) { + if (ObjcRuleClasses.objcConfiguration(ruleContext).generateDsym()) { filesToBuild.addAll(getDsymFiles(dsymOutputType).values()); // TODO(bazel-team): Remove the 'if' when the objc_binary rule does not generate a bundle any @@ -648,14 +647,6 @@ public final class ReleaseBundlingSupport { } } - if (ObjcRuleClasses.objcConfiguration(ruleContext).generateDebugSymbols()) { - filesToBuild.addAll(getBreakpadFiles().values()); - - if (linkedBinary == LinkedBinary.LOCAL_AND_DEPENDENCIES) { - debugSymbolBuilder.add(intermediateArtifacts.breakpadSym()); - } - } - filesToBuild .add(releaseBundling.getIpaArtifact()) .addTransitive(debugSymbolBuilder.build()) @@ -669,8 +660,7 @@ public final class ReleaseBundlingSupport { */ public void addExportedDebugArtifacts( ObjcProvider.Builder objcBuilder, DsymOutputType dsymOutputType) { - if (ObjcRuleClasses.objcConfiguration(ruleContext).generateDebugSymbols() - || ObjcRuleClasses.objcConfiguration(ruleContext).generateDsym()) { + if (ObjcRuleClasses.objcConfiguration(ruleContext).generateDsym()) { objcBuilder .addAll(ObjcProvider.EXPORTED_DEBUG_ARTIFACTS, getDsymFiles(dsymOutputType).values()) .add( diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java index 5e6b227895..d179d75f95 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java @@ -274,8 +274,7 @@ public final class XcodeSupport { this.appleCpus = appleConfiguration.getMultiArchitectures( appleConfiguration.getSingleArchPlatform().getType()); this.minimumOs = objcConfiguration.getMinimumOs().toString(); - this.generateDebugSymbols = - objcConfiguration.generateDebugSymbols() || objcConfiguration.generateDsym(); + this.generateDebugSymbols = objcConfiguration.generateDsym(); } @Override |