BuildingGstPluginsGoodInMinGWMsys

Back to contents

Install optional packages

Install libcaca

Go to http://caca.zoy.org/wiki/libcaca

Download latest libcaca package:

libcaca-0.99.beta17.tar.gz

Unpack to c:\src

Modify c:\src\libcaca-0.99.beta17\caca\caca.h , c:\src\libcaca-0.99.beta17\caca\caca0.h and c:\src\libcaca-0.99.beta17\cxx\caca++.h:

Replace (case-sensitive) “ _WIN32 " with “ _MSC_VER ” and "(_WIN32)" with "(_MSC_VER)". This will prevent declspecs from being added to the function prototypes, since they are unnecessary when using the GNU toolchain (and the linker will complain about exporting non-existent functions).

Now do:

cd /c/src/libcaca-0.99.beta17
libtoolize -cif && ./bootstrap && CXXFLAGS="-fno-common" CFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --prefix=/mingw
make
make install

Install FLAC

cd /c/src
cvs -d:pserver:anonymous@flac.cvs.sourceforge.net:/cvsroot/flac login
(press enter when asked for password)
cvs -z3 -d:pserver:anonymous@flac.cvs.sourceforge.net:/cvsroot/flac co -P flac

Edit c:/src/flac/Makefile.am:

change

AUTOMAKE_OPTIONS = foreign 1.7

to

AUTOMAKE_OPTIONS = foreign 1.11

Do:

cd flac
dos2unix configure.in
touch config.rpath
CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./autogen.sh --disable-doxygen-docs --prefix=/mingw
mkdir -p ./doc/html/api
touch ./doc/html/api/empty
make
make install

Install JPEG

Get jpegsrc.v8c.tar.gz from http://www.ijg.org/

Unpack to c:\src

cd /c/src/jpeg-8c/
CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --prefix=/mingw
make
make install

Install Speex

Get speex-1.2rc1 from http://www.speex.org/downloads/ Unpack to c:\src

cd /c/src/speex-1.2rc1
CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --prefix=/mingw
make
make install

Install Shout

Get libshout-2.2.2.tar.gz from http://www.icecast.org/download.php unpack to c:\src

Modify src/Makefile.am:

Change

                httpp/libicehttpp.la $(MAYBE_THREAD_LIB) $(THEORA_LIBS) $(VORBIS_LIBS)

to

                httpp/libicehttpp.la $(MAYBE_THREAD_LIB) $(THEORA_LIBS) $(VORBIS_LIBS) $(SPEEX_LIBS)

Modify include/shout/shout.h.in:

Change:

#ifdef WIN32

to

#ifdef _MSC_VER

Modify examples/nonblocking.c:

Change:

sleep(1);

to

_sleep(1);

Do:

cd /c/src/libshout-2.2.2
libtoolize --copy --force
aclocal -I ./m4
autoconf
CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --prefix=/mingw
automake --add-missing --copy
make
make install

libsoup

Install GnuTLS

Go to http://josefsson.org/gnutls4win/?M=A

Download latest gnutls binary package:

gnutls-2.9.12.zip

Unpack it to c:\mingw

Now do:

cd mingw/lib
for file in `grep -l "/usr/i586-mingw32msvc/lib" ./*.la`; do sed 's/\/usr\/i586-mingw32msvc/\/mingw/g' $file >/tmp/$$ && mv /tmp/$$ $file ; done
sed 's/\/usr\/i586-mingw32msvc/\/mingw/g' /mingw/bin/libgcrypt-config >/tmp/$$ && mv /tmp/$$ /mingw/bin/libgcrypt-config

Install libsoup

Go to ftp://ftp.gnome.org/pub/gnome/sources/libsoup

Download latest libsoup source package:

libsoup-2.32.2.tar.bz2 (anything newer will require glib 2.27, which might not be available in pre-compiled binary form just yet)

Unpack to c:\src

cd /c/src/libsoup-2.32.2
CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --without-gnome --prefix=/mingw
make
make install

Install taglib

Go to http://developer.kde.org/~wheeler/taglib.html

Download latest taglib package:

taglib-1.6.3.tar.gz

Unpack to c:\src\taglib-1.6.3

cd /c/src/taglib-1.6.3
CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --prefix=/mingw
make
make install

Install WAVPack

Go to http://www.wavpack.com/downloads.html#sources

Download latest wavpack source package for *nix:

wavpack-4.60.1.tar.bz2

Unpack to c:\src

cd /c/src/wavpack-4.60.1
CPPFLAGS="-D__MSVCRT_VERSION__=0x0601" CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --prefix=/mingw
make
make install

Get DirectX SDK for directsoundsink

Do:

svn checkout --trust-server-cert --non-interactive --no-auth-cache https://mingw-w64.svn.sourceforge.net/svnroot/mingw-w64/trunk/mingw-w64-headers/direct-x/include /mingw/include/direct-x
svn export --trust-server-cert --non-interactive --no-auth-cache https://mingw-w64.svn.sourceforge.net/svnroot/mingw-w64/trunk/mingw-w64-headers/crt/_mingw_unicode.h /mingw/include/direct-x/_mingw_unicode.h

Build gst-plugins-good

cd /c/src
git clone git://anongit.freedesktop.org/gstreamer/gst-plugins-good
cd gst-plugins-good
DIRECTSOUND_CFLAGS="-I/mingw/include/direct-x" CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./autogen.sh --enable-experimental --disable-gtk-doc --with-libintl-prefix=/mingw --prefix=/mingw
make
make install

That's all for Gst-Plugins-Good. Other plugins cannot be built: