Open main menu

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

m
Line 22: Line 22:




== Setup MinGW-w64 and MSYS2 ==
== Prepare your build environment ==


=== Setup MinGW-w64 and MSYS2 ===
You can find [https://www.msys2.org/ MSYS2 on the official webpage] and detailed installation instructions on the [https://github.com/msys2/msys2/wiki/MSYS2-installation MSYS2 github wiki].
You can find [https://www.msys2.org/ MSYS2 on the official webpage] and detailed installation instructions on the [https://github.com/msys2/msys2/wiki/MSYS2-installation MSYS2 github wiki].


Line 38: Line 39:
For i686 (32-bit), type the following in the MSYS2 terminal to automatically install all packages/libraries needed to compile ScummVM:
For i686 (32-bit), type the following in the MSYS2 terminal to automatically install all packages/libraries needed to compile ScummVM:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
pacman -S --needed --noconfirm base-devel git mingw-w64-i686-{a52dec,ccache,curl,cairo,faad2,freetype,flac,fluidsynth,fribidi,glew,libjpeg-turbo,libogg,libvorbis,libmad,libmpeg2-git,libtheora,libpng,nasm,readline,SDL2,SDL2_net,toolchain,winsparkle,zlib,ntldd-git}
pacman -S --needed --noconfirm base-devel git mingw-w64-i686-{a52dec,ccache,cairo,faad2,freetype,flac,fluidsynth,fribidi,glew,libjpeg-turbo,libogg,libvorbis,libmad,libmpeg2-git,libtheora,libpng,nasm,readline,SDL2,SDL2_net,toolchain,winsparkle,zlib,ntldd-git}
</syntaxhighlight>
</syntaxhighlight>


For x86_64 (64-bit), type the following in the MSYS2 terminal to automatically install all packages/libraries needed to compile ScummVM:
For x86_64 (64-bit), type the following in the MSYS2 terminal to automatically install all packages/libraries needed to compile ScummVM:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
pacman -S --needed --noconfirm base-devel git mingw-w64-x86_64-{a52dec,ccache,curl,cairo,faad2,freetype,flac,fluidsynth,fribidi,glew,libjpeg-turbo,libogg,libvorbis,libmad,libmpeg2-git,libtheora,libpng,nasm,readline,SDL2,SDL2_net,toolchain,winsparkle,zlib,ntldd-git}
pacman -S --needed --noconfirm base-devel git mingw-w64-x86_64-{a52dec,ccache,cairo,faad2,freetype,flac,fluidsynth,fribidi,glew,libjpeg-turbo,libogg,libvorbis,libmad,libmpeg2-git,libtheora,libpng,nasm,readline,SDL2,SDL2_net,toolchain,winsparkle,zlib,ntldd-git}
</syntaxhighlight>
</syntaxhighlight>


These commands will fetch and install the packages needed for compiling, including (but not limited to) GCC 10.x, GDB, and libwinpthread-git.
These commands will fetch and install the packages needed for compiling, including (but not limited to) GCC 10.x, GDB, and libwinpthread-git.
=== Install modified curl package ===
The default curl version shipped with MSYS2 relies on an external certificate bundle for verifying SSL/TLS certificates. While this works fine in the mingw-w64 shell itself, it will break SSL verification outside the mingw-w64 shell. Since our cloud integration features rely on a working SSL implementation, we need to build our own curl release. Thanks to the PKGBUILD already provided by the MSYS2/Mingw-w64 developers, this is pretty straight forward.
First, we need to install a few dependencies. This has to be don in the MSYS2 shell.
pacman -S msys/openssl-devel msys/libmetalink-devel
Next, clone the repository containing the mingw-w64 package files in a seperate directory:
git clone https://github.com/msys2/MINGW-packages


== Let's get compiling! ==
== Let's get compiling! ==
333

edits