Is "host" the build or the target system?
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Thu May 24 12:38:20 PDT 2012
First of all, I think you misunderstood what my solution did. Let me try
to explain it more clearly:
With my fix, you can still cross-compile "the autoconf way" by
specifying --host=my-target-platform.
So, if you are used to this way of starting configure, you can still do
it. I deliberately kept this as "backwards compatibility" with autoconf
behavior.
What I did was to add an *alternative* way of doing the same thing, by
specifying --target=my-target-platform.
Secondly, it surprises me to see you put so much weight on tradition in
your argumentation. In other discussions we'd had about the new build
system, the guiding principle had been more of "do what's right" rather
than "do it the same way it has always been done even if it's strange".
In this light, I believe the more important argument is "host is
confusing and ambigous, while build/target is not" rather than "host has
historically been used to mean X in openjdk/autoconf".
> In 1994 the autoconf tool added support for --build --host and --target [..]
> The first release of Java was in 1996, thus the configure standard is
> the oldest.
This lacks any relevance for the discussion.
> Secondly, the old openjdk makefiles are not consistent [...]
> For example, not even HOST is used consistently for example: HOSTCC
> HOST_CC and NIO_CC have to be set. Thus there is no extremely consistent standard in the
> old makefiles to follow.
That the old makefiles lacks an "extremely consistent standard" is an
argument for creating a good standard and keep to it. I fail to see how
it could be an argument that we should use "host" to mean "target", and
thus introduce a terminology that is contrary to what have been used
before, even if that use was not completely consistent.
> Third: more people know how to cross compile using configure than who know
> how to cross compile using the old openjdk makefiles. The configure way simply
> takes precedence.
You are most likely correct in your assessment that more people have
cross-compiled with autoconf than with the old OpenJDK makefiles. Once
again, this is not a relevant argument. How many of all these ffmpeg and
Gimp cross-compilation gurus are going to cross-compile OpenJDK? The
more interesting question are the background and knowledge of the people
who are actually going to cross-compile OpenJDK.
Nevertheless, as I explained above, my fix actually caters for this
group, by allowing the traditional autoconf syntax, so this is not
really a problem anyway.
/Magnus
More information about the build-infra-dev
mailing list