This stub was initialized with …/doc/README.msys2, please fix it as you see fit, e.g., explain what it actually does for the purposes of Freeciv for folks who have git and MinGW-w64 without Gtk.
MSYS2 Windows Installer build notes
This document is about building Freeciv Windows Installer packages
using MSYS2 from http://msys2.github.io
- Buildable clients are gtk3, gtk3.22, sdl2, and Qt
This chapter is about creating new msys2 build environment.
If you want to reproduce more official freeciv builds, the environment
used to make those builds is documented in the next chapter ("Premade environment"),
with listing of versions current at the time of this freeciv version.
1) Install MSYS2 following the documentation on their homepage
for win32 host or
for win64 host
1.2) Run it to install MSYS2 on build system
1.3) Launch msys2_shell to update packages
> pacman -Syu
2) Install following packages with 'pacman -Su'
2.1) Packages needed for building freeciv
These packages are needed even if you don't plan to make installer,
but only build freeciv for local use.
2.1.1) Arch independent packages needed for building freeciv
22.214.171.124) Arch independent packages always needed for building freeciv
With these packages it's possible to build freeciv source tree that
has already such generated files present that are created for the
126.96.36.199) Arch independent packages needed for getting and extracting freeciv
188.8.131.52) Arch independent packages needed for building freeciv from repository
checkout. These are needed in addition to the ones always needed for building
2.1.2) Arch-specific packages needed for building freeciv
184.108.40.206) Arch-specific packages for building common parts
- mingw-w64-i686-gcc / mingw-w64-x86_64-gcc
- mingw-w64-i686-icu / mingw-w64-x86_64-icu
- mingw-w64-i686-curl / mingw-w64-x86_64-curl
- mingw-w64-i686-bzip2 / mingw-w64-x64_64-bzip2
- mingw-w64-i686-readline / mingw-w64-x86_64-readline
- mingw-w64-i686-imagemagick / mingw-w64-x86_64-imagemagick
- mingw-w64-i686-SDL2_mixer / mingw-w64-x86_64-SDL2_mixer
220.127.116.11.2) Arch-specific optional packages for building common parts
- mingw-w64-i686-drmingw / mingw-w64-x86_64-drmingw
18.104.22.168) Arch-specific packages for building gtk3-client
- mingw-w64-i686-gtk3 / mingw-w64-x86_64-gtk3
22.214.171.124) Arch-specific packages for buildind Qt-client and/or Ruledit
- mingw-w64-i686-qt5 / mingw-w64-x86_64-qt5
126.96.36.199) Arch-specific packages for building sdl2-client
- mingw-w64-i686-SDL2_image / mingw-w64-x86_64-SDL2_image
- mingw-w64-i686-SDL2_ttf / mingw-w64-x86_64-SDL2_ttf
- mingw-w64-i686-SDL2_gfx / mingw-w64-x86_64-SDL2_gfx
2.2) Packages needed for building installer package
These are needed in addition to above ones used in the
building step already.
2.2.1) Arch-specific packages needed for building installer
- mingw-w64-i686-nsis / mingw-w64-x86_64-nsis
Premade msys2 environment is available for download from
Current version is
msys2-freeciv-win64-170714.7z, based on
with packages updated to 14-Jul-2017 level.
Both win32 and win64 targets are included. For each package listed below with <arch>
in the name, actually two packages is installed; one with a name where <arch> is
replaced by 'i686' and one where <arch> is replaced by 'x86_64'
Following packages have been installed:
Launch msys2 shell. Get the freeciv sources there
somehow. Some options are:
1) Download freeciv tarball within msys2 shell with wget
2) Use git within msys2 shell to get them from version control
3) Copy them from Windows folder where they are to a directory that
is within msys2
> cd windows/installer_msys2
> make <targets>
Target can be:
- "<gui>-installer", where <gui> is
- "snapshot", if your freeciv sources are in git checkout directory
You can also set minimum Windows version targeted. While setting this
to an older version allows those Windows versions to run the created
executables, it may come with the cost of disabling functionality that
newer Windows versions could otherwise have.
The version is set via MIN_WIN_VER variable. For values to use, see
list in: https://msdn.microsoft.com/en-us/library/6sehtctf.aspx
Current default is 0x0601 (Windows 7).
It's possible to set number of make jobs used in the build by
setting suitable make parameter to MAKE_PARAMS variable, e,g,
- Freeciv linked against readline in msys2 does not work.
Configure freeciv with --without-readline
- Readline support