Subject: Re: Fixing mingw support in Python's distutils
Date: Monday 20th May 2013 12:30:43 UTC (over 3 years ago)
On 20 May 2013 12:35, Oscar Benjamin wrote: > On 20 May 2013 09:50, Keith Marshall wrote: > > On 19 May 2013 23:37, Oscar Benjamin wrote: > >> > >> > >> Or even better, can anyone say in which releases of mingw the > >> following occurred: > >> 1) The '-mno-cygwin' option was made a no-op. > > > > MinGW has *never*, AFAIK, *required* -mno-cygwin; it has *always* been a > > no-op, (certainly throughout the ten or more years I've been using, and > > have been associated with MinGW; I have *never* used -mno-cygwin). > > Well this is better than I thought. If the '-mno-cygwin' option was > *never* meaningful for mingw then this is a very simple problem. I > wonder why this wasn't spotted before. Is there a way for me to > confirm this by e.g. having a link to the source of an old revision of > mingw? > The sources for *all* previous MinGW releases are available from SF, but you may need to search the directory trees on one of their mirror sites to find them; they aren't readily visible on the browseable download pages. >> 2) The '-mno-cygwin' option stopped being accepted. > > > > You'll have to ask the cygwin folks; they are the architects of the > > -mno-cygwin madness, and it is only *their* native GCC which has ever > > implemented it as anything other than a no-op. I believe that they > > began the deprecation process during the transition from GCC-3.x to > > GCC-4.x, but I've no idea how far inertia carried support into 4.x. > > If the option was never meaningful for mingw then I think that > whatever cygwin were doing with it is thankfully irrelevant for this > problem. The option was only ever meaningful for *cygwin* native GCC; it was a nasty kludge they implemented to hide the mechanics of cross-compiling from their users, while actually invoking mingw32 GCC to cross compile. Why would native mingw32 GCC have needed such a kludge? BTW, your earlier allusion to MinGW having forked from cygwin is flawed; MinGW never did fork from cygwin, (other than in the creation of MSYS); the only reason mingw32 GCC accepted -mno-cygwin was because the cygwin folks had it adopted upstream, as a standard option for WIN32 targets. CPython's distutils mixes up the code for cygwin and mingw a > little but the '-mno-cygwin' option is only used for mingw: > This makes no sense whatsoever; -mno-cygwin is only meaningful for *cygwin*, to force its native GCC to redirect its activity so as to behave as a wrapper for a mingw32 cross-GCC. BTW where is the changelog ...