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-3.exe, from www.gtkmm.org, and run it. Let the installer adjust the PATH variable as it wants.
I use the 1.0.11 Release Candiadate version, as I had problems building DLLs with the 1.0.10 current version.
Download from "MSYS Base System, Release Candidate: MSYS-1.0.11":
MSYS-1.0.11-rc-1.exe
Run the installer.
Download from "MSYS Supplementary Tools, Technology Preview: Tools for MSYS-1.0.11":
autoconf2.5-2.61-1-bin.tar.bz2 ** autoconf-4-1-bin.tar.bz2 ** automake1.10-1.10-1-bin.tar.bz2 ** automake-3-1-bin.tar.bz2 ** 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 ** gettext-0.16.1-1-bin.tar.bz2 *** gettext-0.16.1-1-dll.tar.bz2 *** libiconv-1.11-1-bin.tar.bz2 *** libiconv-1.11-1-dll.tar.bz2 *** libtool1.5-1.5.25a-1-bin.tar.bz2 perl-5.6.1-MSYS-1.0.11-1.tar.bz2 ***
Extract all these files to the msys directory, by starting msys, do "cd /" followed by "tar xjf filename" for .tar.bz2 files and "tar xzf filename" for .tar.gz files.
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 msys local directory (C:\msys\1.0\local)
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 ftp://ftp.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" >> /usr/local/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 LinuxSampler libraries:
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
*** MSYS gettext and gtkmm both include libintl. We want the gtkmm version. Remove the MSYS files so the gettext configure tools don't choose the wrong version:
rm /usr/local/include/libintl.h /usr/local/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.14.2.tar.gz from www.sqlite.org and extract it to your $HOME:
cd tar xzf sqlite-amalgamation-3.6.14.2.tar.gz
Build and install:
cd sqlite-3.6.14.2 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