summaryrefslogtreecommitdiffstats
path: root/breakpad/BUILD.gn
diff options
context:
space:
mode:
authorbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-18 20:33:07 +0000
committerbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-18 20:33:07 +0000
commit6fa82cca5a4d624a8d5e1e7f4e23529c42a08a88 (patch)
tree00be555889c781cc234ac488051cb1e2ccab5cf0 /breakpad/BUILD.gn
parent5e88ba21c1ad001c4b8bb11f1f93e32f9a09e01b (diff)
downloadchromium_src-6fa82cca5a4d624a8d5e1e7f4e23529c42a08a88.zip
chromium_src-6fa82cca5a4d624a8d5e1e7f4e23529c42a08a88.tar.gz
chromium_src-6fa82cca5a4d624a8d5e1e7f4e23529c42a08a88.tar.bz2
Add Linux breakpad targets and gtest_main to GN build.
I only tested this on Linux. Some of the other platforms still have TODOs and parts missing. We can fill these out when they're required. BUG= R=jamesr@chromium.org Review URL: https://codereview.chromium.org/339263002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@278157 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'breakpad/BUILD.gn')
-rw-r--r--breakpad/BUILD.gn639
1 files changed, 639 insertions, 0 deletions
diff --git a/breakpad/BUILD.gn b/breakpad/BUILD.gn
new file mode 100644
index 0000000..ef6a1ad
--- /dev/null
+++ b/breakpad/BUILD.gn
@@ -0,0 +1,639 @@
+# Copyright 2014 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.
+
+config("tools_config") {
+ include_dirs = [ "src", "src/third_party" ]
+ if (is_android) {
+ defines = [ "__ANDROID__" ]
+ }
+ if (is_clang) {
+ cflags = [ "-Wno-tautological-constant-out-of-range-compare" ]
+ }
+}
+
+config("internal_config") {
+ include_dirs = [ "src" ]
+ defines = []
+ if (is_debug) {
+ # This is needed for GTMLogger to work correctly.
+ defines += [ "DEBUG" ]
+ }
+ if (is_android) {
+ defines += [ "__ANDROID__" ]
+ }
+}
+
+# minidump_stackwalk and minidump_dump are tool-type executables that do
+# not build on iOS.
+if (current_toolchain == host_toolchain && !is_win) {
+ executable("minidump_stackwalk") {
+ sources = [
+ "src/processor/basic_code_module.h",
+ "src/processor/basic_code_modules.cc",
+ "src/processor/basic_code_modules.h",
+ "src/processor/basic_source_line_resolver.cc",
+ "src/processor/binarystream.cc",
+ "src/processor/binarystream.h",
+ "src/processor/call_stack.cc",
+ "src/processor/cfi_frame_info.cc",
+ "src/processor/cfi_frame_info.h",
+ "src/processor/disassembler_x86.cc",
+ "src/processor/disassembler_x86.h",
+ "src/processor/exploitability.cc",
+ "src/processor/logging.cc",
+ "src/processor/logging.h",
+ "src/processor/minidump.cc",
+ "src/processor/minidump_processor.cc",
+ "src/processor/minidump_stackwalk.cc",
+ "src/processor/pathname_stripper.cc",
+ "src/processor/pathname_stripper.h",
+ "src/processor/process_state.cc",
+ "src/processor/simple_symbol_supplier.cc",
+ "src/processor/simple_symbol_supplier.h",
+ "src/processor/source_line_resolver_base.cc",
+ "src/processor/stack_frame_cpu.cc",
+ "src/processor/stack_frame_symbolizer.cc",
+ "src/processor/stackwalker.cc",
+ "src/processor/stackwalker_amd64.cc",
+ "src/processor/stackwalker_amd64.h",
+ "src/processor/stackwalker_arm.cc",
+ "src/processor/stackwalker_arm.h",
+ "src/processor/stackwalker_arm64.cc",
+ "src/processor/stackwalker_arm64.h",
+ "src/processor/stackwalker_mips.cc",
+ "src/processor/stackwalker_mips.h",
+ "src/processor/stackwalker_ppc.cc",
+ "src/processor/stackwalker_ppc.h",
+ "src/processor/stackwalker_ppc64.cc",
+ "src/processor/stackwalker_ppc64.h",
+ "src/processor/stackwalker_sparc.cc",
+ "src/processor/stackwalker_sparc.h",
+ "src/processor/stackwalker_x86.cc",
+ "src/processor/stackwalker_x86.h",
+ "src/processor/tokenize.cc",
+ "src/processor/tokenize.h",
+ # libdisasm
+ "src/third_party/libdisasm/ia32_implicit.c",
+ "src/third_party/libdisasm/ia32_implicit.h",
+ "src/third_party/libdisasm/ia32_insn.c",
+ "src/third_party/libdisasm/ia32_insn.h",
+ "src/third_party/libdisasm/ia32_invariant.c",
+ "src/third_party/libdisasm/ia32_invariant.h",
+ "src/third_party/libdisasm/ia32_modrm.c",
+ "src/third_party/libdisasm/ia32_modrm.h",
+ "src/third_party/libdisasm/ia32_opcode_tables.c",
+ "src/third_party/libdisasm/ia32_opcode_tables.h",
+ "src/third_party/libdisasm/ia32_operand.c",
+ "src/third_party/libdisasm/ia32_operand.h",
+ "src/third_party/libdisasm/ia32_reg.c",
+ "src/third_party/libdisasm/ia32_reg.h",
+ "src/third_party/libdisasm/ia32_settings.c",
+ "src/third_party/libdisasm/ia32_settings.h",
+ "src/third_party/libdisasm/libdis.h",
+ "src/third_party/libdisasm/qword.h",
+ "src/third_party/libdisasm/x86_disasm.c",
+ "src/third_party/libdisasm/x86_format.c",
+ "src/third_party/libdisasm/x86_imm.c",
+ "src/third_party/libdisasm/x86_imm.h",
+ "src/third_party/libdisasm/x86_insn.c",
+ "src/third_party/libdisasm/x86_misc.c",
+ "src/third_party/libdisasm/x86_operand_list.c",
+ "src/third_party/libdisasm/x86_operand_list.h",
+ ]
+
+ defines = [ "BPLOG_MINIMUM_SEVERITY=SEVERITY_ERROR" ]
+
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [ "//build/config/compiler:no_chromium_code" ]
+ configs += [ ":tools_config" ]
+
+ # Always want these files included regardless of platform.
+ set_sources_assignment_filter([])
+ sources += [
+ "src/processor/exploitability_linux.cc",
+ "src/processor/exploitability_linux.h",
+ "src/processor/exploitability_win.cc",
+ "src/processor/exploitability_win.h",
+ ]
+ }
+
+ executable("minidump_dump") {
+ sources = [
+ "src/processor/basic_code_module.h",
+ "src/processor/basic_code_modules.cc",
+ "src/processor/basic_code_modules.h",
+ "src/processor/logging.cc",
+ "src/processor/logging.h",
+ "src/processor/minidump.cc",
+ "src/processor/minidump_dump.cc",
+ "src/processor/pathname_stripper.cc",
+ "src/processor/pathname_stripper.h",
+ ]
+
+ configs += [ ":tools_config" ]
+ }
+}
+
+# Mac --------------------------------------------------------------------------
+
+if (current_toolchain == host_toolchain && is_mac) {
+ # TODO(GYP) This should be only 64-bit on Mac. From .gypi:
+ # Like ld, dump_syms needs to operate on enough data that it may
+ # actually need to be able to address more than 4GB. Use x86_64.
+ # Don't worry! An x86_64 dump_syms is perfectly able to dump
+ # 32-bit files.
+ executable("dump_syms") {
+ sources = [
+ "src/common/dwarf/bytereader.cc",
+ "src/common/dwarf_cfi_to_module.cc",
+ "src/common/dwarf_cu_to_module.cc",
+ "src/common/dwarf/dwarf2diehandler.cc",
+ "src/common/dwarf/dwarf2reader.cc",
+ "src/common/dwarf_line_to_module.cc",
+ "src/common/language.cc",
+ "src/common/mac/arch_utilities.cc",
+ "src/common/mac/arch_utilities.h",
+ "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/md5.cc",
+ "src/common/module.cc",
+ "src/common/stabs_reader.cc",
+ "src/common/stabs_to_module.cc",
+ "src/tools/mac/dump_syms/dump_syms_tool.mm",
+ ]
+
+ # For src/common/stabs_reader.h.
+ defines = [ "HAVE_MACH_O_NLIST_H" ]
+ include_dirs = [ "src/common/mac" ]
+
+ # The DWARF utilities require -funsigned-char.
+ cflags = [ "-funsigned-char" ]
+
+ configs += [ ":internal_config" ]
+
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [ "//build/config/compiler:no_chromium_code" ]
+
+ # dwarf2reader.cc uses dynamic_cast.
+ configs -= [ "//build/config/compiler:no_rtti" ]
+ configs += [ "//build/config/compiler:rtti" ]
+
+ libs = [ "Foundation.framework" ]
+
+ if (!is_debug) {
+ # 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
+ configs -= [ "//build/config/compiler:optimize" ]
+ cflags += [ "-O0" ]
+ }
+ }
+
+ executable("symupload") {
+ sources = [
+ "src/common/mac/HTTPMultipartUpload.m",
+ "src/tools/mac/symupload/symupload.m",
+ ]
+
+ libs = [ "Foundaction.framework" ]
+ }
+}
+
+if (is_mac) {
+ static_library("breakpad_utilities") {
+ sources = [
+ "src/client/mac/handler/breakpad_nlist_64.cc",
+ "src/client/mac/handler/dynamic_images.cc",
+ "src/client/mac/handler/minidump_generator.cc",
+ "src/client/minidump_file_writer.cc",
+ "src/common/convert_UTF.c",
+ "src/common/mac/MachIPC.mm",
+ "src/common/mac/arch_utilities.cc",
+ "src/common/mac/bootstrap_compat.cc",
+ "src/common/mac/file_id.cc",
+ "src/common/mac/macho_id.cc",
+ "src/common/mac/macho_utilities.cc",
+ "src/common/mac/macho_walker.cc",
+ "src/common/mac/string_utilities.cc",
+ "src/common/md5.cc",
+ "src/common/simple_string_dictionary.cc",
+ "src/common/string_conversion.cc",
+ ]
+
+ configs += [ ":internal_config" ]
+ }
+
+ executable("crash_inspector") {
+ sources = [
+ "src/client/mac/crash_generation/ConfigFile.mm",
+ "src/client/mac/crash_generation/Inspector.mm",
+ "src/client/mac/crash_generation/InspectorMain.mm",
+ ]
+
+ # TODO(GYP): 'mac_real_dsym': 1,
+
+ include_dirs = [
+ "src/client/apple/Framework",
+ "src/common/mac",
+ ]
+ libs = [
+ "CoreServices.framework",
+ "Foundation.framework",
+ ]
+
+ deps = [
+ ":breakpad_utilities"
+ ]
+ }
+
+ executable("crash_report_sender") {
+ # TODO(GYP) this target has some mac_bundle_resources stuff.
+ }
+
+ config("breakpad_config") {
+ include_dirs = [ "src/client/apple/Framework" ]
+ }
+
+ static_library("breakpad") {
+ 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",
+ ]
+
+ configs += [ ":internal_config" ]
+ direct_dependent_configs = [ ":breakpad_config" ]
+
+ defines = [ "USE_PROTECTED_ALLOCATIONS=1" ]
+ include_dirs = [
+ "src/client/apple/Framework",
+ ]
+
+ deps = [
+ ":breakpad_utilities",
+ ":crash_inspector",
+ ":crash_report_sender",
+ ]
+ }
+}
+
+if (is_linux || is_android) {
+ executable("symupload") {
+ sources = [
+ "src/tools/linux/symupload/sym_upload.cc",
+ "src/common/linux/http_upload.cc",
+ "src/common/linux/http_upload.h",
+ ]
+
+ include_dirs = [
+ "src",
+ "src/third_party",
+ ]
+
+ configs += [ ":tools_config" ]
+
+ libs = [ "dl" ]
+ }
+}
+
+if (is_linux && current_toolchain == host_toolchain) {
+ executable("dump_syms") {
+ sources = [
+ "src/common/dwarf/bytereader.cc",
+ "src/common/dwarf_cfi_to_module.cc",
+ "src/common/dwarf_cfi_to_module.h",
+ "src/common/dwarf_cu_to_module.cc",
+ "src/common/dwarf_cu_to_module.h",
+ "src/common/dwarf/dwarf2diehandler.cc",
+ "src/common/dwarf/dwarf2reader.cc",
+ "src/common/dwarf_line_to_module.cc",
+ "src/common/dwarf_line_to_module.h",
+ "src/common/language.cc",
+ "src/common/language.h",
+ "src/common/linux/crc32.cc",
+ "src/common/linux/crc32.h",
+ "src/common/linux/dump_symbols.cc",
+ "src/common/linux/dump_symbols.h",
+ "src/common/linux/elf_symbols_to_module.cc",
+ "src/common/linux/elf_symbols_to_module.h",
+ "src/common/linux/elfutils.cc",
+ "src/common/linux/elfutils.h",
+ "src/common/linux/file_id.cc",
+ "src/common/linux/file_id.h",
+ "src/common/linux/linux_libc_support.cc",
+ "src/common/linux/linux_libc_support.h",
+ "src/common/linux/memory_mapped_file.cc",
+ "src/common/linux/memory_mapped_file.h",
+ "src/common/linux/guid_creator.h",
+ "src/common/module.cc",
+ "src/common/module.h",
+ "src/common/stabs_reader.cc",
+ "src/common/stabs_reader.h",
+ "src/common/stabs_to_module.cc",
+ "src/common/stabs_to_module.h",
+ "src/tools/linux/dump_syms/dump_syms.cc",
+ ]
+
+ # dwarf2reader.cc uses dynamic_cast. Because we don't typically
+ # don't support RTTI, we enable it for this single target. Since
+ # dump_syms doesn't share any object files with anything else,
+ # this doesn't end up polluting Chrome itself.
+ configs -= [ "//build/config/compiler:no_rtti" ]
+ configs += [ "//build/config/compiler:rtti" ]
+
+ # Breakpad rev 583 introduced this flag.
+ # Using this define, stabs_reader.h will include a.out.h to
+ # build on Linux.
+ defines = [ "HAVE_A_OUT_H" ]
+
+ include_dirs = [ "src" ]
+ }
+
+ config("breakpad_client_config") {
+ if (is_android) {
+ include_dirs = [ "src/common/android/include" ]
+ }
+ }
+
+ static_library("breakpad_client") {
+ sources = [
+ "src/client/linux/crash_generation/crash_generation_client.cc",
+ "src/client/linux/crash_generation/crash_generation_client.h",
+ "src/client/linux/handler/exception_handler.cc",
+ "src/client/linux/handler/exception_handler.h",
+ "src/client/linux/handler/minidump_descriptor.cc",
+ "src/client/linux/handler/minidump_descriptor.h",
+ "src/client/linux/log/log.cc",
+ "src/client/linux/log/log.h",
+ "src/client/linux/minidump_writer/cpu_set.h",
+ "src/client/linux/minidump_writer/directory_reader.h",
+ "src/client/linux/minidump_writer/line_reader.h",
+ "src/client/linux/minidump_writer/linux_core_dumper.cc",
+ "src/client/linux/minidump_writer/linux_core_dumper.h",
+ "src/client/linux/minidump_writer/linux_dumper.cc",
+ "src/client/linux/minidump_writer/linux_dumper.h",
+ "src/client/linux/minidump_writer/linux_ptrace_dumper.cc",
+ "src/client/linux/minidump_writer/linux_ptrace_dumper.h",
+ "src/client/linux/minidump_writer/minidump_writer.cc",
+ "src/client/linux/minidump_writer/minidump_writer.h",
+ "src/client/linux/minidump_writer/proc_cpuinfo_reader.h",
+ "src/client/minidump_file_writer-inl.h",
+ "src/client/minidump_file_writer.cc",
+ "src/client/minidump_file_writer.h",
+ "src/common/convert_UTF.c",
+ "src/common/convert_UTF.h",
+ "src/common/linux/elf_core_dump.cc",
+ "src/common/linux/elf_core_dump.h",
+ "src/common/linux/elfutils.cc",
+ "src/common/linux/elfutils.h",
+ "src/common/linux/file_id.cc",
+ "src/common/linux/file_id.h",
+ "src/common/linux/google_crashdump_uploader.cc",
+ "src/common/linux/google_crashdump_uploader.h",
+ "src/common/linux/guid_creator.cc",
+ "src/common/linux/guid_creator.h",
+ "src/common/linux/libcurl_wrapper.cc",
+ "src/common/linux/libcurl_wrapper.h",
+ "src/common/linux/linux_libc_support.cc",
+ "src/common/linux/linux_libc_support.h",
+ "src/common/linux/memory_mapped_file.cc",
+ "src/common/linux/memory_mapped_file.h",
+ "src/common/linux/safe_readlink.cc",
+ "src/common/linux/safe_readlink.h",
+ "src/common/memory.h",
+ "src/common/simple_string_dictionary.cc",
+ "src/common/simple_string_dictionary.h",
+ "src/common/string_conversion.cc",
+ "src/common/string_conversion.h",
+ ]
+
+ direct_dependent_configs = [ ":breakpad_client_config" ]
+
+ # Android NDK toolchain doesn't support -mimplicit-it=always
+ if (cpu_arch == "arm" && !is_android) {
+ cflags = [ "-Wa,-mimplicit-it=always" ]
+ }
+ if (cpu_arch == "arm" && is_chromeos) {
+ # Avoid running out of registers in
+ # linux_syscall_support.h:sys_clone()'s inline assembly.
+ cflags = [ "-marm" ]
+ }
+
+ if (is_android) {
+ sources += [ "src/common/android/breakpad_getcontext.S" ]
+ }
+
+ libs = [ "dl" ]
+
+ include_dirs = [
+ ".",
+ "src",
+ "src/client",
+ "src/third_party/linux/include",
+ ]
+ }
+
+ static_library("breakpad_processor_support") {
+ sources = [
+ "src/common/scoped_ptr.h",
+ "src/processor/basic_code_modules.cc",
+ "src/processor/basic_code_modules.h",
+ "src/processor/logging.cc",
+ "src/processor/logging.h",
+ "src/processor/minidump.cc",
+ "src/processor/pathname_stripper.cc",
+ "src/processor/pathname_stripper.h",
+ ]
+
+ include_dirs = [
+ "src",
+ "src/client",
+ "src/third_party/linux/include",
+ ".",
+ ]
+ }
+
+ executable("breakpad_unittests") {
+ sources = [
+ "linux/breakpad_googletest_includes.h",
+ "src/client/linux/handler/exception_handler_unittest.cc",
+ "src/client/linux/minidump_writer/cpu_set_unittest.cc",
+ "src/client/linux/minidump_writer/directory_reader_unittest.cc",
+ "src/client/linux/minidump_writer/line_reader_unittest.cc",
+ "src/client/linux/minidump_writer/linux_core_dumper_unittest.cc",
+ "src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc",
+ "src/client/linux/minidump_writer/minidump_writer_unittest.cc",
+ "src/client/linux/minidump_writer/minidump_writer_unittest_utils.cc",
+ "src/client/linux/minidump_writer/proc_cpuinfo_reader_unittest.cc",
+ "src/common/linux/elf_core_dump_unittest.cc",
+ "src/common/linux/file_id_unittest.cc",
+ "src/common/linux/linux_libc_support_unittest.cc",
+ "src/common/linux/synth_elf.cc",
+ "src/common/linux/tests/auto_testfile.h",
+ "src/common/linux/tests/crash_generator.cc",
+ "src/common/linux/tests/crash_generator.h",
+ "src/common/memory_range.h",
+ "src/common/memory_unittest.cc",
+ "src/common/simple_string_dictionary_unittest.cc",
+ "src/common/test_assembler.cc",
+ "src/common/tests/file_utils.cc",
+ "src/common/tests/file_utils.h",
+ "src/tools/linux/md2core/minidump_memory_range.h",
+ "src/tools/linux/md2core/minidump_memory_range_unittest.cc",
+ ]
+
+ deps = [
+ ":breakpad_client",
+ ":breakpad_processor_support",
+ ":linux_dumper_unittest_helper",
+ "//testing/gtest",
+ "//testing/gtest:gtest_main",
+ "//testing/gmock",
+ ]
+
+ include_dirs = [
+ "linux", # Use our copy of breakpad_googletest_includes.h
+ "src",
+ ".",
+ ]
+
+ # There are some warnings in this code.
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [ "//build/config/compiler:no_chromium_code" ]
+
+ if (is_clang) {
+ # See http://crbug.com/138571#c18
+ cflags += [ "-Wno-unused-value" ]
+ }
+
+
+ if (is_android) {
+ sources += [ "src/common/android/breakpad_getcontext_unittest.cc" ]
+ libs = [ "log" ]
+ include_dirs = [ "src/common/android/include" ]
+ }
+ }
+
+ executable("linux_dumper_unittest_helper") {
+ sources = [
+ "src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc",
+ ]
+ deps = [
+ ":breakpad_processor_support",
+ ]
+
+ include_dirs = [
+ "src",
+ ]
+
+ if (cpu_arch == "mipsel" && is_android) {
+ include_dirs += [ "src/common/android/include" ]
+ }
+ }
+
+
+ executable("generate_test_dump") {
+ sources = [
+ "linux/generate-test-dump.cc",
+ ]
+
+ # This file has an unused variable warning.
+ cflags = [ "-Wno-unused-variable" ]
+
+ deps = [ ":breakpad_client" ]
+
+ include_dirs = [ "src" ]
+
+ if (is_android) {
+ libs = [ "log" ]
+ include_dirs += [ "src/common/android/include" ]
+ }
+ }
+
+ executable("minidump-2-core") {
+ sources = [ "src/tools/linux/md2core/minidump-2-core.cc" ]
+
+ include_dirs = [ "src" ]
+
+ deps = [ ":breakpad_client" ]
+ }
+
+ executable("core-2-minidump") {
+ sources = [
+ "src/tools/linux/core2md/core2md.cc",
+ ]
+
+ deps = [
+ ":breakpad_client",
+ ]
+
+ include_dirs = [ "src" ]
+ }
+}
+
+if (is_ios) {
+ static_library("breakpad_client") {
+ sources = [
+ "src/client/ios/Breakpad.h",
+ "src/client/ios/Breakpad.mm",
+ "src/client/ios/BreakpadController.h",
+ "src/client/ios/BreakpadController.mm",
+ "src/client/ios/handler/ios_exception_minidump_generator.mm",
+ "src/client/ios/handler/ios_exception_minidump_generator.h",
+ "src/client/mac/crash_generation/ConfigFile.h",
+ "src/client/mac/crash_generation/ConfigFile.mm",
+ "src/client/mac/handler/breakpad_nlist_64.cc",
+ "src/client/mac/handler/breakpad_nlist_64.h",
+ "src/client/mac/handler/dynamic_images.cc",
+ "src/client/mac/handler/dynamic_images.h",
+ "src/client/mac/handler/protected_memory_allocator.cc",
+ "src/client/mac/handler/protected_memory_allocator.h",
+ "src/client/mac/handler/exception_handler.cc",
+ "src/client/mac/handler/exception_handler.h",
+ "src/client/mac/handler/minidump_generator.cc",
+ "src/client/mac/handler/minidump_generator.h",
+ "src/client/mac/sender/uploader.h",
+ "src/client/mac/sender/uploader.mm",
+ "src/client/minidump_file_writer.cc",
+ "src/client/minidump_file_writer.h",
+ "src/client/minidump_file_writer-inl.h",
+ "src/common/convert_UTF.c",
+ "src/common/convert_UTF.h",
+ "src/common/mac/file_id.cc",
+ "src/common/mac/file_id.h",
+ "src/common/mac/HTTPMultipartUpload.m",
+ "src/common/mac/macho_id.cc",
+ "src/common/mac/macho_id.h",
+ "src/common/mac/macho_utilities.cc",
+ "src/common/mac/macho_utilities.h",
+ "src/common/mac/macho_walker.cc",
+ "src/common/mac/macho_walker.h",
+ "src/common/mac/string_utilities.cc",
+ "src/common/mac/string_utilities.h",
+ "src/common/md5.cc",
+ "src/common/md5.h",
+ "src/common/simple_string_dictionary.cc",
+ "src/common/simple_string_dictionary.h",
+ "src/common/string_conversion.cc",
+ "src/common/string_conversion.h",
+ "src/google_breakpad/common/minidump_format.h",
+ ]
+
+ include_dirs = [
+ "src",
+ "src/client/mac/Framework",
+ "src/common/mac",
+ ]
+ }
+
+ # TODO(GYP) There is some XCode-only targets like ninja-breakpad.
+}