Breakpad: Compile Breakpad into Chromium by default on Mac

This is intended to make it easier to test Breakpad crash dumping on
the buildbots.  Crash dumping will be disabled in Chromium by default
at run time unless CHROME_HEADLESS is set.

The bots set CHROME_HEADLESS, but we don't really want the bots to be
uploading crash dumps that are useless without symbols, so uploading
is disabled except for official builds and when building with
mac_breakpad_uploads=1.

This should not affect stack backtraces that occur in tests (such as
browser_tests) via StackDumpSignalHandler().  Although Breakpad would
normally take priority over this signal handler, Breakpad does not get
enabled in these test suites because is_browser is false inside
InitCrashReporter().

This change leaves the Gyp option "mac_breakpad" for enabling the
creation of Breakpad files.  This remains off by default for Chromium
builds, because the symbol dumping is slow and because it has problems
in the makefile-based Mac builds.

BUG=105778
TEST=run Chromium with --crash-test and CHROME_HEADLESS=1; a *.dmp file
  should appear in ~/Library/Application Support/Chromium/Crash Reports


Review URL: http://codereview.chromium.org/8824003

git-svn-id: http://src.chromium.org/svn/trunk/src/build@114468 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This commit is contained in:
mseaborn@chromium.org 2011-12-14 19:10:56 +00:00
Родитель 15992a73df
Коммит b5236bb2c0
1 изменённых файлов: 8 добавлений и 3 удалений

Просмотреть файл

@ -725,6 +725,9 @@
['OS=="mac"', {
# Enable clang on mac by default!
'clang%': 1,
# Compile in Breakpad support by default so that it can be
# tested, even if it is not enabled by default at runtime.
'mac_breakpad_compiled_in%': 1,
'conditions': [
# mac_product_name is set to the name of the .app bundle as it should
# appear on disk. This duplicates data from
@ -737,13 +740,15 @@
'mac_product_name%': 'Chromium',
}],
# Feature variables for enabling Mac Breakpad and Keystone auto-update
# support. Both features are on by default in official builds with
# Chrome branding.
['branding=="Chrome" and buildtype=="Official"', {
# Enable uploading crash dumps.
'mac_breakpad_uploads%': 1,
# Enable dumping symbols at build time for use by Mac Breakpad.
'mac_breakpad%': 1,
# Enable Keystone auto-update support.
'mac_keystone%': 1,
}, { # else: branding!="Chrome" or buildtype!="Official"
'mac_breakpad_uploads%': 0,
'mac_breakpad%': 0,
'mac_keystone%': 0,
}],