# Copyright (c) 2011 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. { 'includes': [ 'breakpad_sender.gypi', 'breakpad_handler.gypi', ], 'conditions': [ [ 'OS=="mac"', { 'target_defaults': { 'include_dirs': [ 'src', ], 'configurations': { 'Debug_Base': { 'defines': [ # This is needed for GTMLogger to work correctly. 'DEBUG', ], }, }, }, 'targets': [ { 'target_name': 'breakpad_utilities', 'type': '<(library)', 'sources': [ 'src/common/convert_UTF.c', 'src/client/mac/handler/breakpad_nlist_64.cc', 'src/client/mac/handler/dynamic_images.cc', 'src/common/mac/file_id.cc', 'src/common/mac/MachIPC.mm', 'src/common/mac/macho_id.cc', 'src/common/mac/macho_utilities.cc', 'src/common/mac/macho_walker.cc', 'src/client/minidump_file_writer.cc', 'src/client/mac/handler/minidump_generator.cc', 'src/common/mac/SimpleStringDictionary.mm', 'src/common/string_conversion.cc', 'src/common/mac/string_utilities.cc', ], 'link_settings': { 'libraries': ['$(SDKROOT)/usr/lib/libcrypto.dylib'], } }, { 'target_name': 'crash_inspector', 'type': 'executable', 'variables': { 'mac_real_dsym': 1, }, 'dependencies': [ 'breakpad_utilities', ], 'include_dirs': [ 'src/common/mac', ], 'sources': [ 'src/client/mac/crash_generation/Inspector.mm', 'src/client/mac/crash_generation/InspectorMain.mm', ], 'link_settings': { 'libraries': [ '$(SDKROOT)/System/Library/Frameworks/Foundation.framework', ], } }, { 'target_name': 'crash_report_sender', 'type': 'executable', 'mac_bundle': 1, 'variables': { 'mac_real_dsym': 1, }, 'include_dirs': [ 'src/common/mac', ], 'sources': [ 'src/common/mac/HTTPMultipartUpload.m', 'src/client/mac/sender/crash_report_sender.m', 'src/common/mac/GTMLogger.m', ], 'mac_bundle_resources': [ 'src/client/mac/sender/English.lproj/Localizable.strings', 'src/client/mac/sender/crash_report_sender.icns', 'src/client/mac/sender/Breakpad.xib', 'src/client/mac/sender/crash_report_sender-Info.plist', ], 'mac_bundle_resources!': [ 'src/client/mac/sender/crash_report_sender-Info.plist', ], 'xcode_settings': { 'INFOPLIST_FILE': 'src/client/mac/sender/crash_report_sender-Info.plist', }, 'link_settings': { 'libraries': [ '$(SDKROOT)/System/Library/Frameworks/AppKit.framework', '$(SDKROOT)/System/Library/Frameworks/Foundation.framework', '$(SDKROOT)/System/Library/Frameworks/SystemConfiguration.framework', ], } }, { 'target_name': 'dump_syms', 'type': 'executable', 'include_dirs': [ 'src/common/mac', ], 'sources': [ 'src/common/dwarf/dwarf2diehandler.cc', 'src/common/dwarf/dwarf2reader.cc', 'src/common/dwarf/bytereader.cc', 'src/common/dwarf_cfi_to_module.cc', 'src/common/dwarf_cu_to_module.cc', 'src/common/dwarf_line_to_module.cc', 'src/common/language.cc', 'src/common/module.cc', 'src/common/mac/dump_syms.mm', 'src/common/mac/file_id.cc', 'src/common/mac/macho_id.cc', 'src/common/mac/macho_reader.cc', 'src/common/mac/macho_utilities.cc', 'src/common/mac/macho_walker.cc', 'src/common/stabs_reader.cc', 'src/common/stabs_to_module.cc', 'src/tools/mac/dump_syms/dump_syms_tool.mm', ], 'defines': [ # For src/common/stabs_reader.h. 'HAVE_MACH_O_NLIST_H', ], 'xcode_settings': { # The DWARF utilities require -funsigned-char. 'GCC_CHAR_IS_UNSIGNED_CHAR': 'YES', # dwarf2reader.cc uses dynamic_cast. 'GCC_ENABLE_CPP_RTTI': 'YES', }, 'link_settings': { 'libraries': [ '$(SDKROOT)/System/Library/Frameworks/Foundation.framework', '$(SDKROOT)/usr/lib/libcrypto.dylib', ], }, 'configurations': { 'Release_Base': { 'xcode_settings': { # dump_syms crashes when built at -O1, -O2, and -O3. It does # not crash at -Os. To play it safe, dump_syms is always built # at -O0 until this can be sorted out. # http://code.google.com/p/google-breakpad/issues/detail?id=329 'GCC_OPTIMIZATION_LEVEL': '0', # -O0 }, }, }, }, { 'target_name': 'symupload', 'type': 'executable', 'include_dirs': [ 'src/common/mac', ], 'sources': [ 'src/common/mac/HTTPMultipartUpload.m', 'src/tools/mac/symupload/symupload.m', ], 'link_settings': { 'libraries': [ '$(SDKROOT)/System/Library/Frameworks/Foundation.framework', ], } }, { 'target_name': 'breakpad', 'type': '<(library)', 'dependencies': [ 'breakpad_utilities', 'crash_inspector', 'crash_report_sender', ], 'sources': [ 'src/client/mac/crash_generation/crash_generation_client.cc', 'src/client/mac/crash_generation/crash_generation_client.h', 'src/client/mac/handler/protected_memory_allocator.cc', 'src/client/mac/handler/exception_handler.cc', 'src/client/mac/Framework/Breakpad.mm', 'src/client/mac/Framework/OnDemandServer.mm', ], }, ], }], [ 'OS=="linux"', { 'conditions': [ # Tools needed for archiving build symbols. ['linux_breakpad==1', { 'targets': [ { 'target_name': 'symupload', 'type': 'executable', # This uses the system libcurl, so don't use the default 32-bit # compile flags when building on a 64-bit machine. 'variables': { 'host_arch': '