forked from timschmidt/repsnapper
-
Notifications
You must be signed in to change notification settings - Fork 0
/
WIN32_CROSS_COMPILE.txt
33 lines (25 loc) · 1.49 KB
/
WIN32_CROSS_COMPILE.txt
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
Instructions for building for win32 using cross-compilation
Tested on Debian Sarge
1) Install jhbuild, unzip, libglib2.0-dev (for glib-genmarshal),
mingw32-binutils, mingw32-runtime and nsis packages via APT
jhbuild needs to be at least version 2.30.2 for .tar.xz file support.
2) Mingw32 compiler
You need the right version of mingw32 (mingw32, not gcc-mingw32 in Ubuntu natty is built
with --disable-shared, which breaks C++ exception handling. See
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=625778). I haven't tried
OpenSuse's mingw32 to see if it has the same problem.
As of 10 Mar 2012, Debian's mingw32 package doesn't have the required shared
version of libgcc_s, and needs rebuilding with a patch to provide it.
Basically, check that the version of mingw32 you have installs a libgcc_s.a
and provides libgcc_sjlj_1.dll.
Even better, is to rebuild mingw32 to use DWARF style exception handling, as
well as shared libgcc (in which case, you'll have libgcc_dw2_1.dll instead of
libgcc_sjlj_1.dll) (TBD: Expand these instructions)
3) make distclean in the toplevel directory to unconfigure it, if you've been
building there already. It needs to be unconfigured for the cross compile done by
the script in the next step.
4) cd into win32 and run either cross-build-repsnapper-rls (Release version) or
cross-build-repsnapper-dbg (Debug)
Hopefully, it all runs succesfully - at which point there should be a usable tree in
win32/checkout.rls (or checkout.dbg)
TODO: Wrap it all up into installer with NSIS script.