Open main menu

Difference between revisions of "Compiling ScummVM/MinGW-w64"

More updates to the instructions
(Update the MinGW-w64 instructions)
(More updates to the instructions)
Line 22: Line 22:
To create an i686 build environment, we need to first update the already installed packages. To do that, type the following in the MSYS2 terminal:
To create an i686 build environment, we need to first update the already installed packages. To do that, type the following in the MSYS2 terminal:
<source lang="bash">
<source lang="bash">
$> pacman -Syu
pacman -Syu
</source>
</source>


Then, type the following in the MSYS2 terminal:
Now, we need to create the default location for the additional packages:
<source lang="bash">
<source lang="bash">
$> mkdir /mingw32
mkdir /mingw32
$> pacman -Sy base-devel git mingw-w64-i686-toolchain make mingw-w64-i686-SDL2 mingw-w64-i686-SDL2_net mingw-w64-i686-nasm mingw-w64-i686-flac mingw-w64-i686-libjpeg-turbo mingw-w64-i686-libogg mingw-w64-i686-libvorbis mingw-w64-i686-libmad mingw-w64-i686-libmpeg2 mingw-w64-i686-zlib mingw-w64-i686-libtheora mingw-w64-i686-faad2 mingw-w64-i686-libpng mingw-w64-i686-freetype mingw-w64-i686-fluidsynth mingw-w64-i686-curl mingw-w64-i686-SDL2_net mingw-w64-i686-winsparkle mingw-w64-i686-readline
</source>
 
Then, type the following in the MSYS2 terminal to install all the needed additional packages (more info on each package can be found in the next section):
<source lang="bash">
pacman -Sy base-devel git mingw-w64-i686-toolchain make mingw-w64-i686-SDL2 mingw-w64-i686-SDL2_net mingw-w64-i686-nasm mingw-w64-i686-flac mingw-w64-i686-libjpeg-turbo mingw-w64-i686-libogg mingw-w64-i686-libvorbis mingw-w64-i686-libmad mingw-w64-i686-libmpeg2 mingw-w64-i686-zlib mingw-w64-i686-libtheora mingw-w64-i686-faad2 mingw-w64-i686-libpng mingw-w64-i686-freetype mingw-w64-i686-fluidsynth mingw-w64-i686-curl mingw-w64-i686-SDL2_net mingw-w64-i686-winsparkle mingw-w64-i686-readline
</source>
</source>


Line 36: Line 40:
In order to compile properly, ScummVM needs you to have certain libraries installed. The command in the above section installs all of the needed packages automatically. All the libraries in the list can be installed with similar commands:
In order to compile properly, ScummVM needs you to have certain libraries installed. The command in the above section installs all of the needed packages automatically. All the libraries in the list can be installed with similar commands:
<source lang="bash">
<source lang="bash">
$> pacman -S mingw-w64-<env>-<library>
pacman -S mingw-w64-<env>-<library>
</source>
</source>
where <env> is the environment as previously stated, and <library> is the name of the library, as stated in the list (e.g. pacman -S mingw-w64-x86_64-SDL):
where <env> is the environment as previously stated, and <library> is the name of the library, as stated in the list (e.g. pacman -S mingw-w64-x86_64-SDL):


* '''SDL2'''. Mandatory. ''We recently switched to SDL2. SDL 1 is still available as fallback option.''
* '''SDL2'''. Mandatory. ''We recently switched to SDL2. SDL 1 is still available as fallback option.''
* '''nasm'''. Optional, for faster compile of scalers.
* '''nasm'''. Optional, for faster compile of scalers.
* '''flac'''. Optional, for FLAC support.
* '''flac'''. Optional, for FLAC support.
* '''libjpeg-turbo'''. Optional, for JPEG support. Required for Groovie 2, Starship Titanic and Wintermute.
* '''libjpeg-turbo'''. Optional, for JPEG support. Required for Groovie 2, Starship Titanic and Wintermute.
* '''libogg''' and '''libvorbis'''. Optional, for OGG support.
* '''libogg''' and '''libvorbis'''. Optional, for OGG support.
* '''libmad'''. Optional, for MP3 support.
* '''libmad'''. Optional, for MP3 support.
* '''libmpeg2'''. Optional, for MPEG2 cutscene support.
* '''libmpeg2'''. Optional, for MPEG2 cutscene support.
* '''zlib'''. Optional, for compressed saved games.
* '''zlib'''. Optional, for compressed saved games.
* '''libtheora'''. Optional, for Broken Sword 2.5.
* '''libtheora'''. Optional, for Broken Sword 2.5.
* '''faad2'''. Optional, for AAC support.
* '''faad2'''. Optional, for AAC support.
* '''libpng'''. Optional, for PNG support.
* '''libpng'''. Optional, for PNG support.
* '''freetype'''. Optional, for TTF support.
* '''freetype'''. Optional, for TTF support.
* '''fluidsynth'''. Optional, for soundfont MIDI support.
* '''fluidsynth'''. Optional, for soundfont MIDI support.
* '''curl''' and '''SDL2_net'''. Optional, for cloud integration support.
* '''curl''' and '''SDL2_net'''. Optional, for cloud integration support.
* '''winsparkle'''. Optional, for application updates via the WinSparkle framework.
* '''winsparkle'''. Optional, for application updates via the WinSparkle framework.


1,502

edits