You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Google Breakpad with added support for 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
+
11
+
## Dæmon Breakpad
12
+
13
+
Breakpad is a set of client and server components which implement a crash-reporting system.
14
+
15
+
The Dæmon Breakpad adds Cygwin/MinGW support to Google Breakpad, based on Jon Turney's patches,
16
+
with merged Google upstream adding support for DWARF5 debugging information format.
17
+
It retains the support for systems already supported by the Google Breakpad upstream.
18
+
19
+
It provides:
4
20
5
-
google-breakpad with added support for Cygwin/MinGW:
6
21
- A `dump_syms` tool which can read DWARF debugging information from PE/COFF executables.
7
22
- The breakpad crash-reporting client libraries built using Makefiles rather than MSVC solutions.
8
23
24
+
9
25
## Compiling
10
26
11
27
### Preparation
12
28
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)
29
+
Optional: Run the fetch-externals script to fetch submodules in the DEPS file (e.g the gyp and gtest dependencies).
30
+
(The Google upsteam repository is meant to be checked out using Chromium's `depot_tools`, which does this for you).
31
+
This is not needed to build Breakpad.
15
32
16
-
```
33
+
```sh
17
34
./fetch-externals
18
35
```
19
36
20
-
Run autoreconf to generate ./configure
37
+
### Building
38
+
39
+
💡️ Instead of `-j4` you can use `-jN` where `N` is your number of CPU cores to distribute compilation on them.
40
+
Linux systems usually provide a handy `nproc` tool that tells the number of CPU core so you can just do `-j$(nproc)`
41
+
to use all available cores.
21
42
22
-
````
43
+
Run `autoreconf` to generate `./configure`:
44
+
45
+
```sh
23
46
autoreconf -fvi
24
-
````
47
+
```
48
+
Run `./configure` to configure the build:
25
49
26
-
### Compiling
50
+
```sh
51
+
./configure
52
+
```
27
53
28
-
See README.orig.md
54
+
Run `make` to build:
29
55
30
-
````
31
-
./configure && make
32
-
````
56
+
```sh
57
+
make -j4
58
+
```
33
59
34
-
will produce `dump_syms.exe`, `minidump_dump.exe`, `minidump_stackwalk.exe`, `libbreakpad.a`,
60
+
This will produce `dump_syms.exe`, `minidump_dump.exe`, `minidump_stackwalk.exe`, `libbreakpad.a`,
35
61
and for MinGW `libcrash_generation_client.a`, `libcrash_generation_server.a`, `crash_generation_app.exe`
36
62
63
+
The `dump_syms` tool to process Linux binaries can be found as `src/tools/linux/dump_syms/dump_syms` and the one to process MinGW binaries can be found as `src/tools/windows/dump_syms_dwarf/dump_syms`.
64
+
65
+
37
66
## Using
38
67
39
-
See [Getting started with breakpad](https://chromium.googlesource.com/breakpad/breakpad/+/master/docs/getting_started_with_breakpad.md)
68
+
See [Getting started with breakpad](https://chromium.googlesource.com/breakpad/breakpad/+/master/docs/getting_started_with_breakpad.md) in Chromium documentation.
0 commit comments