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