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/what.texinfo | |
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/what.texinfo')
-rw-r--r-- | winsup/doc/what.texinfo | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/winsup/doc/what.texinfo b/winsup/doc/what.texinfo new file mode 100644 index 000000000..dd55f0fde --- /dev/null +++ b/winsup/doc/what.texinfo @@ -0,0 +1,85 @@ +@chapter What is it? + +The Cygwin tools are ports of the popular GNU development tools +for Windows NT, 95, and 98. They run thanks to the Cygwin library which +provides the UNIX system calls and environment these programs expect. + +With these tools installed, it is possible to 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 packages +included with the Cygwin development tools themselves). Even if +the development tools are of little to no use to you, you may have +interest in the many standard Unix utilities provided with the package. +They can be used both from the bash shell (provided) or from the +standard Windows command shell. + +@section Is it 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. + +In particular, if you intend to port a proprietary (non-GPL'd) +application using Cygwin, you will need the proprietary-use license +for the Cygwin library. This is available for purchase; please +contact sales@@cygnus.com for more information. +All other questions should be sent to the project +mailing list cygwin@@sourceware.cygnus.com. + +Note that when we say "free" we mean freedom, not price. The goal of +such freedom is that the people who use a given piece of software +should be able to change it to fit their needs, learn from it, share +it with their friends, etc. The Cygwin license allows you those +freedoms, so it is free software. + +The Cygwin 1.0 product is a "commercial" distribution of cygwin. As +such, it includes such non-software things as printed manuals, +support, and aggregation of useful utilities. There is nothing +(software-wise) in there that you can't already get off the net +already, if you take the time to find and download everything (and +usually, build it yourself). We test it all to make sure it works +together, and package it in a convenient form. We consider such +testing and packaging to be a valuable service and thus charge a fee +for it. Plus, it provides income for the cygwin project so we can +continue working on it :-) + +@section A brief history of the 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/95. 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 (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 95 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 95 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. + +After adding Windows 98 support to Cygwin in mid-1998, we added support +for the native Microsoft libraries in the compiler which allows +compilation of executables that do not use Cygwin. This is important to +those people who want to use the tools to develop Win32 applications +that do not need the UNIX emulation layer. |