diff options
author | rsesek@chromium.org <rsesek@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-21 22:44:01 +0000 |
---|---|---|
committer | rsesek@chromium.org <rsesek@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-21 22:44:01 +0000 |
commit | 3a0158f0eaa5fbea107f5c3361cacf2a310188bb (patch) | |
tree | f6a1c9994ee8ed19fc8a6bfb7e739ef2e28e4f84 /breakpad | |
parent | f4cb4653c45423959ba4d18834cde9bafc375f74 (diff) | |
download | chromium_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.gyp | 257 | ||||
-rw-r--r-- | breakpad/breakpad_tools.gypi | 35 |
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', + ], +} |