diff options
author | Christopher Faylor <me@cgf.cx> | 2000-02-17 19:38:33 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2000-02-17 19:38:33 +0000 |
commit | 1fd5e000ace55b323124c7e556a7a864b972a5c4 (patch) | |
tree | dc4fcf1e5e22a040716ef92c496b8d94959b2baa /winsup/doc/overview.sgml | |
parent | 369d8a8fd5e887eca547bf34bccfdf755c9e5397 (diff) | |
download | cygnal-1fd5e000ace55b323124c7e556a7a864b972a5c4.tar.gz cygnal-1fd5e000ace55b323124c7e556a7a864b972a5c4.tar.bz2 cygnal-1fd5e000ace55b323124c7e556a7a864b972a5c4.zip |
import winsup-2000-02-17 snapshot
Diffstat (limited to 'winsup/doc/overview.sgml')
-rw-r--r-- | winsup/doc/overview.sgml | 87 |
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> |