merging mingw and cygwin

Mike Fahlbusch mcf@chariot.net.au
Sun Oct 12 04:56:00 GMT 2003


At 09:46 AM 11/10/2003, you wrote:

>I've been playing around with mingw and cygwin, and was wondering why 
>these were separate
>projects? I've been trying to get a unix API moved over to windows; I want 
>a Unix
>environment,

cygwin is the answer


>but at the same time want to be able to make Win32 native binaries,
>*without* the need of the cygwin dlls.

mingw32 can do that


>So - I've been trying various things:
>
>         1) cygwin
>         2) mingw
>         3) uwin
>         4) mks toolkit
>
>all of which are unsatisfactory in some way or another. #3 and #4 in 
>particular are
>proprietary; and #3 and #4 both have less support in gnu tools than I care 
>for. #3 looks
>nice, but furthermore doesn't seem to be supported in at&t anymore..
>
>However, #1 and #2 are a puzzle: why are they two separate projects? Its 
>terribly
>confusing; both have the same executable files created (ln and rm, for 
>example) so
>its hard to use one with the other; and its got to be a maintenance 
>nightmare to
>support separate patches for mingw and separate patches for cygwin.
>
>So - why aren't the two merged? Why isn't there a 'mingw' mode for cygwin, 
>where
>the ability to use the cygwin*.dll is turned off, and mingw executables 
>can be compiled
>under cygwin tools? And where constructs like using shortcuts for symlinks 
>are turned
>off, to make projects more win32 friendly...

If you want a win32 compiler that works like MS visual C compiler but 
without the IDE then use mingw32.  Although it can compile either -mconsole 
programs (using printf) or -mwindows programs (using the win32 API) it's 
not a *nix environment. *nix programs can't usually be compiled with it 
unless they are text-only console programs.  But it has many *nix workalike 
tools for it like binutils.

With cygwin it is designed to be just like using *nix. *nix programs 
compile under cygwin, starting with bash, ./configure, make and gcc.  It 
even has xwindows.  It is like using *nix but under MS windows.  Ideally 
any *nix program will compile and run under cygwin.

When I want to produce a win32 program I use mingw32.  When I want to use a 
*nix program I use cygwin.


>I'd think that this would be easier in the long run. If the two projects 
>were merged..
>But then again, who am I to make such a decision.. ;-)

A cut-down form of mingw32 is included in cygwin but I've never used 
it.  mingw32 is a descendant of gcc converted to run under MS 
windows.  cygwin is unix converted to run under MS windows (including 
gcc).  mingw32 is concerned with MS windows compatibility, whereas cygwin 
is about *nix compatibility.



Sig:
Think outside the dot.




--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list