forked from kragen/vidalia
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME.breakpad
94 lines (70 loc) · 4.04 KB
/
README.breakpad
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
Building Vidalia with Breakpad-based Crash Reporting Support
Windows
--------
Pre-requisites:
* Subversion
* CMake 2.4 or later (CMake >= 2.6 preferred)
* Microsoft Visual C++ Professional 2005 or later (VC++ >= 2008 preferred)
NOTE: Google Breakpad requires Microsoft's ATL, so users of Visual Studio
"Express" editions may need to install that separately (if even
supported).
1. Download and build Qt with Visual Studio support
1.1. Download the latest Qt source code for Windows from Qt's website:
http://get.qtsoftware.com/qt/source/
1.2. Extract the .zip file to a directory
1.3. Open a Visual Studio command prompt
1.4. 'cd' to the location of your extract Qt source
1.5. We want to enable building .pdb files for the release versions of the
Qt DLLs, since Breakpad derives its symbol information from the .pdb
files. To do so, unfortunately we have to edit the qmake.conf "mkspec"
for the compiler we're using. For example, if you're using Visual
Studio 2008, you would open the file
$QTDIR\mkspecs\win32-msvc2008\qmake.conf
(where $QTDIR is the location of your Qt source code) and add "-Zi" to
QMAKE_CFLAGS_RELEASE. The resulting line would look like:
QMAKE_CFLAGS_RELEASE = -Zi -O2 -MD -GL
You also need to add "/DEBUG /OPT:REF /OPT:ICF" to the list of linker
flags in QMAKE_LFLAGS_RELEASE. The resulting line should look like the
following:
QMAKE_LFLAGS_RELEASE = /DEBUG /OPT:REF /OPT:ICF /INCREMENTAL:NO /LTCG
Different Visual Studio mkspecs may look slightly different and have
different sets of default flags. Save your changes to qmake.conf after
you're done.
1.6. Configure the Qt source for a Visual Studio build, along with whatever
other options you want (e.g., OpenSSL support). As an example, I used
the following command to configure my Qt:
$ configure.exe -platform win32-msvc2008 \
-opensource -debug-and-release \
-fast -no-qt3support \
-nomake demos -nomake examples \
-openssl -I E:\OpenSSL\9.8k\include \
-L E:\OpenSSL\9.8k\lib\VC
1.7. After configure.exe is finished running, simply run nmake.exe to build
Qt. The entire process may take several hours depending on the options
used and the speed of your machine.
2. Download and build the latest Breakpad source from Subversion
2.1. Fetch the latest Google Breakpad source code from Subversion
$ svn cp http://google-breakpad.googlecode.com/svn/trunk/ breakpad
2.2. Open breakpad\src\client\windows\breakpad_client.sln
2.3. Right-click on the "crash_generation" project and select 'Properties'
2.4. Go to "Configuration Properties" -> "C/C++" -> "Language" and disable
"Treat wchar_t as Built-in Type".
2.5. Repeat 2.2 and 2.3 for the "crash_report_sender" and "exception_handler"
projects as well.
2.6. Right-click on the top-level solution and select "Build Solution" or
hit F7 to build the entire solution.
3. Build Vidalia with Breakpad support enabled
3.1. Fetch the latest 'breakpad' branch from Vidalia's Subversion repository.
$ svn co https://svn.vidalia-project.net/svn/vidalia/branches/breakpad vidalia-breakpad
3.2. Use CMake to generate a Visual Studio .sln file for Vidalia with
Breakpad support enabled.
$ mkdir build-vs
$ cd build-vs
$ cmake.exe -DUSE_BREAKPAD=1 \
-DBREAKPAD_INCLUDE_DIR=E:\breakpad\src \
-DBREAKPAD_LIBRARY_DIR=E:\Breakpad\src\client\windows\Debug ..
You will need to adjust the paths above to point to the location of
the Breakpad source directory and binaries you built in Step 2.
3.3. Open the solution file build-vs\Vidalia.sln with Visual Studio.
3.4. Right-click on the top-level solution and select "Build Solution", or
hit F7 to build the entire solution.