Cygwin consists of a collection of various tools and libraries aimed to provide a Linux-like environment on Windows Operating System. It acts as an emulation layer, making it possible to run native Linux applications on Microsoft Windows.
Originally developed by Cygnus Solutions, but acquired in 2000 by Red Hat, Cygwin is mostly bent on providing programmers with a simple way to provide Windows compatibility for applications that were originally developed for Linux environments. A few examples of Unix applications ported successfully are KDE, GNOME and Apache.
Cygwin consists of a DLL whose purpose is to provide POSIX API functionality and a collection of utilities that are able to accommodate the Unix look and feel on Windows computers. Components such as syslogd, inetd, crond and several such daemons are deployed as services, thus making it possible for Windows to behave in a Linux manner.
Being such a complex application, a sophisticated installation is expected. Deployment requires several user interventions, as well as a working Internet connection for downloading files from dedicated servers.
Users are advised to pay attention to the packages they select during setup; the more components, the longer the installation process. By default, the selection is minimal and includes only the bash shell, as well as core utilities, which are common in Unix command line.
Other components, such as terminals (mintty, util-linux), text utilities (grep, diff, patch), shells (dash, zsh, tcsh), servers (Apache, PostgreSQL, OpenSSH) and other development-related utilities are available in optional packages.
However, the default selection should be enough for compiling source code in order to produce GUI or console applications that are compatible with Windows. After all, the beauty of Cygwin comes from the fact that developers need not make extensive changes to the code, but few adjustments and additions.
What's New in This Release:
· New API: rawmemchr.
· Make cygcheck report when scanned DLLs are symlinks or are not meant
· for the current architecture (x86 vs. x86_64).
Bug fixes:
· Fix long-standing problem which allows to access files via ".." using an invalid POSIX path, for instance, `cd nonexistant/../existing_dir".
· Fix EFAULT when reading large clipboard.
· Fix creation of relative native symlinks.
· Update profiling code to latest from Mingw-w64.
· Fix character comparisons in certain scenarios within the functions glob(3), fnmatch(3), and regcomp(3). All Unicode chars beyond U+0100 are affected.
· Fix problem with pty closing which manifested as a screen issue