====== 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 :-?