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