[GCM] Add ConnectionListener support, and hook up to debug page
[chromium-blink-merge.git] / components / breakpad.gypi
blob9dcf912411cd285612ee9bda0d8795088e85f39d
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   'target_defaults': {
7     'variables': {
8       'breakpad_component_target': 0,
9     },
10     'target_conditions': [
11       ['breakpad_component_target==1', {
12         'defines': ['BREAKPAD_IMPLEMENTATION'],
13         'sources': [
14           'breakpad/app/breakpad_client.cc',
15           'breakpad/app/breakpad_client.h',
16           'breakpad/app/breakpad_linux.cc',
17           'breakpad/app/breakpad_linux.h',
18           'breakpad/app/breakpad_linux_impl.h',
19           'breakpad/app/breakpad_mac.h',
20           'breakpad/app/breakpad_mac.mm',
21           'breakpad/app/breakpad_win.cc',
22           'breakpad/app/breakpad_win.h',
23           'breakpad/app/hard_error_handler_win.cc',
24           'breakpad/app/hard_error_handler_win.h',
25         ],
26       }],
27     ],
28   },
29   'targets': [
30     {
31       # Note: if you depend on this target, you need to either link in
32       # content.gyp:content_common, or add
33       # content/public/common/content_switches.cc to your sources.
34       'target_name': 'breakpad_component',
35       'type': 'static_library',
36       'variables': {
37         'breakpad_component_target': 1,
38       },
39       'dependencies': [
40         '../base/base.gyp:base',
41       ],
42       'conditions': [
43         ['OS=="mac"', {
44           'dependencies': [
45             '../breakpad/breakpad.gyp:breakpad',
46           ],
47         }],
48         ['OS=="win"', {
49           'dependencies': [
50             '../breakpad/breakpad.gyp:breakpad_handler',
51             '../breakpad/breakpad.gyp:breakpad_sender',
52             '../sandbox/sandbox.gyp:sandbox',
53           ],
54         }],
55         ['os_posix == 1 and OS != "mac" and OS != "ios" and android_webview_build != 1', {
56           'dependencies': [
57             '../breakpad/breakpad.gyp:breakpad_client',
58           ],
59           'include_dirs': [
60             '../breakpad/src',
61           ],
62         }],
63       ],
64       'target_conditions': [
65         # Need 'target_conditions' to override default filename_rules to include
66         # the files on Android.
67         ['OS=="android"', {
68           'sources/': [
69             ['include', '^breakpad/app/breakpad_linux\\.cc$'],
70           ],
71         }],
72       ],
73     },
74   ],
75   'conditions': [
76     ['OS=="win"', {
77       'targets': [
78         {
79           'target_name': 'breakpad_crash_service',
80           'type': 'static_library',
81           'dependencies': [
82             '../base/base.gyp:base',
83             '../breakpad/breakpad.gyp:breakpad_handler',
84             '../breakpad/breakpad.gyp:breakpad_sender',
85           ],
86           'sources': [
87             'breakpad/tools/crash_service.cc',
88             'breakpad/tools/crash_service.h',
89           ],
90         },
91       ],
92     }],
93     ['OS=="win" and target_arch=="ia32"', {
94       'targets': [
95         {
96           # Note: if you depend on this target, you need to either link in
97           # content.gyp:content_common, or add
98           # content/public/common/content_switches.cc to your sources.
99           'target_name': 'breakpad_win64',
100           'type': 'static_library',
101           'variables': {
102             'breakpad_component_target': 1,
103           },
104           'defines': [
105             'COMPILE_CONTENT_STATICALLY',
106           ],
107           'dependencies': [
108             '../base/base.gyp:base_win64',
109             '../breakpad/breakpad.gyp:breakpad_handler_win64',
110             '../breakpad/breakpad.gyp:breakpad_sender_win64',
111             '../sandbox/sandbox.gyp:sandbox_win64',
112           ],
113           'configurations': {
114             'Common_Base': {
115               'msvs_target_platform': 'x64',
116             },
117           },
118         },
119         {
120           'target_name': 'breakpad_crash_service_win64',
121           'type': 'static_library',
122           'dependencies': [
123             '../base/base.gyp:base_win64',
124             '../breakpad/breakpad.gyp:breakpad_handler_win64',
125             '../breakpad/breakpad.gyp:breakpad_sender_win64',
126           ],
127           'sources': [
128             'breakpad/tools/crash_service.cc',
129             'breakpad/tools/crash_service.h',
130           ],
131           'configurations': {
132             'Common_Base': {
133               'msvs_target_platform': 'x64',
134             },
135           },
136         },
137       ],
138     }],
139     ['OS=="mac"', {
140       'targets': [
141         {
142           'target_name': 'breakpad_stubs',
143           'type': 'static_library',
144           'dependencies': [
145             '../base/base.gyp:base',
146           ],
147           'sources': [
148             'breakpad/app/breakpad_client.cc',
149             'breakpad/app/breakpad_client.h',
150             'breakpad/app/breakpad_mac.h',
151             'breakpad/app/breakpad_mac_stubs.mm',
152           ],
153         },
154       ],
155     }],
156     ['os_posix == 1 and OS != "mac" and OS != "ios" and android_webview_build != 1', {
157       'targets': [
158         {
159           'target_name': 'breakpad_host',
160           'type': 'static_library',
161           'dependencies': [
162             'breakpad_component',
163             '../base/base.gyp:base',
164             '../breakpad/breakpad.gyp:breakpad_client',
165             '../content/content.gyp:content_browser',
166             '../content/content.gyp:content_common',
167           ],
168           'sources': [
169             'breakpad/browser/crash_dump_manager_android.cc',
170             'breakpad/browser/crash_dump_manager_android.h',
171             'breakpad/browser/crash_handler_host_linux.cc',
172             'breakpad/browser/crash_handler_host_linux.h',
173           ],
174           'include_dirs': [
175             '../breakpad/src',
176           ],
177           'target_conditions': [
178             # Need 'target_conditions' to override default filename_rules to include
179             # the files on Android.
180             ['OS=="android"', {
181               'sources/': [
182                 ['include', '^breakpad/browser/crash_handler_host_linux\\.cc$'],
183               ],
184             }],
185           ],
186         },
187       ],
188     }],
189   ],