OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 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 if (is_android) { | 5 if (is_android) { |
6 import("//build/config/android/config.gni") | 6 import("//build/config/android/config.gni") |
7 } | 7 } |
8 | 8 |
9 source_set("lib") { | 9 source_set("lib") { |
10 sources = [ | 10 sources = [ |
(...skipping 10 matching lines...) Expand all Loading... |
21 ] | 21 ] |
22 | 22 |
23 if (is_win) { | 23 if (is_win) { |
24 deps += [ "//breakpad:breakpad_handler" ] | 24 deps += [ "//breakpad:breakpad_handler" ] |
25 } | 25 } |
26 } | 26 } |
27 | 27 |
28 # GYP version: components/crash.gypi:crash_component | 28 # GYP version: components/crash.gypi:crash_component |
29 source_set("app") { | 29 source_set("app") { |
30 sources = [ | 30 sources = [ |
31 "crashpad.h", | 31 "crashpad_mac.h", |
32 "crashpad_mac.mm", | 32 "crashpad_mac.mm", |
33 "crashpad_win.cc", | |
34 ] | 33 ] |
35 | 34 |
36 if (is_mac || is_win) { | |
37 sources += [ "crashpad.cc" ] | |
38 } | |
39 | |
40 defines = [ "CRASH_IMPLEMENTATION" ] | 35 defines = [ "CRASH_IMPLEMENTATION" ] |
41 | 36 |
42 public_deps = [ | 37 public_deps = [ |
43 ":app_non_mac_win", | 38 ":app_non_mac", |
44 ] | 39 ] |
45 deps = [ | 40 deps = [ |
46 "//base", | 41 "//base", |
47 ] | 42 ] |
48 | 43 |
49 deps += [ ":lib" ] | 44 if (is_mac) { |
50 if (is_mac || is_win) { | 45 deps += [ |
51 deps += [ "//third_party/crashpad/crashpad/client" ] | 46 ":lib", |
| 47 "//third_party/crashpad/crashpad/client", |
| 48 ] |
52 } | 49 } |
53 } | 50 } |
54 | 51 |
55 # TODO(mark): https://crbug.com/466890: merge this target with | 52 # TODO(mark): https://crbug.com/466890: merge this target with |
56 # crash_component. | 53 # crash_component. |
57 # | 54 # |
58 # This is a temporary base target that is depended on by both | 55 # This is a temporary base target that is depended on by both |
59 # crash_component and crash_component_breakpad_mac_to_be_deleted. It | 56 # crash_component and crash_component_breakpad_mac_to_be_deleted. It |
60 # provides everything common to both of those targets. For a short period, | 57 # provides everything common to both of those targets. For a short period, |
61 # there are two Mac crash component implementations. The new one uses a | 58 # there are two Mac crash component implementations. The new one uses a |
62 # Crashpad implementation and is used by Chrome. The old one uses a | 59 # Crashpad implementation and is used by Chrome. The old one uses a |
63 # Breakpad implementation and is used by content_shell. Consumers should | 60 # Breakpad implementation and is used by content_shell. Consumers should |
64 # depend on the desired target. All three targets behave identically on | 61 # depend on the desired target. All three targets behave identically on |
65 # non-Mac. When content_shell and any other consumers are migrated to the | 62 # non-Mac. When content_shell and any other consumers are migrated to the |
66 # Crashpad implementation on Mac, crash_component will merge back into | 63 # Crashpad implementation on Mac, crash_component will merge back into |
67 # this target, crash_component_non_mac, which will be renamed | 64 # this target, crash_component_non_mac, which will be renamed |
68 # crash_component. crash_component_breakpad_mac_to_be_deleted will be | 65 # crash_component. crash_component_breakpad_mac_to_be_deleted will be |
69 # deleted. | 66 # deleted. |
70 # | 67 # |
71 # While this situation exists: | 68 # While this situation exists: |
72 # | 69 # |
73 # Do not depend on this target directly! Depend on | 70 # Do not depend on this target directly! Depend on |
74 # crash_component_breakpad_mac_to_be_deleted for old Breakpad behavior on | 71 # crash_component_breakpad_mac_to_be_deleted for old Breakpad behavior on |
75 # all platforms, or preferably, depend on crash_component to get Breakpad | 72 # all platforms, or preferably, depend on crash_component to get Breakpad |
76 # everywhere except for Mac, where you will get Crashpad. | 73 # everywhere except for Mac, where you will get Crashpad. |
77 source_set("app_non_mac_win") { | 74 source_set("app_non_mac") { |
78 visibility = [ | 75 visibility = [ |
79 ":*", | 76 ":*", |
80 "//components/crash/content/browser", | 77 "//components/crash/content/browser", |
81 ] | 78 ] |
82 | 79 |
83 sources = [ | 80 sources = [ |
84 "breakpad_linux_impl.h", | 81 "breakpad_linux_impl.h", |
| 82 "breakpad_win.cc", |
| 83 "breakpad_win.h", |
85 "hard_error_handler_win.cc", | 84 "hard_error_handler_win.cc", |
86 "hard_error_handler_win.h", | 85 "hard_error_handler_win.h", |
87 ] | 86 ] |
88 | 87 |
89 if (is_android) { | 88 if (is_android) { |
90 libs = [ "log" ] | 89 libs = [ "log" ] |
91 } | 90 } |
92 | 91 |
93 if (is_android || is_linux) { | 92 if (is_android || is_linux) { |
94 # Want these files on both Linux and Android. | 93 # Want these files on both Linux and Android. |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
126 } | 125 } |
127 } | 126 } |
128 | 127 |
129 # TODO(mark): https://crbug.com/466890: remove this target. | 128 # TODO(mark): https://crbug.com/466890: remove this target. |
130 # | 129 # |
131 # This is a temporary target provided for Mac Breakpad users that have not | 130 # This is a temporary target provided for Mac Breakpad users that have not |
132 # yet migrated to Crashpad (namely content_shell). This target will be | 131 # yet migrated to Crashpad (namely content_shell). This target will be |
133 # removed shortly and all consumers will be expected to use Crashpad as | 132 # removed shortly and all consumers will be expected to use Crashpad as |
134 # the Mac crash-reporting client. See the comment in the | 133 # the Mac crash-reporting client. See the comment in the |
135 # crash_component_non_mac target for more details. | 134 # crash_component_non_mac target for more details. |
136 source_set("app_breakpad_mac_win_to_be_deleted") { | 135 source_set("app_breakpad_mac_to_be_deleted") { |
137 deps = [ | 136 deps = [ |
138 ":app_non_mac_win", | 137 ":app_non_mac", |
139 ] | 138 ] |
140 | 139 |
141 if (is_mac || is_win) { | 140 if (is_mac) { |
142 sources = [ | 141 sources = [ |
143 "breakpad_mac.h", | 142 "breakpad_mac.h", |
144 "breakpad_mac.mm", | 143 "breakpad_mac.mm", |
145 "breakpad_win.cc", | |
146 "breakpad_win.h", | |
147 ] | 144 ] |
148 | 145 |
149 defines = [ "CRASH_IMPLEMENTATION" ] | 146 defines = [ "CRASH_IMPLEMENTATION" ] |
150 | 147 |
151 deps += [ | 148 deps += [ |
152 ":lib", | 149 ":lib", |
153 "//base", | 150 "//base", |
154 "//base:base_static", | 151 "//base:base_static", |
| 152 "//breakpad", |
155 "//breakpad:client", | 153 "//breakpad:client", |
156 "//components/crash/core/common", | 154 "//components/crash/core/common", |
157 "//content/public/common:result_codes", | |
158 "//sandbox", | |
159 ] | 155 ] |
160 | |
161 if (is_mac) { | |
162 deps += [ "//breakpad" ] | |
163 } | |
164 | |
165 if (is_win) { | |
166 deps += [ "//breakpad:breakpad_handler" ] | |
167 } | |
168 } | 156 } |
169 } | 157 } |
OLD | NEW |