> It's the converse: tools that configure and build other tools, such as
> RPM, may prefer a consistent interface to build pretty much
> everything, instead of having to customize its behavior for old
> packages.  But the importance of the backward-compatible change
> for GNU projects doesn't have much to do with such outdated packages.
> It has to do with people being able to mix-and-match the next few
> releases of GCC, binutils, GDB, etc, without worrying whether they've
> been released with the next autoconf or with the current one.

Lets not bring RPM into this (ask angela how much she likes
RPM from the EDK project if you want to know why ).

...

> > I can see how it is important to use, it means we will
> > not have to update any configure scripts for another 2 years.
> 
> It means we'll have 2 years or so to update our scripts and
> documentation, not that we won't have to change them during that
> period.

But, there is nothing to update! We have already addressed the
issue of toplevel configure passing both --build and --host
down to sub-configures. The only issue that remains is
the case where --host (and only --host) is passed to
top level configure.

The following would work with the old and new
--host semantics, in either case it would
do a cross compile.

./configure --build=i386-linux --host=i386-mingw

The only case we are talking about here is when
--host is passed to the top level configure.
(not a cross compile with the old semantics)

./configure --host=i386-linux

The old semantics would use this value of --host
for both --build and --host. The only
change that the new semantics would require
is for the user to pass --build instead
of --host at configure/build time.

./configure --build=i386-linux

I just don't see why this is such a big deal.
Why can't we just use the new --host semantics
and print a warning so that folks who are
used to the old semantics will not accidently
activate a cross compile?

like so:

./configure --host=i386-mingw32msvc
checking build system type... i686-pc-linux-gnu 
checking host system type... i386-pc-mingw32msvc
configure: WARNING: Now cross compiling from
i686-pc-linux-gnu to i386-pc-mingw32msvc, if you
intended to set the build triple, use --build.
...

I still do not understand why this is not
acceptable, why would people be more willing
to pass --build instead of --host two years
from now? Do we just hope that they are
going to get sick of messages like:

"warning: You passed --host and we are going
to change what this argument does in
a couple of years. You will thank us
when we do because you will not have
to see this silly warning all the time".

Mo DeJong
Red Hat Inc

Reply via email to