summaryrefslogtreecommitdiffstats
path: root/breakpad
diff options
context:
space:
mode:
authorrsesek@chromium.org <rsesek@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-21 22:44:01 +0000
committerrsesek@chromium.org <rsesek@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-21 22:44:01 +0000
commit3a0158f0eaa5fbea107f5c3361cacf2a310188bb (patch)
treef6a1c9994ee8ed19fc8a6bfb7e739ef2e28e4f84 /breakpad
parentf4cb4653c45423959ba4d18834cde9bafc375f74 (diff)
downloadchromium_src-3a0158f0eaa5fbea107f5c3361cacf2a310188bb.zip
chromium_src-3a0158f0eaa5fbea107f5c3361cacf2a310188bb.tar.gz
chromium_src-3a0158f0eaa5fbea107f5c3361cacf2a310188bb.tar.bz2
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
Diffstat (limited to 'breakpad')
-rw-r--r--breakpad/breakpad.gyp257
-rw-r--r--breakpad/breakpad_tools.gypi35
2 files changed, 131 insertions, 161 deletions
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': '<!(uname -m)',
- },
- 'conditions': [
- ['host_arch=="x86_64"', {
- 'cflags!': ['-m32', '-march=pentium4', '-msse2',
- '-mfpmath=sse'],
- 'ldflags!': ['-m32'],
- 'cflags': ['-O2'],
- 'include_dirs!': ['/usr/include32'],
- }],
- ['OS=="android"', {
- 'toolsets': [ 'host' ],
- }],
- ],
- 'include_dirs': [
- 'src',
- 'src/third_party',
- '..',
- ],
- 'sources': [
- 'src/google_breakpad/processor/call_stack.h',
- 'src/google_breakpad/processor/stack_frame_symbolizer.h',
- 'src/processor/minidump_stackwalk.cc',
- 'src/processor/stackwalker.cc',
- 'src/processor/stackwalker.h',
- '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/basic_source_line_resolver.h',
- '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.h',
- '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.h',
- 'src/processor/minidump_processor.cc',
- 'src/processor/minidump_processor.h',
- 'src/processor/pathname_stripper.cc',
- 'src/processor/pathname_stripper.h',
- 'src/processor/process_state.cc',
- 'src/processor/process_state.h',
- 'src/processor/simple_symbol_supplier.cc',
- 'src/processor/simple_symbol_supplier.h',
- 'src/processor/source_line_resolver_base.cc',
- 'src/processor/source_line_resolver_base.h',
- 'src/processor/stack_frame_symbolizer.cc',
- 'src/processor/stackwalker.cc',
- 'src/processor/stackwalker.h',
- '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',
- # 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': '<!(uname -m)',
- },
- 'conditions': [
- ['host_arch=="x86_64"', {
- 'cflags!': ['-m32', '-march=pentium4', '-msse2',
- '-mfpmath=sse'],
- 'ldflags!': ['-m32'],
- 'cflags': ['-O2'],
- 'include_dirs!': ['/usr/include32'],
- }],
- ['OS=="android"', {
- 'toolsets': [ 'host' ],
- }],
- ],
- 'sources': [
- 'src/processor/minidump_dump.cc',
- 'src/processor/basic_code_module.h',
- 'src/processor/basic_code_modules.h',
- 'src/processor/basic_code_modules.cc',
- 'src/processor/logging.h',
- 'src/processor/logging.cc',
- 'src/processor/minidump.h',
- 'src/processor/minidump.cc',
- 'src/processor/pathname_stripper.h',
- 'src/processor/pathname_stripper.cc',
- ],
- 'include_dirs': [
- 'src',
- 'src/third_party',
- '..',
- ],
- },
- {
'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': '<!(uname -m)',
- },
- 'conditions': [
- ['host_arch=="x86_64"', {
- 'cflags!': ['-m32', '-march=pentium4', '-msse2',
- '-mfpmath=sse'],
- 'ldflags!': ['-m32'],
- 'cflags': ['-O2'],
- 'include_dirs!': ['/usr/include32'],
- }],
- ['OS=="android"', {
- 'toolsets': [ 'host' ],
- }],
- ],
+ 'includes': ['breakpad_tools.gypi'],
'sources': [
'src/tools/linux/symupload/sym_upload.cc',
diff --git a/breakpad/breakpad_tools.gypi b/breakpad/breakpad_tools.gypi
new file mode 100644
index 0000000..bf38f1a
--- /dev/null
+++ b/breakpad/breakpad_tools.gypi
@@ -0,0 +1,35 @@
+# Copyright (c) 2012 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.
+
+{
+ 'conditions': [
+ ['OS=="linux" or OS=="android"', {
+ 'variables': {
+ 'host_arch': '<!(uname -m)',
+ },
+ 'conditions': [
+ ['host_arch=="x86_64"', {
+ 'cflags!': ['-m32', '-march=pentium4', '-msse2', '-mfpmath=sse'],
+ 'ldflags!': ['-m32'],
+ 'cflags': ['-O2'],
+ 'include_dirs!': ['/usr/include32'],
+ }],
+ ],
+ }],
+ ['OS=="android"', {
+ 'toolsets': ['host'],
+ 'defines': ['__ANDROID__'],
+ }],
+ ['clang==1', {
+ 'cflags': ['-Wno-tautological-constant-out-of-range-compare'],
+ 'xcode_settings': {
+ 'WARNING_CFLAGS': ['-Wno-tautological-constant-out-of-range-compare'],
+ },
+ }],
+ ],
+ 'include_dirs': [
+ 'src',
+ 'src/third_party',
+ ],
+}