Is "host" the build or the target system?

Fredrik Öhrström oehrstroem at gmail.com
Thu May 24 07:20:19 PDT 2012


In 1994 the autoconf tool added support for --build --host and
--target with the meanings:
build = build system
host = system that run the binary, ie the system that hosts the binary
target = only valid for compilers, and is the target arch of the hosted compiler

The first release of Java was in 1996, thus the configure standard is
the oldest.

Secondly, the old openjdk makefiles are not consistent and not
supportive of crosscompilation.
Instead they can be more seen as allowing themselves to be nudged to
cross compile.
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.

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.

Fourth: even though there  is no formal review process in the
build-infra forest, there will
be a formal review when it is pushed to the build forest. Thus pushing
large changes to
existing code must be verified with all stakeholders, lest the change
might get backed out.

The email thread that discussed this significant change in the
variable names and the configure
api had the subject "hg: build-infra/jdk8: 2 new changesets", not an
easy one to spot.

//Fredrik



More information about the build-infra-dev mailing list