[kaffe] Re: Revisiting the class library build system
robilad at kaffe.org
Thu Oct 9 12:57:01 PDT 2003
Jim Pick wrote:
> Sounds cool.
> How does this compare to Javamake?
JavaMake has some license I've never heard of, that's not on their site
(BSD+). JavaDeps is GPL.
JavaMake uses a project database, which sounds awfully like some binary
file, and I wouldn't want another in the CVS, Klasses.jar.bootstrap is
bad enough. ;) Beside that, it doesn't seem to be able to export
dependencies in the 'make' format, which makes it useless for the
insteresting case: you're on a slow, interpreter only machine, debugging
kaffe, and don't have time to waste rebuilding the class library with a
Whereas the dependencies generated by JavaDeps seem to be perfect for
inclusion into a Makefile.
> In another department, it would be nice to have a wrapper for kjc so
> that our javac pulled in the extra files in the same manner as Sun's
> javac does (with kjc, one has to explicitly list all the files when
> compiling, whereas Sun's will automatically recompile dependencies).
Sun's automatical recompilation of dependencies has some seriously bad
reputation on the jikes mailing list, at least. See also
http://www.cs.mcgill.ca/~stever/software/JavaDeps/ which lists broken
dependency tracking by Sun's javac as one of the reasons to make JavaDeps.
While such a wrapper may be nice, I don't think it would be necessarily
easy to get right. ;) On the other hand, that's probably an issue for
the kcj development lists, as their developers may already have
something like that, but we just haven't found it yet ;)
> If we're completely redoing the build system, I wonder if it might be
> possible to rework it so that we could drop the entire classpath tree
> into our tree? eg. Unpack it into libraries/classpath or somewhere
> similar. We could keep our additional classes (eg. VM interface
> classes, AWT, Tritonous) in other trees.
Tricky. If we drop the entire classpath tree into kaffe's CVS, a lot of
it will be useless for kaffe: the swing stuff won't build on kaffe, I've
tried that. I'd prefer a slow and careful migration, that allows for
easier isolation of bugs in Classpath.
I don't mind pulling the other stuff apart, though. But I don't see
anything gained by doing that, except from a more clearer overview where
what came from originally. ;)
More information about the kaffe