1# Compilers Supported 2 3Our goal with compiler support is to make it as easy as possible for new 4contributors to get started with development of the game, while also using the 5newest compilers (and thus language standards) that we can. 6 7To that end, we aim to support gcc and clang up to the newest stable versions 8and back to those shipping in any supported version of a popular distribution 9or relevant development environment, including Ubuntu, Debian, MSYS, and XCode. 10 11In practice, compiler support is often determined by what is covered in our 12automated testing. 13 14At time of writing, the oldest relevant compiler is gcc 5.3, shipped in the 15Ubuntu Xenial LTS release. Ubuntu is likely to remain the limiting factor, so 16the set of supported compilers should be reviewed when Xenial ceases support in 172021-05. 18 19## GCC 20 21We support and test gcc from version 5.3. 22 23## Clang 24 25We support and test Clang from version 3.8. 26 27## Mingw and Mingw-w64 28 29We use Mingw for cross-compilation of Windows versions on Linux. gcc 5.4 is 30currently used both in the tests and for the Windows release binaries. 31 32## MSYS2 33 34MSYS2 is [a way to build the project](COMPILING-MSYS.md) on Windows. It 35currently offers gcc at versions 7 or higher. 36 37MSYS also provides clang. We don't currently support using clang here, but 38work to that end is welcome. 39 40## Visual Studio 41 42We also support [Visual Studio](COMPILING-VS-VCPKG.md) 2015 Update 3 and above. 43 44## XCode 45 46We've encountered a really bizarre polymorphic dispatch bug with XCode 10.1, so the minimum good version is 10.2. 47