Cygwin provides a full POSIX environment (as a windows DLL) in which applications, compiled as Windows EXEs, run as they would under Unix. WSL lets Linux ELF binaries run on Windows, with limited support for kernel calls and significant limitations in graphical applications. MSYS2 shares this goal of bringing Unix code to Windows machines with several other projects, most notably Cygwin and Windows Subsystem for Linux (WSL). It plays the same role the old MSYS did in MinGW.
MSYS2 ("minimal system 2") is a software distribution and a development platform for Microsoft Windows, based on Mingw-w64 and Cygwin, that helps to deploy code from the Unix world on Windows. Some useful tools such as gendef (an improved version of MinGW's pexports utility), and widl (an MIDL compiler from Wine).Īdditionally, the Mingw-w64 project maintains winpthreads, a wrapper library similar to pthreads-win32, with the main difference that it allows GCC to use it as a threads library resulting in functional C++11 thread libraries, , and.Structured Exception Handling (SEH) instead of DWARF or sjlj on x86-64 (from gcc 4.8+).
GCC multilib, which allows users to install 32-bit and 64-bit libraries in parallel.POSIX Threads (pthreads) support (including the possibility to enable C++11 thread-related functionality in GCC's libstdc++).MinGW-w64 provides a more complete Win32 API implementation, including: For many reasons, the lead developer and co-founder of the MinGW-w64 project, Kai Tietz, decided not to attempt further cooperation with MinGW. It was first submitted to the original MinGW project, but refused under suspicion of using non-public or proprietary information.
In 2008, OneVision then donated the code to Kai Tietz, one of its lead developers, under the condition that it remains open source. In 2005, Mingw-w64 was created by OneVision Software under clean room design principles, since the original MinGW project was not prompt on updating its code base, including the inclusion of several key new APIs and the much needed 64-bit support.
Mingw-w64 can generate 32 bit and 64-bit executables for x86 under the target names i686-w64-mingw32 and x86_64-w64-mingw32. Mingw-w64 can be run either on the native Microsoft Windows platform, cross-hosted on Linux (or other Unix), or "cross-native" on MSYS2 or Cygwin.
Mingw-w64 includes a port of the GNU Compiler Collection (GCC), GNU Binutils for Windows ( assembler, linker, archive manager), a set of freely distributable Windows specific header files and static import libraries which enable the use of the Windows API, a Windows native build of the GNU Project's GNU Debugger, and miscellaneous utilities. It was forked in 2005–2010 from MinGW ( Minimalist GNU for Windows). Mingw-w64 is a free and open source software development environment to create Microsoft Windows PE applications. Public domain (headers), GNU General Public License (compiler and toolchain), Zope Public License