How to compile moonshot-ui from git on MS Windows using mingw and MSYS ---------------------------------------------------------------------- I recommend you set up a build environment according to the following page: http://afuera.me.uk/jhbuild-windows/ However, use the configuration file in the source tree at ./windows/jhbuildrc instead of creating a new one. This means that the last two commands you execute become (from inside the moonshot-ui source tree): jhbuild -f ./windows/jhbuildrc bootstrap jhbuild -f ./windows/jhbuildrc You will also need to install the following tools: * MS Windows Platform SDK v7.0 and .NET framework 3.5: https://www.microsoft.com/downloads/en/details.aspx?FamilyID=c17ba869-9671-4330-a63e-1fd44e0e2505&displaylang=en You need the 'Win32 Developer Tools' component for MIDL.EXE, and 'Visual C compilers' to LIB.EXE. The rest are not important. * Windows Installer XML 3.5: http://wix.codeplex.com/releases/view/60102 * ImageMagick (for converting .svg icons to .png in 'make icons'): http://www.imagemagick.org/download/binaries/ImageMagick-6.7.3-7-Q16-windows-dll.exe I suggest you put all these things in their default locations (the installers will sometimes ignore attempts to install them in other places). You currently also need a patched version of the w32api mingw package, to expose some RPC functions. This issue is on the mingw issue tracker here: https://sourceforge.net/tracker/?func=detail&aid=3302807&group_id=2435&atid=302435 Until the fix gets merged, download the following patched version and simply extract into c:\tools\mingw: http://afuera.me.uk/junk/w32api-3.17-2-mingw-patch3302807-dev.tar.lzma (Alternately you can fetch the source for the w32api package from www.sourceforge.net/projects/mingw and apply the patch yourself) You will need to compile and install the msrpc-mingw package, which wraps MIDL.EXE and the RPC API to make it usable from gcc. git clone git://github.com/ssssam/msrpc-mingw.git cd msrpc-mingw MIDL=/c/Program\ Files/Microsoft SDKs/Windows/v7.0/bin/MIDL.exe ./waf configure --prefix=c:/build ./waf ./waf install You can then configure moonshot from the MSYS shell: ACLOCAL="aclocal -I/c/build/share/aclocal" PKG_CONFIG_PATH=/c/build/lib/pkgconfig \ ./autogen.sh --disable-maintainer-mode --prefix=/c/build The configure script looks for various tools that it may not be able to locate automatically. In these cases you will get an error message, and you can set the environment variable described there to the location of the program. For example, if LIB.EXE is not found you will need to run ACLOCAL="aclocal -I/c/build/share/aclocal" PKG_CONFIG_PATH=/c/build/lib/pkgconfig \ MSVC_LIB="/c/Program Files/...VC location../bin/lib.exe" \ ./autogen.sh --disable-maintainer-mode If this succeeds, you're ready to build! make make icons make installer The icons and installer targets make a few assumptions based on the install prefix. You may have to edit Makefile.am to edit the paths if you haven't followed the instructions exactly. Weird things that might go wrong -------------------------------- MSYS is a little fragile, here are some things to try if you get weird failures of any component: * Make sure your PATH looks like this: /c/build/bin:/c/tools/python:/usr/local/bin:/mingw/bin:/bin so that there are no entries before these that might override a shell tool. * Sometimes TMP is set and this breaks some of the tools. Run: export TMP= to fix this. * Don't ever use \ in paths (except to escape spaces) - always use /c/build/bin not c:\build\bin. Otherwise shell scripts break all over the place.