Subject: Re: GCC -mno-cygwin vs mingw32-gcc cross environment.
From: "Paul Garceau" <[email-masked]>
To: [email-masked]
Date: Sat, 21 Apr 2001 13:51:33 -0700

Hi folks,

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 ... .
> >
> >Comments?
> 
> 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 
switch.

	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-
cygwin switch.

	Cross compiler, no, new cygwin branch...possibly...

	Just my comments on the subject...

> 
> cgf

	Peace,

		Paul G.
> 

Nothing real can be threatened.
    Nothing unreal exists.

--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple