Index: build/config/BUILDCONFIG.gn |
diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn |
index 4630b2f3bdb8a1f0b470ae788adaa5d64548cc76..71161b086acea93df649bbdedb8d299845338d5a 100644 |
--- a/build/config/BUILDCONFIG.gn |
+++ b/build/config/BUILDCONFIG.gn |
@@ -111,14 +111,6 @@ if (current_os == "") { |
# even if the value is overridden, which is wasteful. See first bullet. |
declare_args() { |
- # How many symbols to include in the build. This affects the performance of |
- # the build since the symbols are large and dealing with them is slow. |
- # 2 means regular build with symbols. |
- # 1 means minimal symbols, usually enough for backtraces only. |
- # 0 means no symbols. |
- # -1 means auto-set (off in release, regular in debug). |
- symbol_level = -1 |
- |
# Component build. |
is_component_build = false |
@@ -133,18 +125,6 @@ declare_args() { |
is_clang = current_os == "mac" || current_os == "ios" || |
current_os == "linux" || current_os == "chromeos" |
- # Compile for Address Sanitizer to find memory bugs. |
- is_asan = false |
- |
- # Compile for Leak Sanitizer to find leaks. |
- is_lsan = false |
- |
- # Compile for Memory Sanitizer to find uninitialized reads. |
- is_msan = false |
- |
- # Compile for Thread Sanitizer to find threading bugs. |
- is_tsan = false |
- |
if (current_os == "chromeos") { |
# Allows the target toolchain to be injected as arguments. This is needed |
# to support the CrOS build system which supports per-build-configuration |
@@ -176,7 +156,15 @@ declare_args() { |
# and there's only one config to remove that's the same in all cases for |
# targets that want to override it. It also means that the associated flags can |
# be non-global. |
-using_new_global_compiler_configs = false |
+using_new_global_compiler_configs = true |
+ |
+# To assist in a multi-sided landing of updating the default optimization |
+# config. When false, this file sets up the default optimization config to be |
+# either "no_optimize" (debug) or "optimize" (release). When true it will |
+# always set the config "default_optimization". |
+# |
+# TODO(brettw) remove this when all repos are updated. |
+using_new_optimization_config = true |
# To assist in a multi-sided landing of updating the default optimization |
# config. When false, this file sets up the default optimization config to be |
@@ -184,7 +172,7 @@ using_new_global_compiler_configs = false |
# always set the config "default_optimization". |
# |
# TODO(brettw) remove this when all repos are updated. |
-using_new_optimization_config = false |
+using_new_optimization_config = true |
# ============================================================================= |
# OS DEFINITIONS |
@@ -387,16 +375,6 @@ if (!is_chromeos) { |
set_sources_assignment_filter(sources_assignment_filter) |
# ============================================================================= |
-# BUILD OPTIONS |
-# ============================================================================= |
- |
-# These Sanitizers all imply using the Clang compiler. On Windows they either |
-# don't work or work differently. |
-if (!is_clang && (is_asan || is_lsan || is_tsan || is_msan)) { |
- is_clang = true |
-} |
- |
-# ============================================================================= |
# TARGET DEFAULTS |
# ============================================================================= |
# |
@@ -413,6 +391,8 @@ _native_compiler_configs = [ |
"//build/config/compiler:compiler_arm_fpu", |
"//build/config/compiler:chromium_code", |
"//build/config/compiler:default_include_dirs", |
+ "//build/config/compiler:default_optimization", |
+ "//build/config/compiler:default_symbols", |
"//build/config/compiler:no_rtti", |
"//build/config/compiler:runtime_library", |
] |
@@ -441,7 +421,6 @@ if (is_linux) { |
} else if (is_mac) { |
_native_compiler_configs += [ "//build/config/mac:sdk" ] |
} else if (is_ios) { |
- _native_compiler_configs += [ "//build/config/ios:sdk" ] |
} else if (is_android) { |
_native_compiler_configs += [ "//build/config/android:sdk" ] |
} |
@@ -453,41 +432,12 @@ if (is_clang && !is_nacl) { |
] |
} |
-# Optimizations and debug checking. |
+# Debug/release-related defines. |
if (is_debug) { |
_native_compiler_configs += [ "//build/config:debug" ] |
- _default_optimization_config = "//build/config/compiler:no_optimize" |
} else { |
_native_compiler_configs += [ "//build/config:release" ] |
- _default_optimization_config = "//build/config/compiler:optimize" |
-} |
-_native_compiler_configs += [ _default_optimization_config ] |
- |
-# If it wasn't manually set, set to an appropriate default. |
-if (symbol_level == -1) { |
- # Linux is slowed by having symbols as part of the target binary, whereas |
- # Mac and Windows have them separate, so in Release Linux, default them off. |
- if (is_debug || !is_linux) { |
- symbol_level = 2 |
- } else if (is_asan || is_lsan || is_tsan || is_msan) { |
- # Sanitizers require symbols for filename suppressions to work. |
- symbol_level = 1 |
- } else { |
- symbol_level = 0 |
- } |
-} |
- |
-# Symbol setup. |
-if (symbol_level == 2) { |
- _default_symbols_config = "//build/config/compiler:symbols" |
-} else if (symbol_level == 1) { |
- _default_symbols_config = "//build/config/compiler:minimal_symbols" |
-} else if (symbol_level == 0) { |
- _default_symbols_config = "//build/config/compiler:no_symbols" |
-} else { |
- assert(false, "Bad value for symbol_level.") |
} |
-_native_compiler_configs += [ _default_symbols_config ] |
# Windows linker setup for EXEs and DLLs. |
if (is_win) { |