hg: build-infra/jdk8: 2 new changesets
David Holmes
david.holmes at oracle.com
Wed May 23 05:30:46 PDT 2012
Magnus,
The problem with adopting this broken terminology is that it is then in
conflict with the terminology used elsewhere in the build. We already
use HOST to refer to the build platform in numerous places - unless you
have already changed these?
But this is a no-win situation. :(
David
On 23/05/2012 6:35 PM, Magnus Ihse Bursie wrote:
> 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