|  | # 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/mac/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/mac/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 |