Bump the version number in configure.ac to 1.0.5
[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.7.3-7-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 configure 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 --prefix=/c/build
63
64 The configure script looks for various tools that it may not be able to locate
65 automatically. In these cases you will get an error message, and you can set the
66 environment variable described there to the location of the program. For example,
67 if LIB.EXE is not found you will need to run
68
69   ACLOCAL="aclocal -I/c/build/share/aclocal" PKG_CONFIG_PATH=/c/build/lib/pkgconfig \
70     MSVC_LIB="/c/Program Files/...VC location../bin/lib.exe" \
71     ./autogen.sh --disable-maintainer-mode
72
73 If this succeeds, you're ready to build!
74
75   make
76   make icons
77   make installer
78
79 The icons and installer targets make a few assumptions based on the install
80 prefix. You may have to edit Makefile.am to edit the paths if you haven't
81 followed the instructions exactly.
82
83 Weird things that might go wrong
84 --------------------------------
85
86 MSYS is a little fragile, here are some things to try if you get weird failures
87 of any component:
88
89   * Make sure your PATH looks like this:
90       /c/build/bin:/c/tools/python:/usr/local/bin:/mingw/bin:/bin
91     so that there are no entries before these that might override a shell tool.
92
93   * Sometimes TMP is set and this breaks some of the tools. Run:
94       export TMP=
95     to fix this.
96
97   * Don't ever use \ in paths (except to escape spaces) - always use /c/build/bin
98     not c:\build\bin. Otherwise shell scripts break all over the place.