From 1fd5e000ace55b323124c7e556a7a864b972a5c4 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Thu, 17 Feb 2000 19:38:33 +0000 Subject: import winsup-2000-02-17 snapshot --- winsup/doc/overview.sgml | 87 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 winsup/doc/overview.sgml (limited to 'winsup/doc/overview.sgml') 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 @@ +Cygwin Overview + +What is it? + +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. + +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. + + + +Are the Cygwin tools free software? + +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. + + + +A brief history of the Cygwin project + +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. + +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. + +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. + + + +DOCTOOL-INSERT-ov-ex-unix +DOCTOOL-INSERT-ov-ex-win +Highlights of Cygwin Functionality +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 + + -- cgit v1.2.3