Keith Marshall | 21 Apr 2008 15:07
Picon

Re: [Mingw-users] Necessary environment path settings?

On Wednesday 26 March 2008 20:49, Keith Marshall wrote:
> So, to return to your question, what on earth could mingw64 possibly
> mean, if not MinGW for a 64-bit platform.  The canonical form of a
> host triplet is CPU-VENDOR-OSTYPE.  If the OSTYPE is mingw32, that is
> unambiguously MinGW for any one of the i[34567]86 processor family,

Actually, this isn't strictly true; mingw32 is unambiguously MinGW for 
Microsoft's Win32 /operating/ /system/, *irrespective* of whichever 
processor it may be running on; just as Win16 ran for years on 32-bit 
processors, (did anyone /ever/ run it /usefully/ with a 16-bit CPU?),
Win32 can run on 64-bit processors.

> so the CPU and VENDOR fields are completely redundant; indeed, what
> VENDOR does `pc' signify anyway?  IBM?  Sun?  Fred Bloggs?  It is
> completely meaningless, and might as well be discarded; the equally
> acceptable i386-unknown-mingw32 is preferable, IMO.
>
> Right.  VENDOR is redundant.  It conveys no useful information, when
> the only platform targetted by the OSTYPE is singularly identified,
> as it is in the case of OSTYPE == mingw32, (which targets i[34567]86
> generic family processors *exclusively*).  By the same token, CPU is
> redundant too, because it is unambiguously identified when OSTYPE ==
> mingw32, just as OSTYPE == mingw64 would be singularly unambiguous;
> in either case config.sub can unambiguously canonicalise the target,
> *solely* on either one of these OSTYPEs:
>
>   OSTYPE == mingw32  ==>  i386-unknown-mingw32

Here, since it is possible to run Win32 on 64-bit processors, there 
could be a case for the canonical form `x86_64-unknown-mingw32', but 
does it convey anything /useful/ (to the tool chain), that isn't 
already implicit in the non-canonical form, `mingw32'?

>   OSTYPE == mingw64  ==>  x86_64-unknown-mingw64

And here, this remains unambiguous only until Intel/AMD introduce the 
x86_128 architecture, and Microsoft aren't ready with Win128; then we 
will no doubt see Win64 running on x86_128.

But, I continue to stand by this...

> so why burden us with redundant information?  We may just as well
> dispense with the CPU and VENDOR fields, and still have the
> appropriate tool chain unambiguously specified by just the OSTYPE
> name.

...since `mingw32' and `mingw64' actually have more to do with the OS 
association, (Win32 vs. Win64), than any particular processor affinity.

Regards,
Keith.

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone

Gmane