There are two ports of the GNU development tools to MS Windows 95/98/NT: CygWin and mingw32.
The CygWin environment implements a POSIX layer under MS Windows, giving it large parts of the functionality of Unix. Thus, compiling GCC and GPC under the CygWin environment can be done following the instructions for compiling it under a Unix-like system (see Compiling GPC).
The Minimalists' GNU Win32 environment, mingw32, uses the native
crtdll.dll
library of MS Windows. It is much smaller than
CygWin, but it is not self-hosting and must be crossbuilt from
another system
(see Crossbuilding).