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''.
<code sh>
CFLAGS="-fno-inline” CPPFLAGS=”`smpeg-config --cflags`" LIBS="`smpeg-config --libs` -lstdc++" ./configure
</code>
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):
<code sh>
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
</code>
===== 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):
<code sh>
./configure --prefix=C:/apps/GTK --build=i386-pc-mingw32 --disable-static
make
make install
</code>
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:
<code perl>
#!/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);
</code>
===== gmp =====
<code sh>
./configure
make
make install
</code>
===== mpfr =====
First install gmp.
<code sh>
CFLAGS='-I/usr/local/include' LIBS='-L/usr/local/lib' ./configure
make
make install
</code>
===== gdc =====
First, in cygwin or Windows, in the folder in your MSYS home where you'll build gdc:
<code sh>
hg clone http://bitbucket.org/goshawk/gdc
</code>
Then, in MSYS:
<code sh>
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
</code>
This currently fails