This is the mail archive of the kawa@sourceware.org mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

kawa Java-level changes


A warning: If you try to build Kawa from the SVN source code right use
a JDK 1.5 compiler it won't compile unless you first do:
  make-select5
I don't think this is a good situation.

Background: I decided it would make sense to simplify the
gnu.lists.Consumer interface.  It has for a while been an extension
of java.lang.Appendable, but only when the source has been preprocessed
set "JAVA5" set.  I hoped to avoid the duplication of having both
(for example) a write(int) method as well as an append(char) method,
so I changed things so we'd always use a method named append.
I got things working so Kawa would compile and work when compiled
the default source code with a JDK 1.4 compiler.  I also got
it working so that after you preprocess the code in JAVA45 mode
(using 'make select-java5') you can build and run the code using
a JDK 1.5 compiler.

Unfortunately, what you can't do, and what I didn't test, is
building the default sources using a JDK 1.5 compiler.  That
doesn't work due to an awkward interaction of the Appendable
specification making use of covariant return types.  Sigh.

Also unfortunately, I think it is still necessary for Kawa
to build automatically on any of JDK 1.4.x, JDK 1.5.x,
and GCJ 4.1.x.  It is probably possible to do an automatic
PreProcess step, but it will make things more complicated
and fragile, and may confuse unsuspecting developers.  (The
source code they build won't match what they checked out.)

So I think I will have to basically revert those changes.
Sigh.  Thanks to SVN it's easy enough to find the needed changes,
but it will still take a few hours, since I want to keep part
of the changes I made.

Ah well.  Not all ideas are equally great.
--
	--Per Bothner
per@bothner.com   http://per.bothner.com/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]