Chromium Code Reviews| Index: components/crash.gypi |
| diff --git a/components/crash.gypi b/components/crash.gypi |
| index e61d1c013bd0c5b09b9a341409764cada9f8f3a6..8c26f8902c734981ad17bb6059170a8f55fed1e9 100644 |
| --- a/components/crash.gypi |
| +++ b/components/crash.gypi |
| @@ -19,30 +19,40 @@ |
| ], |
| }, |
| { |
| + # 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_base, which will be renamed |
| + # crash_component. crash_component_breakpad_mac_to_be_deleted will be |
| + # deleted. |
| + 'target_name': 'crash_component_base', |
|
Robert Sesek
2015/03/13 04:26:32
This could also be crash_component_non_mac, and th
|
| '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 +64,6 @@ |
| ], |
| 'defines': ['CRASH_IMPLEMENTATION'], |
| 'conditions': [ |
| - ['OS=="mac"', { |
| - 'dependencies': [ |
| - '../breakpad/breakpad.gyp:breakpad', |
| - ], |
| - }], |
| ['OS=="win"', { |
| 'dependencies': [ |
| '../breakpad/breakpad.gyp:breakpad_handler', |
| @@ -86,6 +91,89 @@ |
| ], |
| }, |
| { |
| + # 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_base. |
| + # |
| + # Most of this target is actually in its dependency, crash_component_base. |
| + # 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_base', |
| + '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_base 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_base', |
| + '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', |