First build-infra push to jdk8 -- try out the new build system!

Magnus Ihse Bursie magnus.ihse.bursie at
Fri Apr 13 02:07:31 PDT 2012

On 2012-04-13 03:10, Weijun Wang wrote:
> I'm trying it on my Linux x64 now. The first feeling is that my 
> computer is slowed down a lot more than the old build. The 4 CPUs all 
> show a near 100% usage (it's building hotspot now). The guide says I 
> can adjust it with --with-num-cores, but it's only available for 
> configure time and not make, right?

Let me try to address this...

First, one of the goals of the new build system is in fact to better 
utilize all available cores, to speed up build times. So when we're 
done, the dream scenario is a blazingly fast build that uses all 
available cpu power.

... however, for this first push, we have not yet parallelized the 
build, so any build time improvements are of a smaller scale and more 
the result of more efficient makefiles.

... and, we have not touched hotspot at all for this time. If you notice 
any difference at all when building hotspot, it must just be flukes.

Also, when you say "slowed down", do you mean that the build takes 
longer, or just that the build uses more cpu time when building? The 
former is not something that would be expected, but the latter is.

As for the --with-num-cores, yes, it is a configure time option. The 
underlying assumption is that your hardware doesn't really change, and 
if your build system is too weak, it will be too weak at configure time 
and at all make times. With that said, it is always possible (and not 
very hard) to re-run configure if you need to tweak such a parameter.

> Also, the build output directory name is 
> build/linux-x64-normal-server-release/, the executables are in 
> build/linux-x64-normal-server-release/jdk/bin, and images in 
> build/linux-x64-normal-server-release/images/j2sdk-image. All my 
> existing scripts need to be modified.

The output build directory is named differently, yes. If you have local 
scripts that depend on the name of output directories, you will have to 
modify those. The exact format of the automatically named output 
directories is still not cut in stone, though, so the actual names might 
change. One of the reasons for the new names is to allow multiple 
configurations in parallel, with different options such as debug level 
or target platform.


More information about the jdk8-dev mailing list