Serie: DOSBox unter Windows kompilieren 8/10

Diese Artikelserie zeigt auf, wie man unter Windows eine Entwicklungsumgebung mit Open Source basierten Programmen erstelllt und darin Programme und deren Abhängigkeiten kompiliert. Die daraus entstehenden Dateien können unter Windows wie normale Programme verwendet werden.

In diesem Artikel wird die auf SDL basierende Soundbibliothek SDL_sound kompiliert. Diese wird benötigt, um z.B. CD Images mit OGG Dateien als Audio Tracks mounten zu können. Die SDL_sound Bibliothek unterstützt von Haus aus das MP3 Format. Um Ogg Vorbis Dateien abspielen zu können, müssen erst einige zusätzliche Bibliotheken heruntergeladen und kompiliert werden.

Zunächst müssen die Dateien der folgenden Tabelle heruntergeladen und in das Heimvereichnis von MSYS kopiert werden:

Paket Beschreibung Link
libogg Container für z.B. Vorbis Musikdateien. libogg-1.1.3
libvorbis Vorbis Musik-Komprimieralgorithmus libvorbis-1.2.2rc1
SDL_sound Auf SDL basierende Musikbibliothek. SDL_sound-1.0.3

Die OGG Bibliothek kann ohne grössere Umstände entpackt und kompiliert werden.

tar xvzf libogg-1.1.3.tar.gz
mkdir libogg-build
cd libogg-build
../libogg-1.1.3/configure --prefix=/mingw && make && make install
cd ..

Die hier verwendete Version von libvorbis ist eigentlich ein Release Candidate. Also eine Version die zwischen Betaversion und offiziell veröffentlich ist. Der Grund für diese Wahl ist die mangelnde Unterstützung für MinGW in der offiziell verfügbaren Version.

tar xvjf libvorbis-1.2.2rc1.tar.bz2
mkdir libvorbis-build
cd libvorbis-build
../libvorbis-1.2.2/configure --prefix=/mingw && make && make install
cd ..

Versucht man das SDL_sound Paket unter MinGW zu kompilieren, funktioniert dies nicht, da gewisse Headerdateien mehrfach referenziert werden. Um dieses Problem zu umgehen müssen mit SED Anpassungen am Sourcecode vorgenommen werden.

cd
tar xvzf SDL_sound-1.0.3.tar.gz
mkdir SDL_sound-build
cd SDL_sound-build
for a in mpglib/mpg123_sdlsound.h timidity/tables.h;do
sed -e "s/#include.*
//g" ../SDL_sound-1.0.3/decoders/${a}>/tmp/gaga
cat /tmp/gaga > ../SDL_sound-1.0.3/decoders/${a}
rm /tmp/gaga
done
../SDL_sound-1.0.3/configure --prefix=/mingw && make && make install
cd ..

Da nun alle Abhängigkeiten erzeugt wurden, wird im neuten Teil dieser Artikelserie endlich die DOSBox kompiliert.