hg: build-infra/jdk8: 2 new changesets
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Wed May 23 01:35:28 PDT 2012
On 2012-05-22 18:57, John Coomes wrote:
> magnus.ihse.bursie at oracle.com (magnus.ihse.bursie at oracle.com) wrote:
>> Rename --with-data-model to --with-host-bits.
> When cross-compiling, is this the data model of the target platform,
> or that of the host doing the compile? It looks like the former; if
> so, the name 'host' is confusing.
It does what it should :-) but I agree that the name is confusing. The
reason for the name is that we are adapting to the terminology of
autoconf/configure. Their terminology is:
* build -- the platform that the build is running on (not so confusing)
* host -- the platform that the resulting build should be running on
(this is weird, most of of think of this as target)
* target -- the platform that the resulting build is generating code
for, if the product we're building is a cross-compiler (!)
So if you are cross-compiling gcc on a x86_64 build machine with the
intent of producing a binary that can run on sparcv9 and is a
cross-compiler for arm, then you would have build=x86_64, host=sparcv9
and target=arm.
Most of us do not cross-compile cross-compilers, so we only have a build
and a host, but no target.
I'd be the first to admit that this terminolgy sucks bigtime. However,
it is build-in in configure, and is generally accepted in the community.
So we only have two choices, neither of which is good:
1) Accept this terminology
2) Chose another terminology
Selecting path 2) means not being able to use configure to help with
cross-compilation. And even if we hand-hacked configure to behave
differently, it would be confusing to everyone who has used configure
before and have learnt that "host" means "target" and "target" should
not be used.
So we chose path 1), and will therefore have to educate OpenJDK
developers instead. Of course, this choice can be discussed. If you or
anyone else have suggestions, we're all open ears!
In any case, we should be consistent. This commit was a step in trying
to bring a consistent naming scheme to configure.
/Magnus
More information about the build-infra-dev
mailing list