Index: components/crash.gypi |
diff --git a/components/crash.gypi b/components/crash.gypi |
index 6ba24028c34755aa0909466740a97b41f3db1af6..05b3bea70aa790d1e4abe3fa6e7625aaa76e7c2c 100644 |
--- a/components/crash.gypi |
+++ b/components/crash.gypi |
@@ -3,326 +3,330 @@ |
# found in the LICENSE file. |
{ |
- 'targets': [ |
- { |
- 'target_name': 'crash_component_lib', |
- 'type': 'static_library', |
- 'sources': [ |
- 'crash/app/crash_keys_win.cc', |
- 'crash/app/crash_keys_win.h', |
- 'crash/app/crash_reporter_client.cc', |
- 'crash/app/crash_reporter_client.h', |
- ], |
- 'include_dirs': [ |
- '..', |
- '../breakpad/src', |
- ], |
- }, |
- { |
- # 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" 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', |
- }], |
- ], |
- }, |
- '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_win.cc', |
- 'crash/app/breakpad_win.h', |
- 'crash/app/hard_error_handler_win.cc', |
- 'crash/app/hard_error_handler_win.h', |
- ], |
- 'dependencies': [ |
- 'crash_component_lib', |
- '../base/base.gyp:base', |
- ], |
- 'defines': ['CRASH_IMPLEMENTATION'], |
- 'conditions': [ |
- ['OS=="win"', { |
- 'dependencies': [ |
- '../breakpad/breakpad.gyp:breakpad_handler', |
- '../breakpad/breakpad.gyp:breakpad_sender', |
- '../sandbox/sandbox.gyp:sandbox', |
- ], |
- }], |
- ['os_posix == 1 and OS != "mac" and OS != "ios"', { |
- 'dependencies': [ |
- '../breakpad/breakpad.gyp:breakpad_client', |
- ], |
- 'include_dirs': [ |
- '../breakpad/src', |
- ], |
- }], |
- ], |
- 'target_conditions': [ |
- # Need 'target_conditions' to override default filename_rules to include |
- # the files on Android. |
- ['OS=="android"', { |
- 'sources/': [ |
- ['include', '^crash/app/breakpad_linux\\.cc$'], |
- ], |
- }], |
- ], |
- }, |
- { |
- # 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', |
+ 'conditions': [ |
+ ['OS!="ios"', { |
+ 'targets': [ |
+ { |
+ 'target_name': 'crash_component_lib', |
+ 'type': 'static_library', |
+ 'sources': [ |
+ 'crash/content/app/crash_keys_win.cc', |
+ 'crash/content/app/crash_keys_win.h', |
+ 'crash/content/app/crash_reporter_client.cc', |
+ 'crash/content/app/crash_reporter_client.h', |
], |
'include_dirs': [ |
'..', |
+ '../breakpad/src', |
], |
- }], |
- ], |
- }, |
- { |
- # GN version: //components/crash/app:test_support |
- 'target_name': 'crash_test_support', |
- 'type': 'none', |
- 'dependencies': [ |
- 'crash_component_lib', |
- ], |
- 'direct_dependent_settings': { |
- 'include_dirs' : [ |
- '../breakpad/src', |
- ], |
- } |
- }, |
- ], |
- 'conditions': [ |
- ['OS=="win"', { |
- 'targets': [ |
+ }, |
{ |
- # GN version: //components/crash/tools:crash_service |
- 'target_name': 'breakpad_crash_service', |
- 'type': 'static_library', |
+ # 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" 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', |
+ }], |
+ ], |
+ }, |
+ 'type': '<(crash_component_target_type)', |
+ 'sources': [ |
+ 'crash/content/app/breakpad_linux.cc', |
+ 'crash/content/app/breakpad_linux.h', |
+ 'crash/content/app/breakpad_linux_impl.h', |
+ 'crash/content/app/breakpad_win.cc', |
+ 'crash/content/app/breakpad_win.h', |
+ 'crash/content/app/hard_error_handler_win.cc', |
+ 'crash/content/app/hard_error_handler_win.h', |
+ ], |
'dependencies': [ |
+ 'crash_component_lib', |
'../base/base.gyp:base', |
- '../breakpad/breakpad.gyp:breakpad_handler', |
- '../breakpad/breakpad.gyp:breakpad_sender', |
], |
- 'sources': [ |
- 'crash/tools/crash_service.cc', |
- 'crash/tools/crash_service.h', |
+ 'defines': ['CRASH_IMPLEMENTATION'], |
+ 'conditions': [ |
+ ['OS=="win"', { |
+ 'dependencies': [ |
+ '../breakpad/breakpad.gyp:breakpad_handler', |
+ '../breakpad/breakpad.gyp:breakpad_sender', |
+ '../sandbox/sandbox.gyp:sandbox', |
+ ], |
+ }], |
+ ['os_posix == 1 and OS != "mac" and OS != "ios"', { |
+ 'dependencies': [ |
+ '../breakpad/breakpad.gyp:breakpad_client', |
+ ], |
+ 'include_dirs': [ |
+ '../breakpad/src', |
+ ], |
+ }], |
+ ], |
+ 'target_conditions': [ |
+ # Need 'target_conditions' to override default filename_rules to include |
+ # the files on Android. |
+ ['OS=="android"', { |
+ 'sources/': [ |
+ ['include', '^crash/content/app/breakpad_linux\\.cc$'], |
+ ], |
+ }], |
], |
}, |
- ], |
- }], |
- ['OS=="win" and target_arch=="ia32"', { |
- 'targets': [ |
{ |
# 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. |
- 'target_name': 'breakpad_win64', |
- 'type': 'static_library', |
+ # |
+ # GN version: //components/crash/content/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/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', |
- # TODO(siggi): test the x64 version too. |
- 'crash/app/crash_keys_win.cc', |
- 'crash/app/crash_keys_win.h', |
- 'crash/app/crash_reporter_client.cc', |
- 'crash/app/crash_reporter_client.h', |
- 'crash/app/hard_error_handler_win.cc', |
- 'crash/app/hard_error_handler_win.h', |
- ], |
- 'defines': [ |
- 'COMPILE_CONTENT_STATICALLY', |
- 'CRASH_IMPLEMENTATION', |
+ 'crash/content/app/crashpad_mac.h', |
+ 'crash/content/app/crashpad_mac.mm', |
], |
'dependencies': [ |
- '../base/base.gyp:base_win64', |
- '../breakpad/breakpad.gyp:breakpad_handler_win64', |
- '../breakpad/breakpad.gyp:breakpad_sender_win64', |
- '../sandbox/sandbox.gyp:sandbox_win64', |
+ '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', |
+ ], |
+ }], |
], |
- 'configurations': { |
- 'Common_Base': { |
- 'msvs_target_platform': 'x64', |
- }, |
- }, |
}, |
{ |
- 'target_name': 'breakpad_crash_service_win64', |
- 'type': 'static_library', |
+ # 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/content/app/breakpad_mac.h', |
+ 'crash/content/app/breakpad_mac.mm', |
+ ], |
'dependencies': [ |
- '../base/base.gyp:base_win64', |
- '../breakpad/breakpad.gyp:breakpad_handler_win64', |
- '../breakpad/breakpad.gyp:breakpad_sender_win64', |
+ 'crash_component_non_mac', |
+ 'crash_component_lib', |
], |
- 'sources': [ |
- 'crash/tools/crash_service.cc', |
- 'crash/tools/crash_service.h', |
+ 'defines': ['CRASH_IMPLEMENTATION'], |
+ 'conditions': [ |
+ ['OS=="mac"', { |
+ 'dependencies': [ |
+ '../breakpad/breakpad.gyp:breakpad', |
+ ], |
+ 'include_dirs': [ |
+ '..', |
+ ], |
+ }], |
], |
- 'configurations': { |
- 'Common_Base': { |
- 'msvs_target_platform': 'x64', |
- }, |
- }, |
}, |
- ], |
- }], |
- ['OS=="mac"', { |
- 'targets': [ |
{ |
- 'target_name': 'breakpad_stubs', |
- 'type': 'static_library', |
+ # GN version: //components/crash/content/app:test_support |
+ 'target_name': 'crash_test_support', |
+ 'type': 'none', |
'dependencies': [ |
- '../base/base.gyp:base', |
- ], |
- 'sources': [ |
- 'crash/app/breakpad_mac.h', |
- 'crash/app/breakpad_mac_stubs.mm', |
- 'crash/app/crash_reporter_client.cc', |
- 'crash/app/crash_reporter_client.h', |
+ 'crash_component_lib', |
], |
+ 'direct_dependent_settings': { |
+ 'include_dirs' : [ |
+ '../breakpad/src', |
+ ], |
+ } |
}, |
], |
- }], |
- ['os_posix == 1 and OS != "mac" and OS != "ios"', { |
- 'targets': [ |
- { |
- # GN version: //components/crash/browser |
- 'target_name': 'breakpad_host', |
- 'type': 'static_library', |
- 'dependencies': [ |
- 'crash_component', |
- '../base/base.gyp:base', |
- '../breakpad/breakpad.gyp:breakpad_client', |
- '../content/content.gyp:content_browser', |
- '../content/content.gyp:content_common', |
+ 'conditions': [ |
+ ['OS=="win"', { |
+ 'targets': [ |
+ { |
+ # GN version: //components/crash/content/tools:crash_service |
+ 'target_name': 'breakpad_crash_service', |
+ 'type': 'static_library', |
+ 'dependencies': [ |
+ '../base/base.gyp:base', |
+ '../breakpad/breakpad.gyp:breakpad_handler', |
+ '../breakpad/breakpad.gyp:breakpad_sender', |
+ ], |
+ 'sources': [ |
+ 'crash/content/tools/crash_service.cc', |
+ 'crash/content/tools/crash_service.h', |
+ ], |
+ }, |
], |
- 'sources': [ |
- 'crash/browser/crash_dump_manager_android.cc', |
- 'crash/browser/crash_dump_manager_android.h', |
- 'crash/browser/crash_handler_host_linux.cc', |
- 'crash/browser/crash_handler_host_linux.h', |
+ }], |
+ ['OS=="win" and target_arch=="ia32"', { |
+ 'targets': [ |
+ { |
+ # 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. |
+ 'target_name': 'breakpad_win64', |
+ 'type': 'static_library', |
+ 'sources': [ |
+ 'crash/content/app/breakpad_linux.cc', |
+ 'crash/content/app/breakpad_linux.h', |
+ 'crash/content/app/breakpad_linux_impl.h', |
+ 'crash/content/app/breakpad_mac.h', |
+ 'crash/content/app/breakpad_mac.mm', |
+ 'crash/content/app/breakpad_win.cc', |
+ 'crash/content/app/breakpad_win.h', |
+ # TODO(siggi): test the x64 version too. |
+ 'crash/content/app/crash_keys_win.cc', |
+ 'crash/content/app/crash_keys_win.h', |
+ 'crash/content/app/crash_reporter_client.cc', |
+ 'crash/content/app/crash_reporter_client.h', |
+ 'crash/content/app/hard_error_handler_win.cc', |
+ 'crash/content/app/hard_error_handler_win.h', |
+ ], |
+ 'defines': [ |
+ 'COMPILE_CONTENT_STATICALLY', |
+ 'CRASH_IMPLEMENTATION', |
+ ], |
+ 'dependencies': [ |
+ '../base/base.gyp:base_win64', |
+ '../breakpad/breakpad.gyp:breakpad_handler_win64', |
+ '../breakpad/breakpad.gyp:breakpad_sender_win64', |
+ '../sandbox/sandbox.gyp:sandbox_win64', |
+ ], |
+ 'configurations': { |
+ 'Common_Base': { |
+ 'msvs_target_platform': 'x64', |
+ }, |
+ }, |
+ }, |
+ { |
+ 'target_name': 'breakpad_crash_service_win64', |
+ 'type': 'static_library', |
+ 'dependencies': [ |
+ '../base/base.gyp:base_win64', |
+ '../breakpad/breakpad.gyp:breakpad_handler_win64', |
+ '../breakpad/breakpad.gyp:breakpad_sender_win64', |
+ ], |
+ 'sources': [ |
+ 'crash/content/tools/crash_service.cc', |
+ 'crash/content/tools/crash_service.h', |
+ ], |
+ 'configurations': { |
+ 'Common_Base': { |
+ 'msvs_target_platform': 'x64', |
+ }, |
+ }, |
+ }, |
], |
- 'include_dirs': [ |
- '../breakpad/src', |
+ }], |
+ ['OS=="mac"', { |
+ 'targets': [ |
+ { |
+ 'target_name': 'breakpad_stubs', |
+ 'type': 'static_library', |
+ 'dependencies': [ |
+ '../base/base.gyp:base', |
+ ], |
+ 'sources': [ |
+ 'crash/content/app/breakpad_mac.h', |
+ 'crash/content/app/breakpad_mac_stubs.mm', |
+ 'crash/content/app/crash_reporter_client.cc', |
+ 'crash/content/app/crash_reporter_client.h', |
+ ], |
+ }, |
], |
- 'target_conditions': [ |
- # Need 'target_conditions' to override default filename_rules to include |
- # the files on Android. |
- ['OS=="android"', { |
- 'sources/': [ |
- ['include', '^crash/browser/crash_handler_host_linux\\.cc$'], |
+ }], |
+ ['os_posix == 1 and OS != "mac"', { |
+ 'targets': [ |
+ { |
+ # GN version: //components/crash/content/browser |
+ 'target_name': 'breakpad_host', |
+ 'type': 'static_library', |
+ 'dependencies': [ |
+ 'crash_component', |
+ '../base/base.gyp:base', |
+ '../breakpad/breakpad.gyp:breakpad_client', |
+ '../content/content.gyp:content_browser', |
+ '../content/content.gyp:content_common', |
], |
- }], |
+ 'sources': [ |
+ 'crash/content/browser/crash_dump_manager_android.cc', |
+ 'crash/content/browser/crash_dump_manager_android.h', |
+ 'crash/content/browser/crash_handler_host_linux.cc', |
+ 'crash/content/browser/crash_handler_host_linux.h', |
+ ], |
+ 'include_dirs': [ |
+ '../breakpad/src', |
+ ], |
+ 'target_conditions': [ |
+ # Need 'target_conditions' to override default filename_rules to include |
+ # the files on Android. |
+ ['OS=="android"', { |
+ 'sources/': [ |
+ ['include', '^crash/content/browser/crash_handler_host_linux\\.cc$'], |
+ ], |
+ }], |
+ ], |
+ }, |
], |
- }, |
+ }], |
], |
}], |
], |