1 How to compile moonshot-ui from git on MS Windows using mingw and MSYS
2 ----------------------------------------------------------------------
4 I recommend you set up a build environment according to the following page:
6 http://afuera.me.uk/jhbuild-windows/
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):
12 jhbuild -f ./windows/jhbuildrc bootstrap
13 jhbuild -f ./windows/jhbuildrc
16 You will also need to install the following tools:
18 * MS Windows Platform SDK v7.0 and .NET framework 3.5:
20 https://www.microsoft.com/downloads/en/details.aspx?FamilyID=c17ba869-9671-4330-a63e-1fd44e0e2505&displaylang=en
22 You need the 'Win32 Developer Tools' component for MIDL.EXE, and 'Visual C compilers'
23 to LIB.EXE. The rest are not important.
25 * Windows Installer XML 3.5:
27 http://wix.codeplex.com/releases/view/60102
29 * ImageMagick (for converting .svg icons to .png in 'make icons'):
31 http://www.imagemagick.org/download/binaries/ImageMagick-6.7.3-7-Q16-windows-dll.exe
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).
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:
39 https://sourceforge.net/tracker/?func=detail&aid=3302807&group_id=2435&atid=302435
41 Until the fix gets merged, download the following patched version and simply
42 extract into c:\tools\mingw:
44 http://afuera.me.uk/junk/w32api-3.17-2-mingw-patch3302807-dev.tar.lzma
46 (Alternately you can fetch the source for the w32api package from
47 www.sourceforge.net/projects/mingw and apply the patch yourself)
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.
53 git clone git://github.com/ssssam/msrpc-mingw.git
55 MIDL=/c/Program\ Files/Microsoft SDKs/Windows/v7.0/bin/MIDL.exe ./waf configure --prefix=c:/build
59 You can then configure moonshot from the MSYS shell:
61 ACLOCAL="aclocal -I/c/build/share/aclocal" PKG_CONFIG_PATH=/c/build/lib/pkgconfig \
62 ./autogen.sh --disable-maintainer-mode --prefix=/c/build
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
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
73 If this succeeds, you're ready to build!
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.
83 Weird things that might go wrong
84 --------------------------------
86 MSYS is a little fragile, here are some things to try if you get weird failures
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.
93 * Sometimes TMP is set and this breaks some of the tools. Run:
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.