diff options
Diffstat (limited to 'src/main')
3 files changed, 9 insertions, 7 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 958e025f68..ef3ff308bd 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 @@ -106,6 +106,9 @@ public class CrosstoolCompilationSupport extends CompilationSupport { /** Enabled if this target has objc sources in its transitive closure. */ private static final String CONTAINS_OBJC = "contains_objc_sources"; + /** Enabled if GLIBCXX defines should be set on 'dbg' compiles. */ + private static final String USE_GLIBCXX_DBG_OPTS_FEATURE_NAME = "use_glibcxx_dbg_opts"; + private static final ImmutableList<String> ACTIVATED_ACTIONS = ImmutableList.of( "objc-compile", @@ -452,10 +455,6 @@ public class CrosstoolCompilationSupport extends CompilationSupport { .setCopts( ImmutableList.<String>builder() .addAll(getCompileRuleCopts()) - .addAll( - ruleContext - .getFragment(ObjcConfiguration.class) - .getCoptsForCompilationMode()) .addAll(extraCompileArgs) .build()) .addIncludeDirs(priorityHeaders) @@ -548,6 +547,9 @@ public class CrosstoolCompilationSupport extends CompilationSupport { if (objcProvider.is(Flag.USES_OBJC)) { activatedCrosstoolSelectables.add(CONTAINS_OBJC); } + if (configuration.getOptions().get(ObjcCommandLineOptions.class).debugWithGlibcxx) { + activatedCrosstoolSelectables.add(USE_GLIBCXX_DBG_OPTS_FEATURE_NAME); + } activatedCrosstoolSelectables.addAll(ruleContext.getFeatures()); try { 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 176840b2f9..2e2c81d38e 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 @@ -150,7 +150,7 @@ public class ObjcCommandLineOptions extends FragmentOptions { @Option( name = "experimental_objc_fastbuild_options", - defaultValue = "-O0,-DDEBUG=1", + defaultValue = "-O0,-DDEBUG", converter = CommaSeparatedOptionListConverter.class, documentationCategory = OptionDocumentationCategory.OUTPUT_PARAMETERS, effectTags = {OptionEffectTag.ACTION_COMMAND_LINES}, 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 b3f0f6abd4..cd8d9944e4 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 @@ -40,7 +40,7 @@ import javax.annotation.Nullable; public class ObjcConfiguration extends BuildConfiguration.Fragment { @VisibleForTesting static final ImmutableList<String> DBG_COPTS = - ImmutableList.of("-O0", "-DDEBUG=1", "-fstack-protector", "-fstack-protector-all", "-g"); + ImmutableList.of("-O0", "-DDEBUG", "-fstack-protector", "-fstack-protector-all", "-g"); @VisibleForTesting static final ImmutableList<String> GLIBCXX_DBG_COPTS = @@ -50,7 +50,7 @@ public class ObjcConfiguration extends BuildConfiguration.Fragment { @VisibleForTesting static final ImmutableList<String> OPT_COPTS = ImmutableList.of( - "-Os", "-DNDEBUG=1", "-Wno-unused-variable", "-Winit-self", "-Wno-extra"); + "-Os", "-DNDEBUG", "-Wno-unused-variable", "-Winit-self", "-Wno-extra"); private final DottedVersion iosSimulatorVersion; private final String iosSimulatorDevice; |