Difference between revisions of "Compiling ScummVM/MXE"

From ScummVM :: Wiki
Jump to navigation Jump to search
Line 7: Line 7:


=== Setting up MXE ===
=== Setting up MXE ===
After you installed all the required packages mentioned above, you are ready to set up the MXE toolchain itself. 32 bit and 64 bit toolchains are available, either statically or dynamically linked. MXE calls the combination between "bitness" and linking type a "MXE_TARGET":
After you installed all the required packages mentioned above, you are ready to set up the MXE toolchain itself. 32 bit and 64 bit toolchains are available, either statically or dynamically linked.
 
MXE calls the combination between "bitness" and linking type a "MXE_TARGET":
<pre>
<pre>
i686-w64-mingw32.static: 32 bit, statically linked
i686-w64-mingw32.static: 32 bit, statically linked

Revision as of 21:03, 21 October 2019

Introduction

The MXE project (https://mxe.cc) provides an easy way to set up a MinGW-w64 based cross-compiling toolchain with a set of special Makefiles. This allows us to build for Windows using GNU/Linux, FreeBSD, the Windows Subsystem for Linux or macOS as host systems with a high level of automation. Starting with ScummVM 2.1.0, this is the preferred way to provide release builds for the project.

Installing MXE

Requirements

Before setting up the MXE toolchain and the necessary libraries, you have to make sure your system has all the required packages installed that are needed for compiling the toolchain itself. At https://mxe.cc/#requirements, MXE provides a list of the required tools/libraries with their corresponding package names for various GNU/Linux distributions. In case the distribution is not listed there, you have to do some manual research in your distribution's repositories.

Setting up MXE

After you installed all the required packages mentioned above, you are ready to set up the MXE toolchain itself. 32 bit and 64 bit toolchains are available, either statically or dynamically linked.

MXE calls the combination between "bitness" and linking type a "MXE_TARGET":

i686-w64-mingw32.static: 32 bit, statically linked
i686-w64-mingw32.shared: 32 bit, dynamically linked
x86_64-w64-mingw32.static: 64 bit, statically linked
x86_64-w64-mingw32.shared: 64 bit, dynamically linked

Compiling ScummVM