1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30

build / config / apple / symbols.gni [blame]

# Copyright 2016 The Chromium Authors
# 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/apple: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