Installing MinGW and MSys

Compiling on Windows

Windows does not provide a Bourne shell as a standard component. In order to build CopperSpice a shell program is required to run the configure scripts. This is installed as part of the MSys project.

MinGW, formerly called mingw32, is a development environment for Windows applications. It includes the GNU Compiler and other required tools. Since MinGW does not rely on any runtime DLL files, it is not necessary to distribute the source code with applications built using the GNU Compiler.

One of the tools in MinGW is GCC, which is the compiler for C, C++, and several other computer languages.

There are several different build versions of MinGW. We selected the "MinGW-Builds" project as it appears to be the most widely used and supported. The POSIX version was selected instead of the win32 version as the latter does not support C++11 threads.

On Windows the CopperSpice 32-bit libraries are built using the MinGW SJLJ version. The CopperSpice 64-bit libraries are built using the MingGW SEH version.

MSys

We recommend installing the following version of MSys as it provides several tools designed to work with the MinGW version of GCC. The same version of MSys is used for 32-bit and 64-bit systems.

msys+7za+wget+svn+git+mercurial+cvs-rev13.7z   MSys

Extract the MSys zip file to the suggested location of /c/Msys. Add this directory to your bash profile or path.

MingGW


Version 7.3.0

MinGW 64-bit Version x86_64-7.3.0-release-posix-seh-rt_v5-rev0.7z   MinGW 64-bit SEH

    Use this version of MinGW to build 64-bit binaries on 64-bit systems. This is the most common configuration.

MinGW 64-bit Version x86_64-7.3.0-release-posix-sjlj-rt_v5-rev0.7z   MinGW 64-bit SJLJ

    Use this version of MinGW to build 32-bit binaries on 64-bit systems.

MinGW 32-bit Version i686-7.3.0-release-posix-sjlj-rt_v5-rev0.7z       MinGW 32-bit

    Use this version of MinGW to build 32-bit binaries on 32-bit systems.

Extract the MinGW zip file to the suggested location of /c/MinGW. Since the executable is located in the bin directory, you will need to add /c/MinGW/bin/ to your bash profile or path.