cygwin/cygwin@wiki is a Unix-like environment and command-line interface for Windows. Cygwin consists of two parts: a dynamic-link library (DLL) as an API compatibility layer providing a substantial part of the POSIX API functionality, and an extensive collection of software tools and applications that provide a Unix-like look and feel.
%comspec% cinst cygwin -y (or https://cygwin.com/install.html) # open bash terminal %comspec% %CYGWINPATH%/bin bash.exe --login -i # open a terminal emulator %comspec% %CYGWINPATH%/bin mintty.exe
from MinTTY Gives Cygwin a Native Windows Interface
mingw@fedora/mingw-w64 brings free software toolchains to Windows. It hosts a vibrant community which builds and debugs software for Windows while providing development environment for everyone to use.
$ vi hello.c #include <stdio.h> int main () { printf ("Hello world!n"); return 0; } ## build using 'gcc', dependent on 'cygwin1.dll' 3.2Mb # open cygwinsetup.exe and install 'gcc' $ gcc hello.c -o hello-gcc.exe ## builds using 'mingw64', dependent on 'msvcrt.dll' / native # open cygwinsetup.exe and install 'mingw64-x86_64' or 'mingw64-i686' # note: http://www.delorie.com/howto/cygwin/mno-cygwin-howto.html $ x86_64-w64-mingw32-gcc hello.c -o hello-mingw64.exe # or ./configure --host=x86_64-w64-mingw32 ...
gow@github (Gnu On Windows) is the lightweight alternative to cygwin. It uses a convenient Windows installer that installs about 130 extremely useful open source UNIX applications compiled as native win32 binaries.
%comspec% cinst gow -y (or https://github.com/bmatzelle/gow/releases) # note: it adds gowbin to PATH # list available commands %comspec% gow.bat -l # execute bash shell script %comspec% bash.exe script.sh [script options]
from gow@tuxdiary
msys2 (Minimal SYStem 2) is a fork of cygwin focus on Windows interop dropping the Posix, using MinGW-w64 toolchains. Also ported Arch’s Pacman for easy package management.
# see http://sourceforge.net/p/msys2/wiki/MSYS2%20installation/ # open a shell %comspec% %MSYS64PATH%/msys2_shell.bat # install new package $ pacman -Suy PACKAGE # search package $ pacman -Ss PATTERN # list packages installed $ pacman -Q # build using 'mingw64' or 'gcc', both depend in 'msys-2.0.dll' 3.2Mb $ x86_64-pc-msys-gcc hello.c -o hello-mingw64.exe $ pacman -Syu gcc $ gcc hello.c -o hello-msys2.exe
from msys2@tuxdiary