As we all know, all the windows user are cursed by proprietary tools. It’s tough to find standard tools which are available on Linux.
I was looking for a code indenting tool on Windows XP. The obvious choice is GNU indent, I have used it on Fedora. Thanks to GnuWin32 which provides ports of gnu indent with an open source license, on Windows.
GnuWin32 provides ports of tools with a GNU or similar open source license, to MS-Windows (Microsoft Windows 95 / 98 / ME / NT / 2000 / XP / 2003 / Vista / 2008).
The GnuWin32 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. Native ports do not rely on some kind of Unix emulation, such as CygWin or Msys, 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 GnuWin32, are used and distributed with packages such as GNU Emacs and KDE-Windows.
The packages that have been ported, fall into four broad categories:
- GNU utilities: bc, bison, chess, compface, cpio, coreutils (fileutils, sh-utils, stat, textutils), diffutils, doschk, ed, findutils, flex, gawk, gdbm, gcal, gengetopt, gettext, gperf, grep, groff, gsl, gzip, hello, help2man, iconv, jwhois, less, m4, miscfiles, patch, readline, regex, rx, sed, sharutils, tar, texinfo, tree, units, unrtf, wget, which
- Archivers and compressors: arc, arj, bsdtar, bzip2, gzip, lha, libarchive, unzip / zip, zlib
- Other utilities: byacc, cpuid, cygutils, file, ntfsprogs, openssl, pcre, popt, re2c, rpl, sgrep, tree, x86info
- Graphics packages: asciichart, compface, gd, jpeg, jbigkit, liburt, libungif, libpng and png utilities, libwmf, netpbm, piechart, plotutils, tiff, xpm, zimg
- Textprocessing- and postscript-related packages: a2ps, barcode, bm2font, deroff, dvidj, enscript, freetype, grap, gri, groff, indent, libxml, nenscript, pdflib, polyglotman, psutils, scribe2latex, src-highlite, t1lib, t1utils, troff2latex, ttf2pt1, unrtf
- Mathematical and statistical packages: bc, calc, crypt, fdlibm, gsl, units
Some other characteristics of GnuWin32 are:
GnuWin32 comes with a very nice Installer; something of which most of the windows users are accustomed. GnuWin32 always provides the source, which usually is also required by the license of the original package, with any changes from the original code in the form of a diff. GnuWin32 always provides the documentation in a ‘compiled’ form, i.e. as PDF, HTML, PS, DVI, CHM, and HLP. GnuWin32 provides import libraries for MSVC and BCC wherever possible.
In general, static and import C libraries from GnuWin32 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 GnuWin32 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.