From 3a0158f0eaa5fbea107f5c3361cacf2a310188bb Mon Sep 17 00:00:00 2001 From: "rsesek@chromium.org" Date: Wed, 21 Nov 2012 22:44:01 +0000 Subject: Build minidump_stackwalk and minidump_dump on all supported platforms. Previously, these would only be built on Linux and Android with linux_breakpad==1. These can be built now on Mac. Review URL: https://chromiumcodereview.appspot.com/11418122 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169148 0039d316-1c4b-4281-b951-d872f2087c98 --- breakpad/breakpad.gyp | 257 ++++++++++++++++--------------------------- breakpad/breakpad_tools.gypi | 35 ++++++ 2 files changed, 131 insertions(+), 161 deletions(-) create mode 100644 breakpad/breakpad_tools.gypi diff --git a/breakpad/breakpad.gyp b/breakpad/breakpad.gyp index 315a7a2..910a56d 100644 --- a/breakpad/breakpad.gyp +++ b/breakpad/breakpad.gyp @@ -8,6 +8,101 @@ 'breakpad_handler.gypi', ], 'conditions': [ + # minidump_stackwalk and minidump_dump are tool-type executables that do + # not build on iOS. + ['OS!="ios" and OS!="win"', { + 'targets': [ + { + 'target_name': 'minidump_stackwalk', + 'type': 'executable', + 'includes': ['breakpad_tools.gypi'], + '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/exploitability_win.cc', + 'src/processor/exploitability_win.h', + '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_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_ppc.cc', + 'src/processor/stackwalker_ppc.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', + ], + }, + { + 'target_name': 'minidump_dump', + 'type': 'executable', + 'includes': ['breakpad_tools.gypi'], + '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', + ], + }, + ], + }], [ 'OS=="mac"', { 'target_defaults': { 'include_dirs': [ @@ -231,170 +326,10 @@ ['linux_breakpad==1', { 'targets': [ { - 'target_name': 'minidump_stackwalk', - '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': '