Ein Update für meinen ScummVM-Buildserver

Seit einigen Monaten betreibe ich einen eigenen Build-Server für die Windows-Version von ScummVM. Ursprünglich war der Server nur dazu gedacht, meine bisherige MSYS2-Toolchain abzulösen und ein vollständig statisches, permanent aktualisiertes Win32-Binary von ScummVM bereitstellen zu können.

In der Zwischenzeit ist das Projekt ziemlich gewachsen. Aktuell werden sowohl die offiziellen Windows-Versionen von ScummVM als auch die Nightly Builds von diesem Server gebaut. Die Bezeichnung „experimental“ trifft also nicht mehr wirklich zu, auch wenn ich „intern“ den Server weiterhin als Staging-Umgebung bezeichne.

Wichtig war mir hierbei auch, möglichst aktuelle Bibliotheken zu verwenden. Aus diesem Grund habe ich gestern neue Versionen von jpeg, FLAC und libcurl installiert. Die aktuell erstellten Builds werden auch bereits gegen diese Versionen gebaut. Als Toolchain verwende ich im Übrigen das wirklich großartige MXE-Projekt – dem Projekt habe ich im Übrigen auch ein Makefile für libmpeg2 sowie ein Makefile für fluidsynth spendiert.

Die Windows-Versionen von ScummVM können nun mit allen Engines und verfügbaren Features vollständig unter Verwendung der MXE-Toolchain gebaut werden. Da wir uns nicht mehr auf „selbstgebaute“ Toolchains verlassen müssen, werden zukünftige Toolchain-Updates wesentlich einfacher sein.

Bis auf fluidsynth sind die Versionen der genutzten Bibliotheken (im Regelfall) immer relativ aktuell. Bezüglich fluidsynth bin ich mit der aktuellen Implementierung in MXE noch nicht ganz zufrieden. Aktuell müsste ich fluidsynth noch einmal manuell bauen bzw. Cross-Compilen – dazu fehlt mir schlichtweg die Zeit, da wir die nächste ScummVM-Veröffentlichung bereits geplant haben. Ein Update werde ich für den Beginn des nächsten Release-Zyklus von ScummVM anpeilen.

Langfristig werde ich meine aktuelle Toolchain auch für den offiziellen ScummVM-Buildbot nutzen – mehr möchte ich an dieser Stelle noch nicht verraten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.