| # Copyright 2016 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/config/chrome_build.gni") |
| import("//build/config/sanitizers/sanitizers.gni") |
| |
| # This file declares arguments and configs that control whether dSYM debug |
| # info is produced and whether build products are stripped. |
| |
| declare_args() { |
| # Produce dSYM files for targets that are configured to do so. dSYM |
| # generation is controlled globally as it is a linker output (produced via |
| # the //build/toolchain/apple/linker_driver.py. Enabling this will result in |
| # all shared library, loadable module, and executable targets having a dSYM |
| # generated. |
| enable_dsyms = is_official_build || using_sanitizer |
| |
| # Strip symbols from linked targets by default. If this is enabled, the |
| # //build/config/mac:strip_all config will be applied to all linked targets. |
| # If custom stripping parameters are required, remove that config from a |
| # linked target and apply custom -Wcrl,strip flags. See |
| # //build/toolchain/apple/linker_driver.py for more information. |
| enable_stripping = is_official_build |
| } |
| |
| # Save unstripped copies of targets with a ".unstripped" suffix. This is |
| # useful to preserve the original output when enable_stripping=true but |
| # we're not actually generating real dSYMs. |
| save_unstripped_output = enable_stripping && !enable_dsyms |