OLD | NEW |
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 # ============================================================================= | 5 # ============================================================================= |
6 # BUILD FLAGS | 6 # BUILD FLAGS |
7 # ============================================================================= | 7 # ============================================================================= |
8 # | 8 # |
9 # This block lists input arguments to the build, along with their default | 9 # This block lists input arguments to the build, along with their default |
10 # values. GN requires listing them explicitly so it can validate input and have | 10 # values. GN requires listing them explicitly so it can validate input and have |
(...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
366 _default_optimization_config = "//build/config/compiler:optimize" | 366 _default_optimization_config = "//build/config/compiler:optimize" |
367 } | 367 } |
368 _native_compiler_configs += [ _default_optimization_config ] | 368 _native_compiler_configs += [ _default_optimization_config ] |
369 | 369 |
370 # If it wasn't manually set, set to an appropriate default. | 370 # If it wasn't manually set, set to an appropriate default. |
371 if (symbol_level == -1) { | 371 if (symbol_level == -1) { |
372 # Linux is slowed by having symbols as part of the target binary, whereas | 372 # Linux is slowed by having symbols as part of the target binary, whereas |
373 # Mac and Windows have them separate, so in Release Linux, default them off. | 373 # Mac and Windows have them separate, so in Release Linux, default them off. |
374 if (is_debug || !is_linux) { | 374 if (is_debug || !is_linux) { |
375 symbol_level = 2 | 375 symbol_level = 2 |
| 376 } else if (is_asan || is_lsan || is_tsan || is_msan) { |
| 377 # Sanitizers require symbols for filename suppressions to work. |
| 378 symbol_level = 1 |
376 } else { | 379 } else { |
377 symbol_level = 0 | 380 symbol_level = 0 |
378 } | 381 } |
379 } | 382 } |
380 | 383 |
381 # Symbol setup. | 384 # Symbol setup. |
382 if (symbol_level == 2) { | 385 if (symbol_level == 2) { |
383 _default_symbols_config = "//build/config/compiler:symbols" | 386 _default_symbols_config = "//build/config/compiler:symbols" |
384 } else if (symbol_level == 1) { | 387 } else if (symbol_level == 1) { |
385 _default_symbols_config = "//build/config/compiler:minimal_symbols" | 388 _default_symbols_config = "//build/config/compiler:minimal_symbols" |
(...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
726 } | 729 } |
727 if (defined(invoker.testonly)) { | 730 if (defined(invoker.testonly)) { |
728 testonly = invoker.testonly | 731 testonly = invoker.testonly |
729 } | 732 } |
730 if (defined(invoker.visibility)) { | 733 if (defined(invoker.visibility)) { |
731 visibility = invoker.visibility | 734 visibility = invoker.visibility |
732 } | 735 } |
733 } | 736 } |
734 } | 737 } |
735 } | 738 } |
OLD | NEW |