dimanche, mai 24, 2015

What is MSys - MinGW - Cygwin


To make the milky 'soup' of project names more clear:
  • Cygwin - a Linux like environment, it provides tools and executable built upon cygwin dll
  • MinGW - is a minimalist development environment for native Microsoft Windows applications (think: GCC to compile native Win32 applications). This is a C/C++ compiler suite which allows you to create Windows executables (without dependency on DLLs such Cygwin DLL - you only need the normal MSVC runtime)
  • MSYS - is a minimal POSIX emulation layer providing a Bourne Shell command line interpreter system. It's a perfect environment for MinGW. In the past, it was forked from Cygwin
  • MSys2 - is another fork of Cygwin with the same idea as MSYS, but it is kept up-to-date with Cygwin and it comes with a package management system called Pacman(calling pacman -Syu will update all of the installed packages to their newest versions). MSys2 is the basis for the upcoming successor of msysGit.
  • msysGit - is the name of this project, a build environment to develop (i.e. not to use) Git for Windows, which releases the official binaries

So,

MinGW-w64 is an up to date MinGW version ===> pick it if you need a compiler
MSys2 is an up to date MSYS version (a POSIX env) ===> pick it if you need an env
                    AND a POSIX env for MinGW-w64 and others
                    AND a package manager for itself and MinGW-w64 (or others?)


https://github.com/msysgit/msysgit/wiki 
http://stackoverflow.com/questions/771756/what-is-the-difference-between-cygwin-and-mingw