Roll ANGLE bc75f36:ef9d63e
[chromium-blink-merge.git] / components / breakpad.gypi
blobcd13889f2d443b0085177cd81812f26b75b1a7a6
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
3 # found in the LICENSE file.
6   'targets': [
7     {
8       'target_name': 'breakpad_component_lib',
9       'type': 'static_library',
10       'sources': [
11         'breakpad/app/breakpad_client.cc',
12         'breakpad/app/breakpad_client.h',
13         'breakpad/app/crash_keys_win.cc',
14         'breakpad/app/crash_keys_win.h',
15       ],
16       'include_dirs': [
17         '..',
18         '../breakpad/src',
19       ],
20     },
21     {
22       'variables': {
23         'conditions': [
24           ['OS == "ios" ', {
25             # On IOS there are no files compiled into the library, and we
26             # can't have libraries with zero objects.
27             'breakpad_component_target_type%': 'none',
28           }, {
29             'breakpad_component_target_type%': 'static_library',
30           }],
31         ],
32       },
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/breakpad/app
38       'target_name': 'breakpad_component',
39       'type': '<(breakpad_component_target_type)',
40       'sources': [
41         'breakpad/app/breakpad_linux.cc',
42         'breakpad/app/breakpad_linux.h',
43         'breakpad/app/breakpad_linux_impl.h',
44         'breakpad/app/breakpad_mac.h',
45         'breakpad/app/breakpad_mac.mm',
46         'breakpad/app/breakpad_win.cc',
47         'breakpad/app/breakpad_win.h',
48         'breakpad/app/hard_error_handler_win.cc',
49         'breakpad/app/hard_error_handler_win.h',
50       ],
51       'dependencies': [
52         'breakpad_component_lib',
53         '../base/base.gyp:base',
54       ],
55       'defines': ['BREAKPAD_IMPLEMENTATION'],
56       'conditions': [
57         ['OS=="mac"', {
58           'dependencies': [
59             '../breakpad/breakpad.gyp:breakpad',
60           ],
61         }],
62         ['OS=="win"', {
63           'dependencies': [
64             '../breakpad/breakpad.gyp:breakpad_handler',
65             '../breakpad/breakpad.gyp:breakpad_sender',
66             '../sandbox/sandbox.gyp:sandbox',
67           ],
68         }],
69         ['os_posix == 1 and OS != "mac" and OS != "ios" and android_webview_build != 1', {
70           'dependencies': [
71             '../breakpad/breakpad.gyp:breakpad_client',
72           ],
73           'include_dirs': [
74             '../breakpad/src',
75           ],
76         }],
77       ],
78       'target_conditions': [
79         # Need 'target_conditions' to override default filename_rules to include
80         # the files on Android.
81         ['OS=="android"', {
82           'sources/': [
83             ['include', '^breakpad/app/breakpad_linux\\.cc$'],
84           ],
85         }],
86       ],
87     },
88     {
89       # GN version: //components/breakpad/app:test_support
90       'target_name': 'breakpad_test_support',
91       'type': 'none',
92       'dependencies': [
93         'breakpad_component_lib',
94       ],
95       'direct_dependent_settings': {
96         'include_dirs' : [
97           '../breakpad/src',
98         ],
99       }
100     },
101   ],
102   'conditions': [
103     ['OS=="win"', {
104       'targets': [
105         {
106           # GN version: //components/breakpad/tools:crash_service
107           'target_name': 'breakpad_crash_service',
108           'type': 'static_library',
109           'dependencies': [
110             '../base/base.gyp:base',
111             '../breakpad/breakpad.gyp:breakpad_handler',
112             '../breakpad/breakpad.gyp:breakpad_sender',
113           ],
114           'sources': [
115             'breakpad/tools/crash_service.cc',
116             'breakpad/tools/crash_service.h',
117           ],
118         },
119       ],
120     }],
121     ['OS=="win" and target_arch=="ia32"', {
122       'targets': [
123         {
124           # Note: if you depend on this target, you need to either link in
125           # content.gyp:content_common, or add
126           # content/public/common/content_switches.cc to your sources.
127           'target_name': 'breakpad_win64',
128           'type': 'static_library',
129           'sources': [
130             'breakpad/app/breakpad_client.cc',
131             'breakpad/app/breakpad_client.h',
132             'breakpad/app/breakpad_linux.cc',
133             'breakpad/app/breakpad_linux.h',
134             'breakpad/app/breakpad_linux_impl.h',
135             'breakpad/app/breakpad_mac.h',
136             'breakpad/app/breakpad_mac.mm',
137             'breakpad/app/breakpad_win.cc',
138             'breakpad/app/breakpad_win.h',
139             # TODO(siggi): test the x64 version too.
140             'breakpad/app/crash_keys_win.cc',
141             'breakpad/app/crash_keys_win.h',
142             'breakpad/app/hard_error_handler_win.cc',
143             'breakpad/app/hard_error_handler_win.h',
144           ],
145           'defines': [
146             'COMPILE_CONTENT_STATICALLY',
147             'BREAKPAD_IMPLEMENTATION',
148           ],
149           'dependencies': [
150             '../base/base.gyp:base_win64',
151             '../breakpad/breakpad.gyp:breakpad_handler_win64',
152             '../breakpad/breakpad.gyp:breakpad_sender_win64',
153             '../sandbox/sandbox.gyp:sandbox_win64',
154           ],
155           'configurations': {
156             'Common_Base': {
157               'msvs_target_platform': 'x64',
158             },
159           },
160         },
161         {
162           'target_name': 'breakpad_crash_service_win64',
163           'type': 'static_library',
164           'dependencies': [
165             '../base/base.gyp:base_win64',
166             '../breakpad/breakpad.gyp:breakpad_handler_win64',
167             '../breakpad/breakpad.gyp:breakpad_sender_win64',
168           ],
169           'sources': [
170             'breakpad/tools/crash_service.cc',
171             'breakpad/tools/crash_service.h',
172           ],
173           'configurations': {
174             'Common_Base': {
175               'msvs_target_platform': 'x64',
176             },
177           },
178         },
179       ],
180     }],
181     ['OS=="mac"', {
182       'targets': [
183         {
184           'target_name': 'breakpad_stubs',
185           'type': 'static_library',
186           'dependencies': [
187             '../base/base.gyp:base',
188           ],
189           'sources': [
190             'breakpad/app/breakpad_client.cc',
191             'breakpad/app/breakpad_client.h',
192             'breakpad/app/breakpad_mac.h',
193             'breakpad/app/breakpad_mac_stubs.mm',
194           ],
195         },
196       ],
197     }],
198     ['os_posix == 1 and OS != "mac" and OS != "ios" and android_webview_build != 1', {
199       'targets': [
200         {
201           # GN version: //components/breakpad/browser
202           'target_name': 'breakpad_host',
203           'type': 'static_library',
204           'dependencies': [
205             'breakpad_component',
206             '../base/base.gyp:base',
207             '../breakpad/breakpad.gyp:breakpad_client',
208             '../content/content.gyp:content_browser',
209             '../content/content.gyp:content_common',
210           ],
211           'sources': [
212             'breakpad/browser/crash_dump_manager_android.cc',
213             'breakpad/browser/crash_dump_manager_android.h',
214             'breakpad/browser/crash_handler_host_linux.cc',
215             'breakpad/browser/crash_handler_host_linux.h',
216           ],
217           'include_dirs': [
218             '../breakpad/src',
219           ],
220           'target_conditions': [
221             # Need 'target_conditions' to override default filename_rules to include
222             # the files on Android.
223             ['OS=="android"', {
224               'sources/': [
225                 ['include', '^breakpad/browser/crash_handler_host_linux\\.cc$'],
226               ],
227             }],
228           ],
229         },
230       ],
231     }],
232   ],