Hotspot makefile conversion now in build-infra

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Thu Dec 5 10:49:00 UTC 2013


We have just "re-opened" the build-infra project (repos and mailing 
list) for the continuation of the conversion of the old build system.

"Hey, wasn't that finished already?" you might be thinking. 
Unfortunately, no. Due to constraints, we left out a major component in 
the conversion -- hotspot.

I and Erik have been working on a prototype for building Hotspot using 
the new build system. It has been developed in a private repository, but 
is now ready to be moved to build-infra.

You are of course welcome to try it out, but unless you're eager, it is 
probably a bit too early. :-) The current prototype has the following 
limitations/properties:
* It has only been tested (and probably only work) on linux-x86_64.
* It creates roughly the correct collection of files in the 
build/hotspot/dist directory.
* It compiles roughly the correct set of native files, with roughly the 
correct set of compiler flags.
* It creates jar files with roughly the correct contents.

However, the compare script clearly shows that "roughly" does still not 
mean "identical". :-)

Going forward, we need to add support for all platforms, and make sure 
that the built bits indeed end up identical to the old build system. 
There are also several pieces of functionality in the current build 
system that needs to be addressed.

On the bright side, we can already (with no optimizations being done 
whatsoever) see a slight speed increase (2 min 11 sec vs 2 min 35 sec on 
my machine). But most of all, we see a clear reduction of complexity of 
the build system. Compare:

magnusi at ../hotspot/make$ wc `find . -type f` | grep total
  22527  94124 803058 total

with

magnusi at .../hotspot/makefiles$ wc `find . -type f` | grep total
   753  3686 32369 total

While this will surely double in size before we're done, it's still an 
order of magnitude simpler.

/Magnus



More information about the build-dev mailing list