OLD | NEW |
1 # Copyright 2016 The Chromium Authors. All rights reserved. | 1 # Copyright 2016 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 import("//build/config/chrome_build.gni") | 5 import("//build/config/chrome_build.gni") |
| 6 import("//build/config/sanitizers/sanitizers.gni") |
6 | 7 |
7 # This file declares arguments and configs that control whether dSYM debug | 8 # This file declares arguments and configs that control whether dSYM debug |
8 # info is produced and whether build products are stripped. | 9 # info is produced and whether build products are stripped. |
9 | 10 |
10 declare_args() { | 11 declare_args() { |
11 # Produce dSYM files for targets that are configured to do so. dSYM | 12 # Produce dSYM files for targets that are configured to do so. dSYM |
12 # generation is controlled globally as it is a linker output (produced via | 13 # generation is controlled globally as it is a linker output (produced via |
13 # the //build/toolchain/mac/linker_driver.py. Enabling this will result in | 14 # the //build/toolchain/mac/linker_driver.py. Enabling this will result in |
14 # all shared library, loadable module, and executable targets having a dSYM | 15 # all shared library, loadable module, and executable targets having a dSYM |
15 # generated. | 16 # generated. |
16 enable_dsyms = is_official_build | 17 enable_dsyms = (is_official_build && is_chrome_branded) || using_sanitizer |
17 | 18 |
18 # Strip symbols from linked targets by default. If this is enabled, the | 19 # Strip symbols from linked targets by default. If this is enabled, the |
19 # //build/config/mac:strip_all config will be applied to all linked targets. | 20 # //build/config/mac:strip_all config will be applied to all linked targets. |
20 # If custom stripping paramters are required, remove that config from a | 21 # If custom stripping parameters are required, remove that config from a |
21 # linked target and apply custom -Wcrl,strip flags. See | 22 # linked target and apply custom -Wcrl,strip flags. See |
22 # //build/toolchain/mac/linker_driver.py for more information. | 23 # //build/toolchain/mac/linker_driver.py for more information. |
23 enable_stripping = is_official_build | 24 enable_stripping = is_official_build && is_chrome_branded |
24 } | 25 } |
25 | 26 |
26 # Save unstripped copies of targets with a ".unstripped" suffix. This is | 27 # Save unstripped copies of targets with a ".unstripped" suffix. This is |
27 # useful to preserve the original output when enable_stripping=true but | 28 # useful to preserve the original output when enable_stripping=true but |
28 # we're not actually generating real dSYMs. | 29 # we're not actually generating real dSYMs. |
29 save_unstripped_output = enable_stripping && !enable_dsyms | 30 save_unstripped_output = enable_stripping && !enable_dsyms |
OLD | NEW |