Open main menu

Difference between revisions of "Compiling ScummVM/MinGW"

no edit summary
Line 20: Line 20:


* [https://github.com/libsdl-org/SDL-1.2 SDL 1.2]. For Windows 95/98/ME support
* [https://github.com/libsdl-org/SDL-1.2 SDL 1.2]. For Windows 95/98/ME support
** You need the latest SDL 1.2 source code revision from GitHub ([https://github.com/libsdl-org/SDL-1.2/tree/27d991f356a2712feba0d7749f11807849665491 27d991f356a2712feba0d7749f11807849665491] at the time of writing).
** You need the latest SDL 1.2 source code revision from GitHub ([https://github.com/libsdl-org/SDL-1.2/tree/d06a1eb74acf96ded8898b8507cc568c862c9d74 d06a1eb74acf96ded8898b8507cc568c862c9d74] at the time of writing).


* [https://www.libsdl.org/projects/SDL_net/ SDL2_net]. Optional, for network support.
* [https://www.libsdl.org/projects/SDL_net/ SDL2_net]. Optional, for network support.
Line 41: Line 41:


* [http://downloads.xiph.org/releases/ogg/ libogg] and [http://downloads.xiph.org/releases/vorbis/ libvorbis] Optional, for OGG support
* [http://downloads.xiph.org/releases/ogg/ libogg] and [http://downloads.xiph.org/releases/vorbis/ libvorbis] Optional, for OGG support
** You need the latest libogg source code ([https://downloads.xiph.org/releases/ogg/libogg-1.3.4.tar.xz v1.3.4] at the time of writing).
** You need the latest libogg source code ([https://downloads.xiph.org/releases/ogg/libogg-1.3.5.tar.xz v1.3.5] at the time of writing).
** You need the latest libvorbis (not vorbis) source code ([https://downloads.xiph.org/releases/vorbis/libvorbis-1.3.7.tar.xz v1.3.7] at the time of writing).
** You need the latest libvorbis (not vorbis) source code ([https://downloads.xiph.org/releases/vorbis/libvorbis-1.3.7.tar.xz v1.3.7] at the time of writing).


Line 65: Line 65:
** You need the latest freetype source code ([http://download.savannah.gnu.org/releases/freetype/freetype-2.10.4.tar.xz v2.10.4] at the time of writing).
** You need the latest freetype source code ([http://download.savannah.gnu.org/releases/freetype/freetype-2.10.4.tar.xz v2.10.4] at the time of writing).


* [http://www.fluidsynth.org/ fluidsynth]. Optional, for soundfont MIDI support.
* [https://github.com/divideconcept/FluidLite FluidLite]. Optional, for soundfont MIDI support.
** You need at least [https://sourceforge.net/projects/fluidsynth/files/older%20releases/fluidsynth-1.0.9.tar.gz/download v1.0.9]. Newer versions than this should work, but require GTK's glib and CMAKE to build.
** You need the latest FluidLite source code revision from GitHub ([https://github.com/divideconcept/FluidLite/tree/37e812d31d9f6b712e4385f6134084b5803a74a3 37e812d31d9f6b712e4385f6134084b5803a74a3] at the time of writing).


* [https://github.com/fribidi/fribidi FriBiDi]. Optional, for bidirectional text in languages that need it (e.g. Hebrew)
* [https://github.com/fribidi/fribidi FriBiDi]. Optional, for bidirectional text in languages that need it (e.g. Hebrew)
Line 72: Line 72:


* [https://libjpeg-turbo.org/ libjpeg-turbo]. Optional, for JPEG support.
* [https://libjpeg-turbo.org/ libjpeg-turbo]. Optional, for JPEG support.
** You need the latest libjpeg-turbo source code ([https://sourceforge.net/projects/libjpeg-turbo/files/2.0.6/libjpeg-turbo-2.0.6.tar.gz/download v2.0.6] at the time of writing).
** You need the latest libjpeg-turbo source code ([https://sourceforge.net/projects/libjpeg-turbo/files/2.1.0/libjpeg-turbo-2.1.0.tar.gz/download v2.1.0] at the time of writing).


* [http://liba52.sourceforge.net/ liba52]. Optional, for AC-3 support.
* [http://liba52.sourceforge.net/ liba52]. Optional, for AC-3 support.
Line 81: Line 81:


* [https://curl.se/ libcurl]. Optional, for cloud support.
* [https://curl.se/ libcurl]. Optional, for cloud support.
** You need the latest libcurl source code ([https://curl.se/download/curl-7.76.0.tar.xz v7.76.0] at the time of writing).
** You need the latest libcurl source code ([https://curl.se/download/curl-7.77.0.tar.xz v7.77.0] at the time of writing).


* [https://github.com/nigels-com/glew GLEW]. Optional, for hardware acceleration in 3D games.
* [https://github.com/nigels-com/glew GLEW]. Optional, for hardware acceleration in 3D games.
Line 207: Line 207:




=== FluidSynth ===
=== FluidLite ===


We use fluidsynth 1.0.9, since later versions requires GTK.
Unzip the fluidlite archive in a folder, open MSYS, go to the fluidlite folder and issue these commands to compile and install the library:


Unzip the fluidsynth archive in a folder, open MSYS, go to the fluidsynth folder and apply the following patch:
cmake -G "MSYS Makefiles" -DFLUIDLITE_BUILD_SHARED=OFF -DCMAKE_INSTALL_PREFIX=/mingw -DCMAKE_BUILD_TYPE=Release .
 
<syntaxhighlight lang="diff">
--- include/fluidsynth.h
+++ include/fluidsynth.h
@@ -28,13 +28,7 @@
#endif
#if defined(WIN32)
-#if defined(FLUIDSYNTH_DLL_EXPORTS)
-#define FLUIDSYNTH_API __declspec(dllexport)
-#elif defined(FLUIDSYNTH_NOT_A_DLL)
-#define FLUIDSYNTH_API
-#else
-#define FLUIDSYNTH_API __declspec(dllimport)
-#endif
+#define FLUIDSYNTH_API
#elif defined(MACOS9)
#define FLUIDSYNTH_API __declspec(export)
--- fluidsynth.pc.in
+++ fluidsynth.pc.in
@@ -7,4 +7,5 @@
Description: Software SoundFont synth
Version: @VERSION@
Libs: -L${libdir} -lfluidsynth
+Libs.private: @LIBFLUID_LIBS@
Cflags: -I${includedir}
</syntaxhighlight>
 
Then issue these commands to compile and install the library:
./configure --disable-shared --prefix=/mingw
  make
  make
  make install
  make install
202

edits