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