Chromium Code Reviews| Index: build/config/compiler/BUILD.gn |
| diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn |
| index ab45443d08cea097441a1bb1d4686fb55ba4a17b..82761c34441f91058a5f5887bfb2ae2f27fbdf20 100644 |
| --- a/build/config/compiler/BUILD.gn |
| +++ b/build/config/compiler/BUILD.gn |
| @@ -2,6 +2,17 @@ |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| +declare_args() { |
| + # The optimization level to use for debug builds. |
| + if (is_android) { |
| + # On Android we kind of optimize some things that don't affect debugging |
| + # much even when optimization is disabled to get the binary size down. |
| + debug_optimization_level = "s" |
| + } else { |
| + debug_optimization_level = "2" |
| + } |
| +} |
| + |
| import("//build/config/android/config.gni") |
| if (current_cpu == "arm") { |
| import("//build/config/arm.gni") |
| @@ -743,21 +754,21 @@ config("no_optimize") { |
| # The only difference on windows is that the inlining is less aggressive. |
| # (We accept the default level). Otherwise it is very slow. |
| cflags = [ |
| - "/O2", # Do some optimizations. |
| + "/O${debug_optimization_level}", # Do some optimizations. |
| "/Oy-", # Disable omitting frame pointers, must be after /O2. |
| ] |
| } else if (is_android) { |
| # On Android we kind of optimize some things that don't affect debugging |
| # much even when optimization is disabled to get the binary size down. |
|
kustermann
2017/01/24 11:44:51
Not sure if this comment applies to ldflags as wel
zra
2017/01/24 16:00:36
Yah, let's leave it.
|
| cflags = [ |
| - "-Os", |
| + "-O${debug_optimization_level}", |
| "-fdata-sections", |
| "-ffunction-sections", |
| ] |
| ldflags = common_optimize_on_ldflags |
| } else { |
| cflags = [ |
| - "-O2", |
| + "-O${debug_optimization_level}", |
| "-fdata-sections", |
| "-ffunction-sections", |
| ] |