From 346e50fd696d650a2aa27c0499dac9407602ae18 Mon Sep 17 00:00:00 2001 From: Keith Marshall Date: Sat, 8 Jan 2022 14:59:52 +0000 Subject: [PATCH] Add "What is Cygwin?" reference to FAQ. * faq.html (General Enquiries): Add question, and answer incorporating JonY's original MinGWiki description of Cygwin. --- faq.html | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/faq.html b/faq.html index 89ecf10..6ded0ea 100644 --- a/faq.html +++ b/faq.html @@ -110,6 +110,50 @@ of native MS‑Windows applications, with no implicit dependency on any 3rd‑party C‑Runtime DLL.

+ +
+

Originated by Steve Chamberlain, in 1995, like MinGW, +Cygwin is a system which aims to make (primarily) GNU tools +available on the MS‑Windows platform; +however, the two systems adopt entirely different  +methodologies to achieve this objective. +

+

Both systems are based on GNU tooling, +and both use the GNU Compiler Collection (GCC) as the means +of production for their respective application suites. +Since GNU is fundamentally a POSIX system, +both MinGW and Cygwin tools exhibit a POSIX feel; +however, whereas MinGW strives to minimize its POSIX influence, +using the MS‑Windows API directly,  +and thus, +MinGW applications may be classified as native  +MS‑Windows applications, +Cygwin has a much loftier objective ... it aims to provide a complete +emulation of the entire  POSIX.1 API! +This emulation is encapsulated within a single cygwin1.dll +shared object library, which serves as a bridge between the POSIX.1 API +and the MS‑Windows API, and upon which all  +Cygwin applications are dependent; consequently, +Cygwin applications are not  classified +as native  MS‑Windows applications. +

+

The availability of the POSIX.1 API, +furnished by cygwin1.dll, does generally reduce +the effort required to port GNU applications to Cygwin, +(for example, POSIX functions such as fork(), +mmap(), and ioctl() may not be +readily  implemented in terms of the MS‑Windows API, +and would require significant  porting +effort — if indeed it is even +feasible — to +support them in MinGW applications); +however, the reduced porting burden of Cygwin does  +incur the cost of the dependency on cygwin1.dll, +and its attendant commercial, +or strict “copyleft ” (GPL), +licensing requirement. +

+

A contraction of “Minimal SYStem”, -- 2.11.0