
These are basic instructions for building and packaging Mindawn Player
using the statically pre-compiled tarball for Linux.

1. Build requirements:
    - g++ 3.3.x & libstdc++.so.5.x. Older or newer gcc & libstdc++ versions
        may work, although tests on a Mandrake machine using gcc 3.4.x &
        libstdc++.so.6.x have failed due to some undefined symbols in libstdc++
    - Qt-mt(-devel) 3.3.3 or newer & all its dependencies, preferably built
        with all the image formats (jpeg, gif, png) enabled (otherwise the
        included browser may not display all the images on the web pages).
        Older versions of Qt may work, although it hasn't been tested.
    - taglib(-devel) 1.3 or newer. Older versions of taglib may work as well,
        although it hasn't been tested
    - SDL_sound(-devel) 1.0 or newer & all its dependencies (SDL, flac,
        ogg/vorbis, etc)

2. Building the binary:
    This assumes you have Qt(-devel, tools) properly installed and configured
on your computer and the Qt tools (ie. qmake) are available in $PATH.
    - unpack the tarball and open a shell inside the resulting directory
    - run qmake and then make in the shell. If everything went well (ie. there
        are no build errors) you should get a "bin/mindawn" binary which is
        the application
    - (optional) copy the binary somewhere to your $PATH (ie. /usr/local/bin),
        or create a package (ie. rpm) containing the binary and the resource
        files (icons, .desktop file) inside the dist/ subdirectory
    - for Debian machines we also include all the needed files to build a deb,
        so building the binary and package is as simple as issuing a
        "fakeroot dpkg-buildpackage" in the shell

3. Distributing the binary or package:
    Mindawn Player is free (as in "no costs") for both personal and commercial
    use and redistribution as long as the static libraries and resource files
    included with the pre-compiled tarball are not modified before building
    the binary. That means you are free to redistribute and/or include in your
    favorite distribution the home-brew Mindawn package, however we would
    appreciate it if you contact us and let us know about it, so that we can
    add your package to our main web site.

A. Sample full list of dependencies after building the binary on a
    Debian/unstable machine:

$ ldd bin/mindawn
libtag.so.1 => /usr/lib/libtag.so.1 (0x49696000)
libSDL_sound-1.0.so.1 => /usr/lib/libSDL_sound-1.0.so.1 (0xb7f8b000)
libqt-mt.so.3 => /usr/lib/libqt-mt.so.3 (0xb78a0000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0xb7892000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0xb77c7000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb77b8000)
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0xb76fe000)
libm.so.6 => /lib/tls/libm.so.6 (0xb76db000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb76d2000)
libc.so.6 => /lib/tls/libc.so.6 (0xb759e000)
libFLAC.so.6 => /usr/lib/libFLAC.so.6 (0xb7569000)
libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0xb74c2000)
libdl.so.2 => /lib/tls/libdl.so.2 (0xb74bf000)
libvorbisfile.so.3 => /usr/lib/libvorbisfile.so.3 (0xb74b6000)
libz.so.1 => /usr/lib/libz.so.1 (0x47d73000)
libasound.so.2 => /usr/lib/libasound.so.2 (0xb7403000)
libvga.so.1 => /usr/lib/libvga.so.1 (0xb739e000)
libaa.so.1 => /usr/lib/libaa.so.1 (0x49615000)
libncurses.so.5 => /usr/lib/libncurses.so.5 (0x49162000)
libslang.so.1 => /lib/libslang.so.1 (0xb732a000)
libogg.so.0 => /usr/lib/libogg.so.0 (0xb7325000)
libsmpeg-0.4.so.0 => /usr/lib/libsmpeg-0.4.so.0 (0x47d98000)
libmikmod.so.2 => /usr/lib/libmikmod.so.2 (0x47edb000)
libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0xb72fd000)
libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0xb7215000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x47f6c000)
libaudio.so.2 => /usr/lib/libaudio.so.2 (0xb71ff000)
libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0xb71ae000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0x47fc4000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb71a6000)
libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0xb71a2000)
libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x47fb3000)
libXft.so.2 => /usr/lib/libXft.so.2 (0x47f9f000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb7134000)
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0xb712b000)
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0xb7114000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb7fea000)
libgpm.so.1 => /usr/lib/libgpm.so.1 (0x492b2000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0x47f4a000)

B. Sample build session of the pre-compiled tarball in /tmp:

xxl@march:/tmp$ tar xzf mindawn-1.2.050117.src.tgz
xxl@march:/tmp$ cd mindawn-1.2.050117
xxl@march:/tmp/mindawn-1.2.050117$ qmake
xxl@march:/tmp/mindawn-1.2.050117$ make
cd bin && qmake bin.pro -o Makefile
cd bin && make -f Makefile
make[1]: Entering directory `/tmp/mindawn-1.2.050117/bin'
g++  -o mindawn     -L/usr/share/qt3/lib -L/usr/X11R6/lib libmindawn.a libmpengine.a libmpsdl.a libtkcRadio.a libtkdecoder.a libtkcssl.a libsqlite.a -L/usr/lib -ltag -lSDL_sound qmake_image_collection.o -lqt-mt -lXext -lX11 -lm -lpthread
make[1]: Leaving directory `/tmp/mindawn-1.2.050117/bin'
xxl@march:/tmp/mindawn-1.2.050117$
