Date: Fri, 21 Apr 2000 06:55:34 -0700 (PDT)
From: Tom Tromey <[EMAIL PROTECTED]>
Mo> Ok, I can buy that --host argument, but then why does using --host
Mo> also not work?
I don't remember the details or the history here. (I'm sure Ian does,
but I don't know if he lurks here or not.)
Practically speaking, nearly everybody who does regular cross-compiles
does so on in the context of a Cygnus-style tree (with the old Cygnus
configure at the top). The Cygnus configure sets CC, CXX, etc,
appropriately. So, the people who most commonly do cross builds have
had no incentive to fix autoconf to do the right thing...
I guess the question is: why is it, when I specify --host, that
autoconf does not check for ${host}-gcc rather than checking for gcc?
The message I just posted explains why autoconf would not have done
this when only --host was specified. However, it could have done it
when both --build and --host were specified.
I believe the answer is simply that nobody ever implemented it.
Part of the reason nobody ever implemented it is that at the time this
was being worked out, we did not have a conventional name for a
cross-compiler. Now it seems logical and obvious that a tool which
compiles for $target should be named ${target}-TOOL. However, for
many years, a cross gcc would install itself as gcc-${target}. In
fact, I think I was the one who finally convinced RMS to change this.
(You can see the history of these struggles in the --program-prefix,
--program-suffix, and --program-transform-name options, most or all of
which I implemented to let people continue using whatever baroque
naming conventions they were accustomed to. This in particular
included some Cygnus customers who wrote the names of the tools into
their contracts.)
At the time, none of the programs which most care about Canadian Cross
(gcc, binutils, gdb) used autoconf. I fixed the Cygnus configure
script to use the right defaults for a Canadian Cross (actually I
think it took a year or two before I came up with that penetrating
idea, and was able to discard a couple of fancy GNU Makefiles which
set environment variables). I didn't have any reason to fix autoconf,
and I doubt it ever occurred to me to do so.
Now, of course, everything uses autoconf, but as Tom says most people
still build Canadian Cross tools using a directory which has a Cygnus
configure script at the top. So most people still get the right
defaults.
Ian