These are instructions for building libgig, linuxsampler and gigedit on Windows (32 bit) with help of MinGW and MSYS. After the MinGW and MSYS environment and the other prerequisites are installed, the build procedure will be the same as in Linux, that is, basically: ./configure ; make ; make install.
The versions of the files to download are just the ones I used before updating this text. You can probably use later ones if available.
Some of the instructions below are marked with ** and ***:
** = only needed if you are going to build from CVS, not if you are using the tar file releases
*** = only needed if you are going to build gigedit
Download the MinGW installer, MinGW-5.1.4.exe, from www.mingw.org and run it. The installer will automatically download and install further packages. Choose the base tools and the g++ compiler.
The pkg-config tool is needed by the configure script in all the LinuxSampler packages. pkg-config is included in gtkmm, which is needed by gigedit. (If you are not going to build gigedit, you can download just GLib and pkg-config from www.gtk.org.)
Download the gtkmm windows installer, gtkmm-win32-devel-2.16.0-4.exe, from www.gtkmm.org, and run it. Let the installer adjust the PATH variable as it wants.
Download from "MSYS Base System, Current Release_ MSYS-1.0.11":
MSYS-1.0.11.exe
Run the installer.
Download from "MSYS Supplementary Tools, Technology Preview_ Tools for MSYS-1.0.11":
bison-2.3-MSYS-1.0.11-1.tar.bz2 ** crypt-1.1-1-MSYS-1.0.11-1.tar.bz2 ** cvs-1.11.22-MSYS-1.0.11-1-bin.tar.gz ** perl-5.6.1-MSYS-1.0.11-1.tar.bz2 **
Extract these files to the msys root directory, by starting msys, do "cd /" followed by "tar xaf filename".
Download from "MinGW autoconf, autoconf2.5, autoconf2.5-2.63-1":
autoconf2.5-2.63-1-mingw32-bin.tar.lzma **
From "MinGW autoconf, wrapper, autoconf-6-1":
autoconf-6-1-mingw32-bin.tar.lzma **
From "MinGW automake, automake1.11, automake1.11-1.11-1":
automake1.11-1.11-1-mingw32-bin.tar.lzma **
From "MinGW automake, wrapper, automake-4-1":
automake-4-1-mingw32-bin.tar.lzma **
From "MinGW gettext, gettext-0.17-1":
gettext-0.17.1-1-mingw32-dev.tar.lzma *** libgettextpo-0.17-1-mingw32-dll-0.tar.lzma *** libintl-0.17-1-mingw32-dll-8.tar.lzma ***
From "MinGW libiconv, libiconv-1.13.1-1":
libiconv-1.13.1-1-mingw32-dll-2.tar.lzma ***
From "GCC Version 4, Current Release_ gcc-4.4.0":
gcc-core-4.4.0-mingw32-dll.tar.gz ***
From "MinGW libtool, libtool-2.27a-1":
libtool-2.2.7a-1-mingw32-bin.tar.lzma
Extract all these files to the MinGW directory, by starting msys, do "cd /mingw" followed by "tar -x --lzma -f filename" for the .tar.lzma files and "tar xaf filename" for the .tar.gz file.
Download asiosdk2.2.zip from Steinberg. Extract it to your msys $HOME.
If you want to build the LinuxSampler VST plugin, download vst_sdk2_4_rev2.zip from Steinberg (note that you should not choose version 3). Extract it to msys $HOME.
Download intltool_0.40.4-1_win32.zip from http://ftp.gnome.org/pub/GNOME/binaries/win32/intltool
Unzip this into the gtkmm directory (C:\Program Files\gtkmm)
The perl in MSYS is lacking an XML parser which is needed by intltool. Download ActivePerl from www.activestate.com and install it.
The gigedit Makefile wants to build the gigedit quick start documentation, so it needs the xsltproc command. Download from http://www.zlatkovic.com/pub/libxml/:
libxml2-2.7.3.win32.zip libxslt-1.1.24.win32.zip
Copy the contents of the bin directories from both zip files to a directory of your choice. Add this directory last in your msys PATH, for example:
export PATH=$PATH:$HOME/xsltproc
Add the gtkmm aclocal directory to the list of extra directories used by autoconf. (Make sure the gtkmm path is the one where you installed it. The space in "Program Files" causes problems, so the short file name form is used here):
echo "/c/Progra~1/gtkmm/share/aclocal" >> /mingw/share/aclocal/dirlist
Add the gtkmm bin directory first in your PATH (the installer has already added gtkmm to the PATH, but it may have used "Program Files" with a space in it, which causes configure to fail):
export PATH=/c/Progra~1/gtkmm/bin:$PATH
Make sure pkg-config will find the libraries you build:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
*** The intltool scripts expect perl to be in /opt/perl/bin, so make a link to the ActivePerl installation. Also add ActivePerl to PATH:
mkdir -p /opt/perl/bin ln -s /c/Perl/bin/perl.exe /opt/perl/bin export PATH=/c/Perl/bin:$PATH
*** MinGW gettext and gtkmm both include libintl. We want the gtkmm version. Remove the MinGW files so the gettext configure tools don't choose the wrong version:
rm /mingw/include/libintl.h /mingw/lib/libintl*
*** The gettext configure tools also need:
export CPPFLAGS="-I/c/Progra~1/gtkmm/include" export LDFLAGS="-L/c/Progra~1/gtkmm/lib"
The windows precompiled version of SQLite doesn't include the neccessary development files, so it's best to build SQLite yourself. Download sqlite-amalgamation-3.6.16.tar.gz from www.sqlite.org and extract it to your $HOME:
cd tar xzf sqlite-amalgamation-3.6.16.tar.gz
Build and install:
cd sqlite-3.6.16 CFLAGS=-O2 ./configure make make install
(Without CFLAGS=-O2, the build will fail. The MinGW compiler has some problems with creating the debug info for some reason.)
The windows precompiled version of libsndfile doesn't include the neccessary pkg-config file, so it's best to build libsndfile yourself. Download libsndfile-1.0.20.tar.gz from www.mega-nerd.com and extract it to your $HOME:
cd tar xzf libsndfile-1.0.20.tar.gz
Build and install:
cd libsndfile-1.0.20 ./configure make make install
Just use the same commands as you would in linux:
make -f Makefile.cvs (if you build from CVS) ./configure (add any configuration parameters as you wish) make make install
make -f Makefile.cvs (if you build from CVS) ./configure --enable-asiosdk-dir=$HOME --enable-vstsdk-dir=$HOME/vstsdk2.4 make make install
make -f Makefile.cvs (if you build from CVS) ./configure make make install