Hotspot makefile conversion now in build-infra (original) (raw)

David Holmes david.holmes at oracle.com
Thu Dec 19 04:08:01 UTC 2013


Hi Magnus,

Slowly catching up after vacation ...

I'm surprised this hasn't gone out to hotspot-dev as I would think hotspot developers would be most interested in this and provide feedback. But perhaps you are not quite ready for that?

Will this still allow a hotspot repo to be built in isolation or will it now require that a full forest always be present? (well at least top-level repo plus hotspot repo).

There are a number of open RFE's for hotspot build to deal with issues related to integration with configure or that should be readily/easily solvable by a rewrite that utilizes approaches from the new build:

https://bugs.openjdk.java.net/browse/JDK-8016041 https://bugs.openjdk.java.net/browse/JDK-8016039 https://bugs.openjdk.java.net/browse/JDK-7195896

I'd be more than happy to see these all resolved by the current rewrite :)

I will try to take a look at this but like many am about to depart (again!) for Xmas vacation. :)

Cheers, David

On 5/12/2013 8:49 PM, Magnus Ihse Bursie wrote:

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-x8664. * 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