This is the mail archive of the mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: merging mingw and cygwin

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

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.

Think outside the dot.

-- Unsubscribe info: Problem reports: Documentation: FAQ:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]