Is bootstripping with gcj and classpath really nesserary?
Mark Wielaard
mark at klomp.org
Sat Jun 16 15:24:46 PDT 2007
On Sat, 2007-06-16 at 17:38 -0400, Matthew Flaschen wrote:
> Mark Wielaard wrote:
> > On Sat, 2007-06-16 at 08:09 -0400, Matthew Flaschen wrote:
> >> Yuhong Bao wrote:
> >>> Can't you just use a binary of OpenJDK to bootstrip it?
> >> It's bootstrapping, and building on OpenJDK would make IcedTea unfree
> >> (because OpenJDK has binary plugs), which defeats the point.
> >
> > To be a little pedantic there are two things here. The build environment
> > and the plugs. IcedTea provides both.
>
> What do you mean, exactly? My understanding is that the IcedTea build
> environment is a combination of ecj, gcj, and classpath, and that the
> binary plugs are replaced with Classpath classes or just removed entirely.
Yes, that was what I meant. And that theoretically the build is a two
staged process. "make plugs", which gives you free replacements (and
some stubs) for the binary blobs under "icedtea/bootstrap/jdk1.7.0/" and
then "make boot" which provides a free build environment under
"icedtea/bootstrap/jdk1.6.0/" (these directory names might be slightly
confusing, but were chosen because they match the plugs and build
directory setup of plain openjdk).
Either step could be replaced with some other environment, but the first
step is essential for getting a completely free software solution, the
second step could pedantically be replaced with a solution not based on
gcj/classpath, but pragmatically it is super useful since almost all
GNU/Linux distros are currently based on gcj/classpath and it is a nice
point for porting openjdk since gcj is available on so many platforms
already.
Just to complete the picture. If you do a "make bootstrap" in icedtea
then first the above steps are taken resulting in a full free workable
icedtea/openjdk/control/build/linux-$(BUILD_ARCH_DIR)/j2sdk-image, and
then this image is copied to the build environment under
"icedtea/bootstrap/jdk1.6.0/" with which then a new clean build is made
(so using the free plug replacements, but using the just build java and
javac, and not gcj and ecj for compiling the new image itself).
Cheers,
Mark
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20070617/8178f925/attachment.bin
More information about the distro-pkg-dev
mailing list