Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/doc/overview.sgml')
-rw-r--r--winsup/doc/overview.sgml87
1 files changed, 87 insertions, 0 deletions
diff --git a/winsup/doc/overview.sgml b/winsup/doc/overview.sgml
new file mode 100644
index 000000000..ea476dd49
--- /dev/null
+++ b/winsup/doc/overview.sgml
@@ -0,0 +1,87 @@
+<chapter id="overview"><title>Cygwin Overview</title>
+
+<sect1><title>What is it?</title>
+
+<para>The Cygwin tools are ports of the popular GNU development
+tools and utilities for Windows NT and 9x. They function through the
+use of the Cygwin library which provides the UNIX system calls and
+environment that these programs require.</para>
+
+<para>With the tools installed, programmers may write Win32
+console or GUI applications that make use of the standard Microsoft
+Win32 API and/or the Cygwin API. As a result, it is possible to
+easily port many significant UNIX programs without the need for
+extensive changes to the source code. This includes configuring and
+building most of the available GNU software (including the development
+tools included with the Cygwin distributions). Even if the
+compiler tools are of little to no use to you, you may have
+interest in the many standard UNIX utilities. They can be used both
+from the bash shell (provided) or from the command.com.</para>
+
+</sect1>
+
+<sect1><title>Are the Cygwin tools free software?</title>
+
+<para>Yes. Parts are GNU software (gcc, gas, ld, etc...), parts are
+covered by the standard X11 license, some of it is public domain,
+some of it was written by Cygnus and placed under the GPL. None of it
+is shareware. You don't have to pay anyone to use it but you should be
+sure to read the copyright section of the FAQ more more information on
+how the GNU General Public License may affect your use of these
+tools. If you intend to port a proprietary application using the Cygwin
+library, you may want the Cygwin proprietary-use license.
+For more information about the
+proprietary-use license, please contact sales@cygnus.com. Customers of
+the native Win32 GNUPro should feel free to submit bug reports and ask
+questions through the normal channels. All other questions should be
+sent to the project mailing list cygwin@sourceware.cygnus.com.</para>
+
+</sect1>
+
+<sect1><title>A brief history of the Cygwin project</title>
+
+<para>The first thing done was to enhance the development tools (gcc,
+gdb, gas, et al) so that they could generate/interpret Win32 native
+object files.</para>
+
+<para>The next task was to port the tools to Win NT/9x. We could have
+done this by rewriting large portions of the source to work within the
+context of the Win32 API. But this would have meant spending a huge
+amount of time on each and every tool. Instead, we took a
+substantially different approach by writing a shared library
+(the Cygwin DLL) that adds the necessary UNIX-like functionality
+missing from the Win32 API (fork, spawn, signals, select, sockets,
+etc.). We call this new interface the Cygwin API. Once written, it
+was possible to build working Win32 tools using UNIX-hosted
+cross-compilers, linking against this library.</para>
+
+<para>From this point, we pursued the goal of producing native tools
+capable of rebuilding themselves under Windows 9x and NT (this is
+often called self-hosting). Since neither OS ships with standard UNIX
+user tools (fileutils, textutils, bash, etc...), we had to get the GNU
+equivalents working with the Cygwin API. Most of these tools were
+previously only built natively so we had to modify their configure
+scripts to be compatible with cross-compilation. Other than the
+configuration changes, very few source-level changes had to be
+made. Running bash with the development tools and user tools in place,
+Windows 9x and NT look like a flavor of UNIX from the perspective of
+the GNU configure mechanism. Self hosting was achieved as of the beta
+17.1 release.</para>
+
+</sect1>
+
+DOCTOOL-INSERT-ov-ex-unix
+DOCTOOL-INSERT-ov-ex-win
+<sect1><title>Highlights of Cygwin Functionality</title>
+DOCTOOL-INSERT-ov-hi-intro
+DOCTOOL-INSERT-ov-hi-win9xnt
+DOCTOOL-INSERT-ov-hi-perm
+DOCTOOL-INSERT-ov-hi-files
+DOCTOOL-INSERT-ov-hi-textvsbinary
+DOCTOOL-INSERT-ov-hi-ansiclib
+DOCTOOL-INSERT-ov-hi-process
+DOCTOOL-INSERT-ov-hi-signals
+DOCTOOL-INSERT-ov-hi-sockets
+DOCTOOL-INSERT-ov-hi-select
+</sect1>
+</chapter>