The GnuWin project provides Win32-versions of GNU tools, or tools with a similar open source licence. The ports are native ports, that is they rely only on libraries provided with any standard 32-bits MS-Windows operating system, such as MS-Windows 95 / 98 / ME / NT / 2000 / XP / 2003 / Vista. Unlike CygWin or Msys, native ports do not rely on some kind of Unix emulation, so that there is no need to install additional emulation libraries. At present, all developments have been done under MS-Windows-XP, using the Mingw port of the GNU C and C++ (GCC) compilers. Utilities and libraries provided by GnuWin, are used and distributed with packages such as GNU Emacs and KDE-Windows.
The packages that have been ported, fall into four broad categories:
Some other characteristics of GnuWin are:
In general, static and import C libraries from GnuWin should be interoperable with other libraries compiled with Mingw, MSVC and BCC, although the options with which the library files have been compiled might differ; in particular, most libraries, and binaries, from GnuWin have been compiled without debug option. C++ libraries from different compilers are not in general interoperable.
The patches to the source code are given in unified diffs, usually in files ending in -diffs or .diff. In particular for packages whose source is infrequently updated, we try to keep track of the patches for FreeBSD, NetBSD, OpenBSD, Debian, Fedora, Red Hat, and Suse.