Commit 3547cd8a authored by Stefano Bonicatti's avatar Stefano Bonicatti

Reintroducing Windows crash handler google breakpad

parent 2a6b9861

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

......@@ -110,3 +110,6 @@ add_subdirectory( ext_qt )
add_subdirectory( ext_poppler )
add_subdirectory( ext_libraw )
add_subdirectory( ext_frameworks )
if (MSVC)
add_subdirectory( google-breakpad )
endif()
solutions = [
{
"url": "https://chromium.googlesource.com/breakpad/breakpad.git",
"managed": False,
"safesync_url": "",
"name": "src",
"custom_deps": {},
},
]
entries = {
'src': 'https://chromium.googlesource.com/breakpad/breakpad.git',
'src/src/testing': 'https://github.com/google/googlemock.git@release-1.7.0',
'src/src/testing/gtest': 'https://github.com/google/googletest.git@release-1.7.0',
'src/src/third_party/glog': 'https://github.com/google/glog.git@v0.3.4',
'src/src/third_party/lss': 'https://chromium.googlesource.com/linux-syscall-support@9292030109847793f7a6689adac1ddafb412fe14',
'src/src/third_party/protobuf/protobuf': 'https://github.com/google/protobuf.git@cb6dd4ef5f82e41e06179dcd57d3b1d9246ad6ac',
'src/src/tools/gyp': 'https://chromium.googlesource.com/external/gyp@e8ab0833a42691cd2184bd4c45d779e43821d3e0',
}
# Copyright 2014 Google Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following disclaimer
# in the documentation and/or other materials provided with the
# distribution.
# * Neither the name of Google Inc. nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# Ignore other VCSs.
.svn/
# Ignore common compiled artifacts.
*~
*.dwo
*.o
lib*.a
/breakpad.pc
/breakpad-client.pc
/src/client/linux/linux_client_unittest_shlib
/src/client/linux/linux_dumper_unittest_helper
/src/processor/microdump_stackwalk
/src/processor/minidump_dump
/src/processor/minidump_stackwalk
/src/tools/linux/core2md/core2md
/src/tools/linux/dump_syms/dump_syms
/src/tools/linux/md2core/minidump-2-core
/src/tools/linux/symupload/minidump_upload
/src/tools/linux/symupload/sym_upload
/src/tools/mac/dump_syms/dump_syms
# Ignore autotools generated artifacts.
.deps
.dirstamp
autom4te.cache/
/config.cache
config.h
/config.log
/config.status
/Makefile
stamp-h1
# Ignore GYP generated Visual Studio artifacts.
*.filters
*.sdf
*.sln
*.suo
*.vcproj
*.vcxproj
# Ignore GYP generated Makefiles
src/Makefile
*.Makefile
*.target.mk
# Ignore compiled Python files.
*.pyc
# Ignore directories gclient syncs.
src/testing
src/third_party/glog
src/third_party/lss
src/third_party/protobuf
src/tools/gyp
project(breakpad-client)
cmake_minimum_required(VERSION 2.6.0)
set(CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_INSTALL_PREFIX ${INSTALL_ROOT})
message(STATUS ${CMAKE_SYSTEM_PROCESSOR})
include_directories(
src/
)
set(SOURCES )
if (UNIX)
ADD_DEFINITIONS(-Wall)
set(SOURCES ${SOURCES}
src/client/minidump_file_writer.cc
src/common/convert_UTF.c
src/common/string_conversion.cc
)
endif()
if (WIN32)
SET(SOURCES ${SOURCES}
src/common/windows/guid_string.cc
src/client/windows/crash_generation/crash_generation_client.cc
src/client/windows/crash_generation/client_info.cc
src/client/windows/crash_generation/minidump_generator.cc
src/client/windows/handler/exception_handler.cc
)
#ADD_DEFINITIONS(/Zc:wchar_t-)
ADD_DEFINITIONS(/GL /D "WIN32" /D "WIN32_LEAN_AND_MEAN" /D "_UNICODE" /D "UNICODE" /EHsc )
#INCLUDE_DIRECTORIES(c:/progra~1/micros~1.0/vc/atlmfc)
SET(EXTRA_LIBS ole32)
endif ()
if (UNIX)
if (APPLE)
include_directories(/Developer/Headers/FlatCarbon)
FIND_LIBRARY(COCOA_LIBRARY COCOA)
MARK_AS_ADVANCED(COCOA_LIBRARY)
SET(EXTRA_LIBS crypto ${COCOA_LIBRARY})
SET(SOURCES ${SOURCES}
src/client/mac/handler/breakpad_nlist_64.cc
src/client/mac/handler/dynamic_images.cc
src/client/mac/handler/exception_handler.cc
src/client/mac/handler/minidump_generator.cc
src/client/mac/handler/protected_memory_allocator.cc
src/common/mac/dump_syms.mm
src/common/mac/dwarf/bytereader.cc
src/common/mac/dwarf/dwarf2reader.cc
src/common/mac/dwarf/functioninfo.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
)
else ()
SET(SOURCES ${SOURCES}
src/client/linux/handler/exception_handler.cc
src/client/linux/handler/linux_thread.cc
src/client/linux/handler/minidump_generator.cc
src/common/linux/dump_symbols.cc
src/common/linux/file_id.cc
src/common/linux/guid_creator.cc
src/common/linux/http_upload.cc
src/common/md5.c
)
endif ()
endif ()
add_library(breakpad ${SOURCES})