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