This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: MinGW (Was: Re: PROPOSAL: Variation on an Alternate policy for obsoleting targets)
- From: "E. Weddington" <eric at umginc dot net>
- To: <stl at caltech dot edu>
- Cc: gcc at gcc dot gnu dot org
- Date: Tue, 20 May 2003 09:53:02 -0600
- Subject: Re: MinGW (Was: Re: PROPOSAL: Variation on an Alternate policy for obsoleting targets)
On 19 May 2003 at 17:32, Stephan T. Lavavej wrote:
> I'm trying to learn. I've managed to successfully build 3.3 on GNU/Linux,
> but haven't been able to build any version of gcc on MSYS/MinGW (whether
> MinGW-patched or not).
I build a GCC cross for the AVR using MinGW / MSYS with a patch from tarballs
(no bootstrap). There are some caveats including a bug in the current MSYS that
affects GCC which is still not fixed yet:
<http://sourceforge.net/tracker/index.php?func=detail&aid=671479&group_id=2435&a
tid=102435>
And unfortunately the patch I use is not a very good one. This biggest issue
seems to be finding Windows replacements for fork / exec / kill. With Cygwin,
its run-time environment handles these calls, but the down side is that GCC is
then linked into the Cygwin DLLs. This is not very useful when distributing a
binary installation; I'd rather not have to ship an almost 1M DLL just to cover
3 functions.
> > Don't forget about Cygwin and DJGPP, which also produce programs that
> > run under Windows. Not that I'm putting down MinGW, of course ;-)
>
<snip>
> And Cygwin, well, those applications require the Cygwin DLL to be installed on
> the end user's computer (correct me if I'm wrong). It's always seemed to me to
> be a good solution if you want to simulate GNU/Linux on a Windows machine, but a
> bad solution if you want to create executables that you can distribute to
> others.
When building other software packages in Cygwin, there is always the switch
-mno-cygwin available to disable linking to Cygwin DLLs. *But*, you'll need to
make sure that the package is not making any Unix-specific calls for it to
work, which unfortunately, GCC has those fork / exec / kill calls.
Eric