GCC -mno-cygwin vs mingw32-gcc cross environment.
Sat Apr 21 13:55:00 GMT 2001
Sorry about the cross post -- this should be under cygwin-apps mailing
list, not cygwin mailing list.
------- Forwarded message follows -------
From: Paul Garceau <email@example.com>
Subject: Re: GCC -mno-cygwin vs mingw32-gcc cross environment.
Send reply to: Paul Garceau <firstname.lastname@example.org>
Date sent: Sat, 21 Apr 2001 13:51:34 -0700
On 20 Apr 2001, at 14:50, the Illustrious Christopher Faylor wrote:
> On Fri, Apr 20, 2001 at 02:04:23PM -0400, Earnie Boyd wrote:
> >I've just successfully completed building a Cygwin native cross build
> >environment for --target=mingw32. While I'm cleaning up the code
> >modifications I would like to ask if we should consider deprecating
> >the -mno-cygwin switch in favor of the cross environment?
> >I would rather see the cross build environment become standard
> >because it is a natural for autoconfiguration. You just add
> >--host=mingw32 to the configuration scripts instead of needing to do
> >CC='gcc -mno-cygwin' configure ... .
> Without gettin too much into the semantics of the word "deprecate", I
> think it makes sense to strongly discourage use of -mno-cygwin if
> there is a true cross-compiler available.
I would agree with Chris...not to "deprecate", as Earnie states, but to
discourage the use of -mno-cygwin for anyone not familiar enough with
the differences between using -mno-cygwin vs not using -mno- cygwin.
There has been a *ell of a lot of work put in to getting -mno-cygwin to
work over the years. I don't believe that effort should be wasted by
eliminating (or "deprecating", as Earnie puts it) the -mno-cygwin
If there is a "true cross-compiler available", as an "option", such
things should be pre-installed with any cygwin distributions. Not
everyone uses autoconfig, nor does everyone need to. Autoconfig is a
"convenience", not a "requirement".
When it comes to building using the -mno-cygwin switch, I can see how
it would be "convenient" to not type the extra 11 characters or so.
Autoconfig, if it is as great as some say, should be capable of choosing
whether to use -mno-cygwin vs. a "true cross compiler".
This, of course, is a developers choice...cross-compilers (true or not)
should not be forced on everyone who wants to build something that
doesn't depend on cygwin.dll unless we are ready to field a host of
questions on how to properly target cross-compilers.
Cygwin and cross-compilers are not the same thing and should not be
included in the same distribution/setup process. Again, ultimately, it
is the developer who should choose, the casual end user who just
downloaded Cygwin because they wanted to build something like "Crystal
Space" using the -mno-cygwin switch should not be burdened with trying
to build a cross-compiler instead of simply running "make".
> So, are you proposing that you will maintain a i686-pc-mingw32-gcc
> port, Earnie? One problem is that this will mean keeping at least a
> separate version of binutils/ld, too, since ld has some builtin
> defaults that may not be appropriate for mingw.
Thereby forcing added maintenance requirements on people who don't
really have the time to be dealing with such things, as it is.
Ultimately, seems easier to enable autoconfig under Mingw, and let the
people download Mingw (from the appropriate site) minus the generic
binutils (ie those duplicated between cygwin and the cygwin with -mno-
cygwin enabled), as an optional "plugin" sort of thing to Cygwin (using
-mno-cygwin switch). Especially if they wish to build -mno-cygwin based
executables or libs.
In terms of "ld"...well, there are obvious differences between the
cygwin "ld" and the "ld" which I would recommend when using the -mno-
Cross compiler, no, new cygwin branch...possibly...
Just my comments on the subject...
------- End of forwarded message -------
Nothing real can be threatened.
Nothing unreal exists.
More information about the Cygwin-apps