This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: config.guess/config.sub improvements
- To: Lassi dot Tuura at cern dot ch
- Subject: Re: config.guess/config.sub improvements
- From: Ian Lance Taylor <ian at cygnus dot com>
- Date: Tue, 27 Jan 1998 17:42:58 -0500
- CC: egcs at cygnus dot com
Date: Tue, 27 Jan 1998 19:49:53 +0100 (MET)
From: "Lassi A. Tuura" <Lassi.Tuura@cern.ch>
* On cygwin32 (or mingw32) config.guess always returns
`i386-pc-cygwin32'. I see two problems with this: first, it does not
differentiate between different processor types, and second, it does
not differentiate between Windows 95 and Windows NT versions. Since
several other platforms do not force processor type to `i386', why
does that happen on Windows? We would certainly want to optimise the
code to take advantage of pentium instructions (or even ppro).
The second may not be important for GCC itself, but I can imagine it
makes difference for other packages (it certainly does for us). The
root of the problem is that the system API is different on NT and 95,
so applications configured and built for NT will not necessarily run on
95 and vice versa. It would be nice to be able to differentiate
these different binaries.
(My previous patch returned strings such as `i686-cygwin32-winnt4.0'.)
I agree that we should return the correct processor type, rather than
always returning i386, if we can figure it out.
However, cygwin32 is an operating system emulation layer. cygwin32
should, in principle, work the same way on both 95 and NT. I believe
that cygwin32 should certainly appear in the OS field, and should not
appear in the manufacturer field.
I think it would be reasonable to use the new fourth field for this
purpose, if it is important. In that case, we would have something
like `i686-pc-cygwin32-winnt4.0'.
Alternatively, one could argue that the difference between 95 and NT
is so fundamental, even when using cygwin32, that it should be part of
the OS field, in which case we might want `i686-pc-cygwin32nt40' or
`i686-pc-cygwin3295'.
Changing the manufacturer field, as in `i686-cygwin32-winnt4.0' would
not only be wrong, it would break many existing configure scripts.
Ian