Skip to content

Commit 042ddbe

Browse files
committed
readme: update
1 parent 7f15f43 commit 042ddbe

File tree

1 file changed

+31
-92
lines changed

1 file changed

+31
-92
lines changed

README.md

Lines changed: 31 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,46 @@
1-
# Breakpad for Cygwin/MinGW
1+
# Breakpad for MinGW and more
22

3-
[![Build status](https://ci.appveyor.com/api/projects/status/xp2os1r0m569a470/branch/pecoff-dwarf-on-git-20160304?svg=true)](https://ci.appveyor.com/project/jon-turney/google-breakpad)
3+
Google Breakpad with added support for Gygwin/MinGW, maintained for the
4+
[Dæmon game engine](https://github.com/DaemonEngine/Daemon) and the
5+
[Unvanquished game](https://unvanquished.net).
6+
7+
- Upstream for the Dæmon branch: https://github.com/DaemonEngine/breakpad
8+
- Bug tracker for the Dæmon branch: https://github.com/DaemonEngine/breakpad/issues
9+
10+
## Dæmon Breakpad
11+
12+
The Dæmon Breakpad adds MinGW support to Google Breakpad, based on jon.turney's patches,
13+
with merged Google upstream adding support for DWARF5 debugging information format. This
14+
retains the support for systems already supported by Google Breakpad upstream.
15+
16+
This provides:
417

5-
google-breakpad with added support for Cygwin/MinGW:
618
- A `dump_syms` tool which can read DWARF debugging information from PE/COFF executables.
719
- The breakpad crash-reporting client libraries built using Makefiles rather than MSVC solutions.
820

921
## Compiling
1022

1123
### Preparation
1224

13-
Run the fetch-externals script to fetch submodules in the DEPS file (e.g the gyp and gtest dependencies).
14-
(The upsteam repository is meant to be checked out using Chromium's `depot_tools`, which does this for you)
25+
Optional: Run the fetch-externals script to fetch submodules in the DEPS file (e.g the gyp and gtest dependencies).
26+
(The Google upsteam repository is meant to be checked out using Chromium's `depot_tools`, which does this for you).
27+
This is not needed to build Breakpad.
1528

16-
```
29+
```sh
1730
./fetch-externals
1831
```
1932

2033
Run autoreconf to generate ./configure
2134

22-
````
35+
```sh
2336
autoreconf -fvi
24-
````
37+
```
2538

2639
### Compiling
2740

28-
See README.orig.md
29-
30-
````
41+
```sh
3142
./configure && make
32-
````
43+
```
3344

3445
will produce `dump_syms.exe`, `minidump_dump.exe`, `minidump_stackwalk.exe`, `libbreakpad.a`,
3546
and for MinGW `libcrash_generation_client.a`, `libcrash_generation_server.a`, `crash_generation_app.exe`
@@ -40,14 +51,14 @@ See [Getting started with breakpad](https://chromium.googlesource.com/breakpad/b
4051

4152
### Producing and installing symbols
4253

43-
````
54+
```sh
4455
dump_syms crash_generation_app.exe >crash_generation_app.sym
4556
FILE=`head -1 crash_generation_app.sym | cut -f5 -d' '`
4657
BUILDID=`head -1 crash_generation_app.sym | cut -f4 -d' '`
4758
SYMBOLPATH=/symbols/${FILE}/${BUILDID}/
4859
mkdir -p ${SYMBOLPATH}
4960
mv crash_generation_app.sym ${SYMBOLPATH}
50-
````
61+
```
5162

5263
### Generating a minidump file
5364

@@ -60,9 +71,9 @@ A small test application demonstrating out-of-process dumping called
6071

6172
### Processing the minidump to produce a stack trace
6273

63-
````
74+
```sh
6475
minidump_stackwalk blah.dmp /symbols/
65-
````
76+
```
6677

6778
## Issues
6879

@@ -94,85 +105,13 @@ editions of Visual Studio 2013), and (ii) the DIA SDK uses ATL.
94105
An alternate PDB parser is available at https://github.com/luser/dump_syms, but
95106
that also needs some work before it can be built with MinGW.
96107

97-
# Breakpad
108+
# Upstream Breakpad
98109

99110
Breakpad is a set of client and server components which implement a
100111
crash-reporting system.
101112

102-
* [Homepage](https://chromium.googlesource.com/breakpad/breakpad/)
103-
* [Documentation](https://chromium.googlesource.com/breakpad/breakpad/+/master/docs/)
104-
* [Bugs](https://bugs.chromium.org/p/google-breakpad/)
113+
* Homepage: https://chromium.googlesource.com/breakpad/breakpad/
114+
* Documentation: https://chromium.googlesource.com/breakpad/breakpad/+/master/docs/
115+
* Bugs: https://bugs.chromium.org/p/google-breakpad/
105116
* Discussion/Questions: [google-breakpad-discuss@googlegroups.com](https://groups.google.com/d/forum/google-breakpad-discuss)
106117
* Developer/Reviews: [google-breakpad-dev@googlegroups.com](https://groups.google.com/d/forum/google-breakpad-dev)
107-
* Tests: [![Build Status](https://travis-ci.org/google/breakpad.svg?branch=master)](https://travis-ci.org/google/breakpad) [![Build status](https://ci.appveyor.com/api/projects/status/eguv4emv2rhq68u2?svg=true)](https://ci.appveyor.com/project/vapier/breakpad)
108-
* Coverage [![Coverity Status](https://scan.coverity.com/projects/9215/badge.svg)](https://scan.coverity.com/projects/google-breakpad)
109-
110-
## Getting started (from master)
111-
112-
1. First, [download depot_tools](http://dev.chromium.org/developers/how-tos/install-depot-tools)
113-
and ensure that they’re in your `PATH`.
114-
115-
2. Create a new directory for checking out the source code (it must be named
116-
breakpad).
117-
118-
```sh
119-
mkdir breakpad && cd breakpad
120-
```
121-
122-
3. Run the `fetch` tool from depot_tools to download all the source repos.
123-
124-
```sh
125-
fetch breakpad
126-
cd src
127-
```
128-
129-
4. Build the source.
130-
131-
```sh
132-
./configure && make
133-
```
134-
135-
You can also cd to another directory and run configure from there to build
136-
outside the source tree.
137-
138-
This will build the processor tools (`src/processor/minidump_stackwalk`,
139-
`src/processor/minidump_dump`, etc), and when building on Linux it will
140-
also build the client libraries and some tools
141-
(`src/tools/linux/dump_syms/dump_syms`,
142-
`src/tools/linux/md2core/minidump-2-core`, etc).
143-
144-
5. Optionally, run tests.
145-
146-
```sh
147-
make check
148-
```
149-
150-
6. Optionally, install the built libraries
151-
152-
```sh
153-
make install
154-
```
155-
156-
If you need to reconfigure your build be sure to run `make distclean` first.
157-
158-
To update an existing checkout to a newer revision, you can
159-
`git pull` as usual, but then you should run `gclient sync` to ensure that the
160-
dependent repos are up-to-date.
161-
162-
## To request change review
163-
164-
1. Follow the steps above to get the source and build it.
165-
166-
2. Make changes. Build and test your changes.
167-
For core code like processor use methods above.
168-
For linux/mac/windows, there are test targets in each project file.
169-
170-
3. Commit your changes to your local repo and upload them to the server.
171-
http://dev.chromium.org/developers/contributing-code
172-
e.g. `git commit ... && git cl upload ...`
173-
You will be prompted for credential and a description.
174-
175-
4. At https://chromium-review.googlesource.com/ you'll find your issue listed;
176-
click on it, then “Add reviewer”, and enter in the code reviewer. Depending
177-
on your settings, you may not see an email, but the reviewer has been
178-
notified with google-breakpad-dev@googlegroups.com always CC’d.

0 commit comments

Comments
 (0)