Cygwin, MinGW/MSYS, MinGW-W64/MSYS2
1. Cygwin
http://www.cygwin.com/
Cygwin is a large collection of GNU and Open Source tools which provide functionality similar to a Linux distribution on Windows
Cygwin is a DLL (cygwin1.dll) which provides substantial POSIX API functionality
2. MinGW/MinGW64 (Minimalist GNU for Windows)
https://mingw-w64.org/doku.php
http://www.mingw.org/
https://en.wikipedia.org/wiki/MinGW#Comparison_with_Cygwin
MinGW is a minimalist development environment for native Microsoft Windows applications.
MinGW provides provides a complete Open Source programming tool set which is suitable for the development of native MS-Windows applications, and which do not depend on any 3rd-party C-Runtime DLLs.
3. Msys/Msys2 (Minimal System)
https://github.com/msys2/msys2/wiki
MSYS2 is software distribution and a building platform for Windows. It provides a Unix-like environment, a command-line interface and a software repository making it easier to install, use, build and port software on Windows.
MSYS2 is an independent rewrite of MSYS, based on modern Cygwin and MinGW-w64 with the aim of better interoperability with native Windows software.
The name is a contraction of Minimal SYStem 2, and aims to provide support to facilitate using the bash shell, Autotools, revision control systems and the like for building native Windows applications using MinGW-w64 toolchains.
4. About Msys2, Cygwin, MinGW-w64
https://en.wikipedia.org/wiki/MinGW#Comparison_with_Cygwin
https://github.com/msys2/msys2/wiki/History
https://github.com/msys2/msys2/wiki/How-does-MSYS2-differ-from-Cygwin
https://stackoverflow.com/questions/771756/what-is-the-difference-between-cygwin-and-mingw
Cygwin --fork--> MinGW
^
|
use
|
Msys