On Mar 15, 2011, at 2:27 AM, Steve Poole wrote:

> Primarily then the objective of having multiple repositories is to improve 
> developer productivity and component stability.
> 

And also facilitate the ability to distribute some components to multiple 
projects outside the jdk or multiple jdks.

> I don't know how much cross-repo changes go on.   It would seem that if that 
> is minimal then the next logical step would be to
> remove the source for the repos you're not working on and just have the 
> binaries instead.    Do you see that as a worthwhile goal?

When doing partial builds, there is a ALT_JDK_IMPORT_PATH (import jdk) setting 
which is supposed to point to
a jdk built image (one with a bin, lib, include, jre, etc. layout). This should 
be a very recent jdk7 build
image, and is normally the last promoted jdk build (which changes weekly with 
each promotion).
That is where previously built components come from, see the 
jdk/make/java/redist/Makefile for details.

This ALT_JDK_IMPORT_PATH setting has taken on various names over the years, you 
will also see
ALT_HOTSPOT_* variables in the jdk repository makefiles.

So for partial builds, you need a ALT_BOOTDIR (boot jdk) and also a 
ALT_JDK_IMPORT_PATH
to get the components that you are not building.

For OpenJDK, once you have a complete forest build, you can save the 
j2sdk-image directory somewhere,
point ALT_JDK_IMPORT_PATH at that area, and you should be good to go for doing 
partial builds
in the hotspot or jdk repositories. The langtools, jaxp, jaxws, and corba 
repositories are fairly standalone
and don't result in a complete built jdk image when built by themselves.

See:
http://blogs.sun.com/kto/entry/anatomy_of_the_jdk_build
http://blogs.sun.com/jjg/entry/building_javac_for_jdk7

-kto

Reply via email to