Using -mno-cygwin flag

Dave Korn dave.korn@artimi.com
Wed May 4 17:49:00 GMT 2005


----Original Message----
>From: Sam Steingold
>Sent: 04 May 2005 18:32

>> That's something to take up with the MinGW folks (www.mingw.org).
> 
> I am not quite clear on the exact relationship between cygwin and MinGW
> project (I assumed that they are independent except that cygwin includes
> parts of MinGW).  Why would I want to talk to them?

  Because it is *their* compiler, *their* header files, *their* libraries,
and in all regards *their* distribution of software that you are invoking
when you use -mno-cygwin, so if you want changes to it, that's who you need
to talk to.

  Try and think of "-mno-cygwin" as invoking a cross compile to a different
target.

> I think that cygwin should include the native ports of packages for
> which such ports exist - as a matter of policy.

  Why?  This is the Cygwin project, not the MinGW project.  That's a bit
like saying "I don't think Cygwin should be a POSIX compatibility layer, I
think it should be an office suite".  We're responsible for supplying cygwin
ports.  MinGW is responsible for supplying MinGW ports.  If cygwin came with
a cross-compiler to powerpc-eabi, would you say Cygwin should come bundled
with an entire powerpc O/S?

> Here is the rationale:

> Supposed I am developing several different programs:
> <A>: just my own C code, compiled with "gcc -mno-cygwin"
> <B>: my own C + PCRE: I could compile it with "gcc -mno-cygwin", but
>      PCRE requires cygwin - for no technical reason because actually
>      PCRE compiles under win32 natively, without cygwin
> <C>: my own C + PCRE + X: there is no way to build it without cygwin,
>      because there is no native w32 port of X
> 
> Thus right now I can build a native w32 version of <A> but only cygwin
> versions of <B> and <C>.

  No, that's nonsense.  Since you compile with "-mno-cygwin", you aren't
making a cygwin version of <B>.  You're making a MinGW version of <B>.  This
is no more the same thing than a VAX is a SPARC.

> I want to be able to build a native w32 version of <B> also.

  You just did.  You used "-mno-cygwin".  That gets you a native w32
program.

> To do that, I must install _also_ MinGW - with its idiosyncratic
> installation system &c.

  Well, duh.  If you want to USE MinGW, you have to INSTALL it.  That much
is obvious.

  The point you're missing is that Cygwin is not responsible for mingw and
is not going to spend a lot of time adding packages to its distro.

> Note that I cannot switch to MinGW completely because it does not
> support X, so I am either stuck with <B> using cygwin (for no technical
> reason), or with two separate independent development systems (Cygwin
> and MinGW).

  You just don't get the significance of -mno-cygwin yet.  The point is,
when you are using -mno-cygwin, you are using an entirely different suite of
software.

    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....


--
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