This is the mail archive of the
kawa@sources.redhat.com
mailing list for the Kawa project.
Re: GCJ PPC Success and DOM
Jim White wrote:
Turned out easiest way to get W3C DOM compiled was to add it to Kawa's
build (along with an --enable-w3cdom switch). Not sure if you want to
add it to Kawa too, but I'ld be happy to send you the patch if you like.
That should perhaps be a --with option - perhaps --with-jaxp.
What I'd like is something like:
--disable-xml # No XML or XQuery support
--enable-xml --without-jaxp # Enable XML an XQuery, but don't
# depend on DOM or SAX or JAXP
--enable-xml --with-jaxp[VERSION][=FOO.jar] # Implement DOM etc.
The default would be --enable-xml, and --with[out]-jaxp should
default depending of autoconf tests. For now, --with-gcj could
set --without-jaxp.
I believe JAXP support will be added to Gcj in the 4.1 timeframe.
The --with[out]-jaxp is related to the --with-java-source flag,
and it might be easier to use that instead.
And what should we do about DOM Level 2 vs Level 3? Should Kawa
preprocess itself appropriately to support both?
It already does. E.g. see gnu/kawa/xml/KNode.java, and look for JAXP.
My idea is to dosomething like:
public abstract class KNode extends SeqPosition
/* #ifdef JAXP */
implements org.w3c.dom.Node
/* #endif */
We could use #ifdef W3C_DOM instead of JAXP, for better specificity.
We'd need to tweak Makefile.am and build.xml to use the correct options
to PreProcess.
Figuring out a clean set of pre-processor options and how to tie these
to appropriate configure (or ant) options is the main issue I see.
This is a design issue rather than a technical issue. What is the
relationship between high-level options like --with-java-source and
--with-gcj and specific ones like --with-servlet, --with-jaxp, --with-dom.
What kind of combinations are worthwhile?
Other thing I had to do was because I built --without-awt (YDL gtk is
wrong version apparently) I got an exception in (compile "PrimOps.scm")
because Scheme.getInstance() fails, so my workaround is:
I think I tracked down the reason gcj was failing here. It looks like a
bug in the garbage collector, which I reported. In addition, I think I
have a "cleanup fix" that should avoid the problem anyway, but that's just
an idea so far.
--
--Per Bothner
per@bothner.com http://per.bothner.com/