Move to JDK8
Erik Joelsson
erik.joelsson at oracle.com
Tue Dec 13 06:36:29 PST 2011
Hello,
I just pushed a whole lot to the JDK8 build-infra-dev forest. I will try
to explain what it's all about.
At the start of this project, we were working with the assumption that
we would build more or less a complete solution and then get to push it
in as a replacement for the old build system. Over time we have realized
that would be hard, both for consumers getting it all in their face at
once, and for us, having to make sure we cover everything in one go. We
recently decided to instead try to get small chunks in at a time, and
instead of replacing the old system, add it as an alternate system until
we make the switch. This way, we will get a lot more visibility and
people will be able to try it out in their actual daily work.
So far we have been working in a jdk7 forest, basically a copy of what
was released as jdk7. But since the project is targeting jdk8, this
doesn't really make much sense. It's time to move our work to a jdk8 forest.
So what is actually in my push? First I synced up with the JDK8 master.
I then started moving the build infra changes in, one repo at a time.
The following are done:
root
langtools
corba
jaxp (including committing the exploded drops)
jaxws (including committing the exploded drops)
hotspot
And still to be done:
jdk
In each repo (where applicable) there is a new directory "makefiles" in
which the new makefiles reside. Exceptions to this are hotspot and the
root. In hotspot the existing makefiles have been modified to be
compatible with both the new and old. In the root, everything new is in
the directory "common".
The common directory in root has the following layout:
common/src - Source files for small tools needed by the build.
common/makefiles - New makefiles including the main "Makefile"
common/bin - Utility executables (scripts)
common/autoconf - The configure script and the source for it.
common/autoconf/build-aux - The third party autoconf files that we still
need to download separately.
To build using the new build system in the build-infra-dev jdk8 forest,
change directory to "common/makefiles" and:
../autoconf/configure --disable-javac-server --disable-javac-deps
--disable-javac-multi-core
make
Notes: The javac server currently isn't working, so it needs to be
disabled. The jdk repo isn't converted yet so the build will fail when
hotspot is done.
Building in the old way should work just as before.
As always, comments and suggestions are welcome!
/Erik
More information about the build-infra-dev
mailing list