harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Ellison <t.p.elli...@gmail.com>
Subject Bootstrapping the classlibrary builds
Date Fri, 23 Dec 2005 13:09:34 GMT
As a follow-up to the recent discussion with Geir about repository
layout, I've been thinking a bit more about the componentization of the
class library, and in particular about how day-to-day development would
progress.

The 'interesting' attribute of the components is that there are circular
dependencies between some of them.  For example, SECURITY depends upon
LUNI, and vice versa.  I briefly discussed some options for resolving
the circularities earlier, but the point is that this is a bootstrapping
issue -- once we have implementations of SECURITY and LUNI then each can
be built independently against the compiled version of the others.

So I propose that we make a clear distinction between the initial
bootstrap build, and the subsequent component builds.  The build.xml
that exists today (.../classlib/trunk/make/build.xml) invokes a 'global'
i.e. cross-component compilation to avoid circularities.  The results
are put into .../trunk/deploy/jre/lib/boot.

I say we keep this build.xml as the bootstrap build, then create build
scripts within each component that build only that component against the
jre/lib/boot jars thereby giving localized builds.  We can also write
the component build scripts to use the deployed JRE to run ant and the
compiler to be self-hosting!

Unless anyone objects or has a better idea I'll do the minor
restructuring of classlib required (likely next week now).

Regards,
Tim

-- 

Tim Ellison (t.p.ellison@gmail.com)
IBM Java technology centre, UK.

Mime
View raw message