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. 4 5{ 6 'targets': [ 7 { 8 'target_name': 'crash_component_lib', 9 'type': 'static_library', 10 'sources': [ 11 'crash/app/crash_reporter_client.cc', 12 'crash/app/crash_reporter_client.h', 13 'crash/app/crash_keys_win.cc', 14 'crash/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 'crash_component_target_type%': 'none', 28 }, { 29 'crash_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/crash/app 38 'target_name': 'crash_component', 39 'type': '<(crash_component_target_type)', 40 'sources': [ 41 'crash/app/breakpad_linux.cc', 42 'crash/app/breakpad_linux.h', 43 'crash/app/breakpad_linux_impl.h', 44 'crash/app/breakpad_mac.h', 45 'crash/app/breakpad_mac.mm', 46 'crash/app/breakpad_win.cc', 47 'crash/app/breakpad_win.h', 48 'crash/app/hard_error_handler_win.cc', 49 'crash/app/hard_error_handler_win.h', 50 ], 51 'dependencies': [ 52 'crash_component_lib', 53 '../base/base.gyp:base', 54 ], 55 'defines': ['CRASH_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', '^crash/app/breakpad_linux\\.cc$'], 84 ], 85 }], 86 ], 87 }, 88 { 89 # GN version: //components/crash/app:test_support 90 'target_name': 'crash_test_support', 91 'type': 'none', 92 'dependencies': [ 93 'crash_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/crash/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 'crash/tools/crash_service.cc', 116 'crash/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 'crash/app/crash_reporter_client.cc', 131 'crash/app/crash_reporter_client.h', 132 'crash/app/breakpad_linux.cc', 133 'crash/app/breakpad_linux.h', 134 'crash/app/breakpad_linux_impl.h', 135 'crash/app/breakpad_mac.h', 136 'crash/app/breakpad_mac.mm', 137 'crash/app/breakpad_win.cc', 138 'crash/app/breakpad_win.h', 139 # TODO(siggi): test the x64 version too. 140 'crash/app/crash_keys_win.cc', 141 'crash/app/crash_keys_win.h', 142 'crash/app/hard_error_handler_win.cc', 143 'crash/app/hard_error_handler_win.h', 144 ], 145 'defines': [ 146 'COMPILE_CONTENT_STATICALLY', 147 'CRASH_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 'crash/tools/crash_service.cc', 171 'crash/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 'crash/app/crash_reporter_client.cc', 191 'crash/app/crash_reporter_client.h', 192 'crash/app/breakpad_mac.h', 193 'crash/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/crash/browser 202 'target_name': 'breakpad_host', 203 'type': 'static_library', 204 'dependencies': [ 205 'crash_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 'crash/browser/crash_dump_manager_android.cc', 213 'crash/browser/crash_dump_manager_android.h', 214 'crash/browser/crash_handler_host_linux.cc', 215 'crash/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', '^crash/browser/crash_handler_host_linux\\.cc$'], 226 ], 227 }], 228 ], 229 }, 230 ], 231 }], 232 ], 233} 234