On 26 Jun 2000, Alexandre Oliva wrote:

> > I don't buy that: nobody will never change anything in their scripts,
> 
> If they won't change their scripts, then it's their fault.  By warning
> in advance, we're exempting ourselves from being blamed for the change.

That is an interesting point. Folks that are used to the current
way will blame anyone that makes a change. It does not really
matter what the change is, it will "just be wrong". New users
will never know the pain of the old way, so they will neither
blame nor thank you. The question you have to ask yourself is
who do you want to serve and what is best for everyone in
the long run.

> > Sorry, but this is what I call confusing!
> 
> It may be confusing for *you*, but I'm pretty sure it won't be
> confusing for 99% of the autoconf users out there.  People hardly
> understand the difference between --build and --host, and this warning
> will hopefully get them to read the manual, and then they'll learn
> about the change in behavior and the real difference between these
> flags.

I have to chime in on this one because I was one of those new
users just a couple of months ago. I did not understand the
difference between --build and --host, I read the manual
(it did not help much), I looked at examples on the web
and found that some people were using --target instead
of --host. All in all it was really confusing. The
new way seems to be more straightforward (IMHO). The
part that most perplexed me were the comments telling
me that --build was almost never used, when to do a
cross it seems I would need to use --build.

> > And you are rejecting the fact that you don't need to specify
> > --build, you just need --host.  This is a huge step backwards!
> 
> We may have an `I-know-what-I'm-doing' option, such as --Host, for
> example.

What about a new option --xhost=TRIPLE? That way it would be really
clear that you would use this option to do a cross compile for
the given host.

> > I'm asking the question again: can't we enable that stuff only when
> > given a special option such as --with-old-machine-options-semantics or
> > whatever?
> 
> I'll answer again: because this wouldn't solve the problem at hand.
> There are dozens of scripts and manuals and people out there that
> expect --host to set the default for --build.  These people should be
> warned in advance that they should now be specifying --build to
> accomplish that.  This will give everybody time to modify their
> scripts and manuals, and to start using the new behavior.  In fact,
> the change that has already been installed in autoconf is incompatible
> with the GNU Coding Standards!
> http://www.gnu.org/prep/standards_42.html#SEC42


Actually, the GNU coding standards you mention could
be read either way. The only time --build is mentioned
is during a discussion of bootstrapping a cross-compiler
which is something most people are not going to do.

The GNU documentation only mentions --host in relation
to cross compiling a regular package, so one could
argue that the new approach conforms to the
GNU standards.


The way to build a cross-compiler, cross-assembler,
or what have you, is to specify the option
`--host=hosttype' when running configure.
This specifies the host system without
changing the type of target system. The syntax
for hosttype is the same as described above. 

Bootstrapping a cross-compiler requires compiling
it on a machine other than the host it will
run on. Compilation packages accept a
configuration option `--build=hosttype' for
specifying the configuration on which you
will compile them, in case that is different
from the host.


See what I mean?

Mo DeJong
Red Hat Inc

Reply via email to