Skip to content

Commit

Permalink
Add breakpad
Browse files Browse the repository at this point in the history
Primarily for Windows, some files may be missing in case of Linux/OS X
builds, due to the nature how project files were obtained - the tool
provides sets of files specific to current platform.

This is version of breakpad current as of 2016-04-08, commit 6c8f80a
with minor changes.
  • Loading branch information
janisozaur committed Apr 8, 2016
1 parent 3047d85 commit fc4e978
Show file tree
Hide file tree
Showing 2,881 changed files with 902,806 additions and 1 deletion.
23 changes: 22 additions & 1 deletion build.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,15 @@ New-Item -Force -ItemType Directory $binDir > $null
New-Item -Force -ItemType Directory $includeDir > $null
New-Item -Force -ItemType Directory $artifactsDir > $null

# Build breakpad
Write-Host "Building breakpad..." -ForegroundColor Cyan
msbuild ".\src\breakpad\src\src\client\windows\breakpad_client.sln" "/p:Configuration=Release" "/p:Platform=Win32" "/p:PlatformToolset=v140" "/v:Minimal"
Copy-Item -Force ".\src\breakpad\src\src\client\windows\Release\lib\common.lib" $binDir
Copy-Item -Force ".\src\breakpad\src\src\client\windows\Release\lib\crash_generation_client.lib" $binDir
Copy-Item -Force ".\src\breakpad\src\src\client\windows\Release\lib\exception_handler.lib" $binDir
Copy-Item -Force ".\src\breakpad\src\src\client\windows\Release\lib\crash_report_sender.lib" $binDir
Write-Host

# Build SDL2
Write-Host "Building SDL2..." -ForegroundColor Cyan
msbuild ".\src\sdl\VisualC\SDL\SDL.vcxproj" "/p:Configuration=Release" "/p:Platform=Win32" "/p:PlatformToolset=v140" "/v:minimal"
Expand Down Expand Up @@ -121,7 +130,12 @@ Push-Location ".\bin"
".\libpng16.lib" `
".\zlib.lib" `
".\nonproject.lib" `
".\libcurl.lib"
".\libcurl.lib" `
".\common.lib" `
".\crash_report_sender.lib" `
".\exception_handler.lib" `
".\crash_generation_client.lib"

if ($LASTEXITCODE -ne 0)
{
Write-Host "Failed to create merged library." -ForegroundColor Red
Expand All @@ -142,6 +156,13 @@ function CopyHeaders($src, $dst)
}

Write-Host "Copying headers..." -ForegroundColor Cyan
CopyHeaders ".\src\breakpad\src\src\client\windows\handler\*.h" "breakpad\client\windows\handler"
CopyHeaders ".\src\breakpad\src\src\client\windows\sender\*.h" "breakpad\client\windows\sender"
CopyHeaders ".\src\breakpad\src\src\client\windows\common\*.h" "breakpad\client\windows\common"
CopyHeaders ".\src\breakpad\src\src\common\*.h" "breakpad\common"
CopyHeaders ".\src\breakpad\src\src\common\windows\*.h" "breakpad\common\windows"
CopyHeaders ".\src\breakpad\src\src\client\windows\crash_generation\*.h" "breakpad\client\windows\crash_generation"
CopyHeaders ".\src\breakpad\src\src\google_breakpad\common\*.h" "breakpad\google_breakpad\common"
CopyHeaders ".\src\sdl\include\*.h" "sdl"
CopyHeaders ".\src\sdl_ttf\*.h" "sdl_ttf"
CopyHeaders ".\src\libpng\*.h" "libpng"
Expand Down
9 changes: 9 additions & 0 deletions src/breakpad/.gclient
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
solutions = [
{
"url": "https://chromium.googlesource.com/breakpad/breakpad.git",
"managed": False,
"safesync_url": "",
"name": "src",
"custom_deps": {},
},
]
9 changes: 9 additions & 0 deletions src/breakpad/.gclient_entries
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
entries = {
'src': 'https://chromium.googlesource.com/breakpad/breakpad.git',
'src/src/testing': 'https://github.com/google/[email protected]',
'src/src/testing/gtest': 'https://github.com/google/[email protected]',
'src/src/third_party/glog': 'https://github.com/google/[email protected]',
'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',
}
83 changes: 83 additions & 0 deletions src/breakpad/src/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# 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
1 change: 1 addition & 0 deletions src/breakpad/src/AUTHORS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[email protected]
Empty file added src/breakpad/src/ChangeLog
Empty file.
75 changes: 75 additions & 0 deletions src/breakpad/src/DEPS
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# Copyright 2010 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.

# This is used to mimic the svn:externals mechanism for gclient (both Git and
# SVN) based checkouts of Breakpad. As such, its use is entirely optional. If
# using a manually managed SVN checkout as opposed to a gclient managed checkout
# you can still use the hooks mechanism for generating project files by calling
# 'gclient runhooks' rather than 'gclient sync'.

deps = {
# Logging code.
"src/src/third_party/glog":
"https://github.com/google/glog.git" +
"@v0.3.4",

# Testing libraries and utilities.
"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",

# Protobuf.
"src/src/third_party/protobuf/protobuf":
"https://github.com/google/protobuf.git" +
"@cb6dd4ef5f82e41e06179dcd57d3b1d9246ad6ac",

# GYP project generator.
"src/src/tools/gyp":
"https://chromium.googlesource.com/external/gyp/" +
"@e8ab0833a42691cd2184bd4c45d779e43821d3e0",

# Linux syscall support.
"src/src/third_party/lss":
"https://chromium.googlesource.com/linux-syscall-support/" +
"@9292030109847793f7a6689adac1ddafb412fe14"
}

hooks = [
{
# TODO(chrisha): Fix the GYP files so that they work without
# --no-circular-check.
"pattern": ".",
"action": ["python",
"src/src/tools/gyp/gyp_main.py",
"--no-circular-check",
"src/src/client/windows/breakpad_client.gyp"],
},
]
Loading

0 comments on commit fc4e978

Please sign in to comment.