|
# Windows platforms: Cygwin, MSYS, and MinGW
|
|
# Windows platforms: Cygwin, MSYS, and MinGW
|
|
|
|
|
|
|
|
|
|
Warning. This page, although still useful, is somewhat out of date. There have been multiple forks in this space. We currently use [ MSYS2](http://sourceforge.net/projects/msys2/) instead of [ MSYS(1)](http://mingw.org/wiki/MSYS) and [ MinGW-W64](http://mingw-w64.org/) instead of the original [ MinGW](http://mingw.org/). And Cygwin is no longer supported for building GHC.
|
|
Warning. This page, although still useful, is somewhat out of date. There have been multiple forks in this space. We currently use [MSYS2](http://sourceforge.net/projects/msys2/) instead of [MSYS(1)](http://mingw.org/wiki/MSYS) and [MinGW-W64](http://mingw-w64.org/) instead of the original [MinGW](http://mingw.org/). And Cygwin is no longer supported for building GHC.
|
|
|
|
|
|
|
|
|
|
The build system is built around UNIX Makefiles. Because it's not native, the Windows situation for building GHC is a little confusing. This section tries to outline the situation for building GHC on Windows.
|
|
The build system is built around UNIX Makefiles. Because it's not native, the Windows situation for building GHC is a little confusing. This section tries to outline the situation for building GHC on Windows.
|
|
|
|
|
|
|
|
|
|
If you are already familiar with using UNIX build tools on Windows and simply want to build GHC the jump to [ build preparation](http://hackage.haskell.org/trac/ghc/wiki/Building/Preparation/Windows).
|
|
If you are already familiar with using UNIX build tools on Windows and simply want to build GHC the jump to [build preparation](http://hackage.haskell.org/trac/ghc/wiki/Building/Preparation/Windows).
|
|
|
|
|
|
## MinGW
|
|
## MinGW
|
|
|
|
|
|
[ MinGW (Minimalist GNU for Windows)](http://www.mingw.org) is a native port of `GCC` to windows such that it can be used to compile and produce native windows programs that have no reliance on third party DLLs. The tools distributed include the GNU Compiler Collection (`GCC`), GNU Binary Utilities (`Binutils`), GNU Debuger (`GDB`) and some other utilities.
|
|
[MinGW (Minimalist GNU for Windows)](http://www.mingw.org) is a native port of `GCC` to windows such that it can be used to compile and produce native windows programs that have no reliance on third party DLLs. The tools distributed include the GNU Compiler Collection (`GCC`), GNU Binary Utilities (`Binutils`), GNU Debuger (`GDB`) and some other utilities.
|
|
|
|
|
|
|
|
|
|
MinGW doesn't provide a UNIX shell environment though so by itself can't be used to build GHC as we rely on GNU Make, a UNIX Shell and the standard UNIX utilities.
|
|
MinGW doesn't provide a UNIX shell environment though so by itself can't be used to build GHC as we rely on GNU Make, a UNIX Shell and the standard UNIX utilities.
|
... | @@ -21,9 +21,9 @@ MinGW doesn't provide a UNIX shell environment though so by itself can't be used |
... | @@ -21,9 +21,9 @@ MinGW doesn't provide a UNIX shell environment though so by itself can't be used |
|
|
|
|
|
As you can't use MinGW to "build" GHC since it doesn't provide a shell or GNU Make, another additional project will be needed. For that there are two choices:
|
|
As you can't use MinGW to "build" GHC since it doesn't provide a shell or GNU Make, another additional project will be needed. For that there are two choices:
|
|
|
|
|
|
- [ MSYS](http://www.mingw.org/wiki/MSYS) MSYS provides a bare bones UNIX like environment, including GNU Bash, GNU Make, GNU Autoconf, SSH and GNU Coretuils. Its enough so that in combination with MinGW you can build native windows tools using the GNU build chain and utilities. MSYS is managed by the MinGW project.
|
|
- [MSYS](http://www.mingw.org/wiki/MSYS) MSYS provides a bare bones UNIX like environment, including GNU Bash, GNU Make, GNU Autoconf, SSH and GNU Coretuils. Its enough so that in combination with MinGW you can build native windows tools using the GNU build chain and utilities. MSYS is managed by the MinGW project.
|
|
|
|
|
|
- [ Cygwin](http://www.cygwin.com) aims to provide a POSIX API and environment on windows. The price is that executables built against Cygwin must be dynamically linked with the Cygwin DLL. It is also a little more of an abstracted (from Windows) environment to work in. Cygwin does provide far more of a UNIX like environment than MSYS does though, even offering X Windows for example.
|
|
- [Cygwin](http://www.cygwin.com) aims to provide a POSIX API and environment on windows. The price is that executables built against Cygwin must be dynamically linked with the Cygwin DLL. It is also a little more of an abstracted (from Windows) environment to work in. Cygwin does provide far more of a UNIX like environment than MSYS does though, even offering X Windows for example.
|
|
|
|
|
|
## GHC Targets MinGW
|
|
## GHC Targets MinGW
|
|
|
|
|
... | | ... | |