Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(321)

Unified Diff: components/crash.gypi

Issue 1001103002: Crashpad! (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Sign crashpad_handler Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/tools/build/mac/dump_product_syms ('k') | components/crash/OWNERS » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/crash.gypi
diff --git a/components/crash.gypi b/components/crash.gypi
index e61d1c013bd0c5b09b9a341409764cada9f8f3a6..37b4c54305154f764427c788eb6e0937607d3365 100644
--- a/components/crash.gypi
+++ b/components/crash.gypi
@@ -19,30 +19,47 @@
],
},
{
+ # TODO(mark): https://crbug.com/466890: merge this target with
+ # crash_component.
+ #
+ # This is a temporary base target that is depended on by both
+ # crash_component and crash_component_breakpad_mac_to_be_deleted. It
+ # provides everything common to both of those targets. For a short period,
+ # there are two Mac crash component implementations. The new one uses a
+ # Crashpad implementation and is used by Chrome. The old one uses a
+ # Breakpad implementation and is used by content_shell. Consumers should
+ # depend on the desired target. All three targets behave identically on
+ # non-Mac. When content_shell and any other consumers are migrated to the
+ # Crashpad implementation on Mac, crash_component will merge back into
+ # this target, crash_component_non_mac, which will be renamed
+ # crash_component. crash_component_breakpad_mac_to_be_deleted will be
+ # deleted.
+ #
+ # While this situation exists:
+ #
+ # Do not depend on this target directly! Depend on
+ # crash_component_breakpad_mac_to_be_deleted for old Breakpad behavior on
+ # all platforms, or preferably, depend on crash_component to get Breakpad
+ # everywhere except for Mac, where you will get Crashpad.
+ 'target_name': 'crash_component_non_mac',
'variables': {
'conditions': [
- ['OS == "ios" ', {
+ ['OS == "ios" or OS == "mac"', {
# On IOS there are no files compiled into the library, and we
# can't have libraries with zero objects.
+ # For now, the same applies to Mac OS X, until this target merges
+ # with crash_component.
'crash_component_target_type%': 'none',
}, {
'crash_component_target_type%': 'static_library',
}],
],
},
- # Note: if you depend on this target, you need to either link in
- # content.gyp:content_common, or add
- # content/public/common/content_switches.cc to your sources.
- #
- # GN version: //components/crash/app
- 'target_name': 'crash_component',
'type': '<(crash_component_target_type)',
'sources': [
'crash/app/breakpad_linux.cc',
'crash/app/breakpad_linux.h',
'crash/app/breakpad_linux_impl.h',
- 'crash/app/breakpad_mac.h',
- 'crash/app/breakpad_mac.mm',
'crash/app/breakpad_win.cc',
'crash/app/breakpad_win.h',
'crash/app/hard_error_handler_win.cc',
@@ -54,11 +71,6 @@
],
'defines': ['CRASH_IMPLEMENTATION'],
'conditions': [
- ['OS=="mac"', {
- 'dependencies': [
- '../breakpad/breakpad.gyp:breakpad',
- ],
- }],
['OS=="win"', {
'dependencies': [
'../breakpad/breakpad.gyp:breakpad_handler',
@@ -86,6 +98,90 @@
],
},
{
+ # Note: if you depend on this target, you need to either link in
+ # content.gyp:content_common, or add
+ # content/public/common/content_switches.cc to your sources.
+ #
+ # GN version: //components/crash/app
+
+ # TODO(mark): https://crbug.com/466890: merge this target with
+ # crash_component_non_mac.
+ #
+ # Most of this target is actually in its dependency,
+ # crash_component_non_mac. See the comment in that target for an
+ # explanation for the split. The split is temporary and the two targets
+ # will be unified again soon.
+ 'target_name': 'crash_component',
+ 'variables': {
+ 'conditions': [
+ ['OS != "mac" ', {
+ # There are no source files on any platform but Mac OS X.
+ 'crash_component_target_type%': 'none',
+ }, {
+ 'crash_component_target_type%': 'static_library',
+ }],
+ ],
+ },
+ 'type': '<(crash_component_target_type)',
+ 'sources': [
+ 'crash/app/crashpad_mac.h',
+ 'crash/app/crashpad_mac.mm',
+ ],
+ 'dependencies': [
+ 'crash_component_non_mac',
+ 'crash_component_lib',
+ '../base/base.gyp:base',
+ ],
+ 'defines': ['CRASH_IMPLEMENTATION'],
+ 'conditions': [
+ ['OS=="mac"', {
+ 'dependencies': [
+ '../third_party/crashpad/crashpad/client/client.gyp:crashpad_client',
+ ],
+ }],
+ ],
+ },
+ {
+ # TODO(mark): https://crbug.com/466890: remove this target.
+ #
+ # This is a temporary target provided for Mac Breakpad users that have not
+ # yet migrated to Crashpad (namely content_shell). This target will be
+ # removed shortly and all consumers will be expected to use Crashpad as
+ # the Mac crash-reporting client. See the comment in the
+ # crash_component_non_mac target for more details.
+ 'target_name': 'crash_component_breakpad_mac_to_be_deleted',
+ 'variables': {
+ 'conditions': [
+ ['OS != "mac" ', {
+ # There are no source files on any platform but Mac OS X.
+ 'crash_component_target_type%': 'none',
+ }, {
+ 'crash_component_target_type%': 'static_library',
+ }],
+ ],
+ },
+ 'type': '<(crash_component_target_type)',
+ 'sources': [
+ 'crash/app/breakpad_mac.h',
+ 'crash/app/breakpad_mac.mm',
+ ],
+ 'dependencies': [
+ 'crash_component_non_mac',
+ 'crash_component_lib',
+ ],
+ 'defines': ['CRASH_IMPLEMENTATION'],
+ 'conditions': [
+ ['OS=="mac"', {
+ 'dependencies': [
+ '../breakpad/breakpad.gyp:breakpad',
+ ],
+ 'include_dirs': [
+ '..',
+ ],
+ }],
+ ],
+ },
+ {
# GN version: //components/crash/app:test_support
'target_name': 'crash_test_support',
'type': 'none',
« no previous file with comments | « chrome/tools/build/mac/dump_product_syms ('k') | components/crash/OWNERS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698