Merge branch 'master' of ssh://69.25.196.28:822/srv/git/moonshot-ui
[moonshot-ui.git] / README.windows
1 How to compile moonshot-ui from git on MS Windows using mingw and MSYS
2 ----------------------------------------------------------------------
3
4 I recommend you set up a build environment according to the following page:
5
6   http://afuera.me.uk/jhbuild-windows/
7
8 However, use the configuration file in the source tree at ./windows/jhbuildrc
9 instead of creating a new one. This means that the last two commands you execute
10 become (from inside the moonshot-ui source tree):
11
12   jhbuild -f ./windows/jhbuildrc bootstrap
13   jhbuild -f ./windows/jhbuildrc
14
15
16 You will also need to install the following tools:
17
18   * MS Windows Platform SDK v7.0 and .NET framework 3.5:
19
20       https://www.microsoft.com/downloads/en/details.aspx?FamilyID=c17ba869-9671-4330-a63e-1fd44e0e2505&displaylang=en
21
22     You need the 'Win32 Developer Tools' component for MIDL.EXE, and 'Visual C compilers'
23     to LIB.EXE. The rest are not important.
24
25   * Windows Installer XML 3.5:
26
27       http://wix.codeplex.com/releases/view/60102
28
29   * ImageMagick (for converting .svg icons to .png in 'make icons'):
30
31      http://www.imagemagick.org/download/binaries/ImageMagick-6.6.9-10-Q16-windows-dll.exe
32
33 I suggest you put all these things in their default locations (the installers
34 will sometimes ignore attempts to install them in other places).
35
36 You currently also need a patched version of the w32api mingw package, to
37 expose some RPC functions. This issue is on the mingw issue tracker here:
38
39   https://sourceforge.net/tracker/?func=detail&aid=3302807&group_id=2435&atid=302435
40
41 Until the fix gets merged, download the following patched version and simply
42 extract into c:\tools\mingw:
43
44   http://afuera.me.uk/junk/w32api-3.17-2-mingw-patch3302807-dev.tar.lzma
45
46 (Alternately you can fetch the source for the w32api package from
47  www.sourceforge.net/projects/mingw and apply the patch yourself)
48
49
50 You will need to compile and install the msrpc-mingw package, which wraps
51 MIDL.EXE and the RPC API to make it usable from gcc.
52
53   git clone git://github.com/ssssam/msrpc-mingw.git
54   cd msrpc-mingw
55   MIDL=/c/Program\ Files/Microsoft SDKs/Windows/v7.0/bin/MIDL.exe ./waf configure --prefix=c:/build
56   ./waf
57   ./waf install
58
59 You can then build moonshot from the MSYS shell:
60
61   ACLOCAL="aclocal -I/c/build/share/aclocal" PKG_CONFIG_PATH=/c/build/lib/pkgconfig \
62   ./autogen.sh --disable-maintainer-mode
63   make
64   make icons
65   make installer
66
67
68 Weird things that might go wrong
69 --------------------------------
70
71 MSYS is a little fragile, here are some things to try if you get weird failures
72 of any component:
73
74 # Make sure your PATH looks like this:
75 #   /c/build/bin:/c/tools/python:/usr/local/bin:/mingw/bin:/bin
76 # so that there are no entries before these that might override a shell tool.
77
78 # Sometimes TMP is set and this breaks some of the tools
79 export TMP=