====== Building Things in MSYS ======
===== smpeg =====
./configure --enable-gtk-player=no --enabled-shared=
Then change ''CC = gcc'' to ''CC = g++'' in ''Makefile'' and "make"
===== SDL_sound =====
First install any audio codec libraries that you want such as ''[[#smpeg]]'', ''libogg'', and ''libvorbis''.
CFLAGS="-fno-inline” CPPFLAGS=”`smpeg-config --cflags`" LIBS="`smpeg-config --libs` -lstdc++" ./configure
Check ''config.h'' to make sure things you want get enabled.
If you intend to use smpeg and libvorbis, you may need to change ''LIBS="$LIBS -lsmpeg"'' to ''LIBS="-lsmpeg $LIBS"'' in ''configure'' to get the correct link order
If ''playsound*.exe'' fails to link, edit the Makefile and add ''-lstdc++'' to end of the ''$(LINK)'' command
===== gtkglext =====
Grab the source tarball from [[http://gtkglext.sourceforge.net/download]] and unpack it in MSYS. Run the following to build and install gtkglext in MSYS (replace paths with where you installed GTK):
export PKG_CONFIG_PATH=C:/apps/GTK/lib/pkgconfig
export PATH=/c/apps/GTK/bin:.:/usr/local/bin:/mingw/bin:/bin:/c/apps/bin:/c/WINDOWS:/c/WINDOWS/System32/Wbem
./configure --prefix=C:/apps/GTK --build=i386-pc-mingw32 --disable-static --enable-debug=yes
make
make install
===== gtkglextmm =====
Grab the source tarball from [[http://gtkglext.sourceforge.net/download]] and unpack it in MSYS. Run the following to build and install gtkglextmm in MSYS (replace paths with where you installed GTK and gtkmm):
./configure --prefix=C:/apps/GTK --build=i386-pc-mingw32 --disable-static
make
make install
For some reason when I tried to compile gtkglextmm g++ would fail due to invalid arguments. I am not sure why, but it was getting passed empty arguments, and arguments one byte long where the ASCII value of the argument was less than 20. I created a wrapper script in perl, named it ''g++'', and made it executable. I renamed MinGW's ''g++'' to ''g++-orig'', and placed this script where ''g++'' was. This wrapper script stripped off the "weird" arguments being sent to ''g++''. gtkglextmm compiled successfully using this wrapper script. Here is the script I used:
#!/bin/perl
my @args;
foreach my $arg (@ARGV)
{
if ($arg =~ /^[\s\b\v\r\n\t]*$/ || $arg =~ /^['"]\s*['"]$/)
{
}
else
{
my @parts = split(//, $arg);
if (ord($parts[0]) > 31)
{
push(@args, $arg);
}
}
}
exec('/mingw/bin/g++-orig', @args);
===== gmp =====
./configure
make
make install
===== mpfr =====
First install [[#gmp]].
CFLAGS='-I/usr/local/include' LIBS='-L/usr/local/lib' ./configure
make
make install
===== gdc =====
First, in cygwin or Windows, in the folder in your MSYS home where you'll build gdc:
hg clone http://bitbucket.org/goshawk/gdc
Then, in MSYS:
mkdir gdc/dev
wget 'ftp://ftp.gnu.org/gnu/gcc/gcc-4.3.4/gcc-4.3.4.tar.bz2'
tar -C gdc/dev -xvjf gcc-4.3.4.tar.bz2
cd gdc/dev/gcc-4.3.4
ln -s ../../d gcc/d
./gcc/d/setup-gcc.sh --d-language-version=2
mkdir objdir
cd objdir
../configure --enable-languages=d --disable-multilib --disable-shared --with-gmp=/usr/local --with-mpfr=/usr/local
make
:!: This currently fails :-?