OLD | NEW |
1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 { | 5 { |
6 'targets': [ | 6 'targets': [ |
7 { | 7 { |
8 'target_name': 'crash_component_lib', | 8 'target_name': 'crash_component_lib', |
9 'type': 'static_library', | 9 'type': 'static_library', |
10 'sources': [ | 10 'sources': [ |
11 'crash/app/crash_keys_win.cc', | 11 'crash/app/crash_keys_win.cc', |
12 'crash/app/crash_keys_win.h', | 12 'crash/app/crash_keys_win.h', |
13 'crash/app/crash_reporter_client.cc', | 13 'crash/app/crash_reporter_client.cc', |
14 'crash/app/crash_reporter_client.h', | 14 'crash/app/crash_reporter_client.h', |
15 ], | 15 ], |
16 'include_dirs': [ | 16 'include_dirs': [ |
17 '..', | 17 '..', |
18 '../breakpad/src', | 18 '../breakpad/src', |
19 ], | 19 ], |
20 }, | 20 }, |
21 { | 21 { |
| 22 # TODO(mark): https://crbug.com/466890: merge this target with |
| 23 # crash_component. |
| 24 # |
| 25 # This is a temporary base target that is depended on by both |
| 26 # crash_component and crash_component_breakpad_mac_to_be_deleted. It |
| 27 # provides everything common to both of those targets. For a short period, |
| 28 # there are two Mac crash component implementations. The new one uses a |
| 29 # Crashpad implementation and is used by Chrome. The old one uses a |
| 30 # Breakpad implementation and is used by content_shell. Consumers should |
| 31 # depend on the desired target. All three targets behave identically on |
| 32 # non-Mac. When content_shell and any other consumers are migrated to the |
| 33 # Crashpad implementation on Mac, crash_component will merge back into |
| 34 # this target, crash_component_non_mac, which will be renamed |
| 35 # crash_component. crash_component_breakpad_mac_to_be_deleted will be |
| 36 # deleted. |
| 37 # |
| 38 # While this situation exists: |
| 39 # |
| 40 # Do not depend on this target directly! Depend on |
| 41 # crash_component_breakpad_mac_to_be_deleted for old Breakpad behavior on |
| 42 # all platforms, or preferably, depend on crash_component to get Breakpad |
| 43 # everywhere except for Mac, where you will get Crashpad. |
| 44 'target_name': 'crash_component_non_mac', |
22 'variables': { | 45 'variables': { |
23 'conditions': [ | 46 'conditions': [ |
24 ['OS == "ios" ', { | 47 ['OS == "ios" or OS == "mac"', { |
25 # On IOS there are no files compiled into the library, and we | 48 # On IOS there are no files compiled into the library, and we |
26 # can't have libraries with zero objects. | 49 # can't have libraries with zero objects. |
| 50 # For now, the same applies to Mac OS X, until this target merges |
| 51 # with crash_component. |
27 'crash_component_target_type%': 'none', | 52 'crash_component_target_type%': 'none', |
28 }, { | 53 }, { |
29 'crash_component_target_type%': 'static_library', | 54 'crash_component_target_type%': 'static_library', |
30 }], | 55 }], |
31 ], | 56 ], |
32 }, | 57 }, |
33 # Note: if you depend on this target, you need to either link in | |
34 # content.gyp:content_common, or add | |
35 # content/public/common/content_switches.cc to your sources. | |
36 # | |
37 # GN version: //components/crash/app | |
38 'target_name': 'crash_component', | |
39 'type': '<(crash_component_target_type)', | 58 'type': '<(crash_component_target_type)', |
40 'sources': [ | 59 'sources': [ |
41 'crash/app/breakpad_linux.cc', | 60 'crash/app/breakpad_linux.cc', |
42 'crash/app/breakpad_linux.h', | 61 'crash/app/breakpad_linux.h', |
43 'crash/app/breakpad_linux_impl.h', | 62 'crash/app/breakpad_linux_impl.h', |
44 'crash/app/breakpad_mac.h', | |
45 'crash/app/breakpad_mac.mm', | |
46 'crash/app/breakpad_win.cc', | 63 'crash/app/breakpad_win.cc', |
47 'crash/app/breakpad_win.h', | 64 'crash/app/breakpad_win.h', |
48 'crash/app/hard_error_handler_win.cc', | 65 'crash/app/hard_error_handler_win.cc', |
49 'crash/app/hard_error_handler_win.h', | 66 'crash/app/hard_error_handler_win.h', |
50 ], | 67 ], |
51 'dependencies': [ | 68 'dependencies': [ |
52 'crash_component_lib', | 69 'crash_component_lib', |
53 '../base/base.gyp:base', | 70 '../base/base.gyp:base', |
54 ], | 71 ], |
55 'defines': ['CRASH_IMPLEMENTATION'], | 72 'defines': ['CRASH_IMPLEMENTATION'], |
56 'conditions': [ | 73 'conditions': [ |
57 ['OS=="mac"', { | |
58 'dependencies': [ | |
59 '../breakpad/breakpad.gyp:breakpad', | |
60 ], | |
61 }], | |
62 ['OS=="win"', { | 74 ['OS=="win"', { |
63 'dependencies': [ | 75 'dependencies': [ |
64 '../breakpad/breakpad.gyp:breakpad_handler', | 76 '../breakpad/breakpad.gyp:breakpad_handler', |
65 '../breakpad/breakpad.gyp:breakpad_sender', | 77 '../breakpad/breakpad.gyp:breakpad_sender', |
66 '../sandbox/sandbox.gyp:sandbox', | 78 '../sandbox/sandbox.gyp:sandbox', |
67 ], | 79 ], |
68 }], | 80 }], |
69 ['os_posix == 1 and OS != "mac" and OS != "ios" and android_webview_buil
d != 1', { | 81 ['os_posix == 1 and OS != "mac" and OS != "ios" and android_webview_buil
d != 1', { |
70 'dependencies': [ | 82 'dependencies': [ |
71 '../breakpad/breakpad.gyp:breakpad_client', | 83 '../breakpad/breakpad.gyp:breakpad_client', |
72 ], | 84 ], |
73 'include_dirs': [ | 85 'include_dirs': [ |
74 '../breakpad/src', | 86 '../breakpad/src', |
75 ], | 87 ], |
76 }], | 88 }], |
77 ], | 89 ], |
78 'target_conditions': [ | 90 'target_conditions': [ |
79 # Need 'target_conditions' to override default filename_rules to include | 91 # Need 'target_conditions' to override default filename_rules to include |
80 # the files on Android. | 92 # the files on Android. |
81 ['OS=="android"', { | 93 ['OS=="android"', { |
82 'sources/': [ | 94 'sources/': [ |
83 ['include', '^crash/app/breakpad_linux\\.cc$'], | 95 ['include', '^crash/app/breakpad_linux\\.cc$'], |
84 ], | 96 ], |
85 }], | 97 }], |
86 ], | 98 ], |
87 }, | 99 }, |
88 { | 100 { |
| 101 # Note: if you depend on this target, you need to either link in |
| 102 # content.gyp:content_common, or add |
| 103 # content/public/common/content_switches.cc to your sources. |
| 104 # |
| 105 # GN version: //components/crash/app |
| 106 |
| 107 # TODO(mark): https://crbug.com/466890: merge this target with |
| 108 # crash_component_non_mac. |
| 109 # |
| 110 # Most of this target is actually in its dependency, |
| 111 # crash_component_non_mac. See the comment in that target for an |
| 112 # explanation for the split. The split is temporary and the two targets |
| 113 # will be unified again soon. |
| 114 'target_name': 'crash_component', |
| 115 'variables': { |
| 116 'conditions': [ |
| 117 ['OS != "mac" ', { |
| 118 # There are no source files on any platform but Mac OS X. |
| 119 'crash_component_target_type%': 'none', |
| 120 }, { |
| 121 'crash_component_target_type%': 'static_library', |
| 122 }], |
| 123 ], |
| 124 }, |
| 125 'type': '<(crash_component_target_type)', |
| 126 'sources': [ |
| 127 'crash/app/crashpad_mac.h', |
| 128 'crash/app/crashpad_mac.mm', |
| 129 ], |
| 130 'dependencies': [ |
| 131 'crash_component_non_mac', |
| 132 'crash_component_lib', |
| 133 '../base/base.gyp:base', |
| 134 ], |
| 135 'defines': ['CRASH_IMPLEMENTATION'], |
| 136 'conditions': [ |
| 137 ['OS=="mac"', { |
| 138 'dependencies': [ |
| 139 '../third_party/crashpad/crashpad/client/client.gyp:crashpad_client'
, |
| 140 ], |
| 141 }], |
| 142 ], |
| 143 }, |
| 144 { |
| 145 # TODO(mark): https://crbug.com/466890: remove this target. |
| 146 # |
| 147 # This is a temporary target provided for Mac Breakpad users that have not |
| 148 # yet migrated to Crashpad (namely content_shell). This target will be |
| 149 # removed shortly and all consumers will be expected to use Crashpad as |
| 150 # the Mac crash-reporting client. See the comment in the |
| 151 # crash_component_non_mac target for more details. |
| 152 'target_name': 'crash_component_breakpad_mac_to_be_deleted', |
| 153 'variables': { |
| 154 'conditions': [ |
| 155 ['OS != "mac" ', { |
| 156 # There are no source files on any platform but Mac OS X. |
| 157 'crash_component_target_type%': 'none', |
| 158 }, { |
| 159 'crash_component_target_type%': 'static_library', |
| 160 }], |
| 161 ], |
| 162 }, |
| 163 'type': '<(crash_component_target_type)', |
| 164 'sources': [ |
| 165 'crash/app/breakpad_mac.h', |
| 166 'crash/app/breakpad_mac.mm', |
| 167 ], |
| 168 'dependencies': [ |
| 169 'crash_component_non_mac', |
| 170 'crash_component_lib', |
| 171 ], |
| 172 'defines': ['CRASH_IMPLEMENTATION'], |
| 173 'conditions': [ |
| 174 ['OS=="mac"', { |
| 175 'dependencies': [ |
| 176 '../breakpad/breakpad.gyp:breakpad', |
| 177 ], |
| 178 'include_dirs': [ |
| 179 '..', |
| 180 ], |
| 181 }], |
| 182 ], |
| 183 }, |
| 184 { |
89 # GN version: //components/crash/app:test_support | 185 # GN version: //components/crash/app:test_support |
90 'target_name': 'crash_test_support', | 186 'target_name': 'crash_test_support', |
91 'type': 'none', | 187 'type': 'none', |
92 'dependencies': [ | 188 'dependencies': [ |
93 'crash_component_lib', | 189 'crash_component_lib', |
94 ], | 190 ], |
95 'direct_dependent_settings': { | 191 'direct_dependent_settings': { |
96 'include_dirs' : [ | 192 'include_dirs' : [ |
97 '../breakpad/src', | 193 '../breakpad/src', |
98 ], | 194 ], |
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
224 'sources/': [ | 320 'sources/': [ |
225 ['include', '^crash/browser/crash_handler_host_linux\\.cc$'], | 321 ['include', '^crash/browser/crash_handler_host_linux\\.cc$'], |
226 ], | 322 ], |
227 }], | 323 }], |
228 ], | 324 ], |
229 }, | 325 }, |
230 ], | 326 ], |
231 }], | 327 }], |
232 ], | 328 ], |
233 } | 329 } |
OLD | NEW |