This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: config.guess/config.sub improvements


   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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]