On Mon, 2006-01-30 at 12:20 -0500, Brian Jones wrote: > It would be nice, I believe, to re-use libraries that have handled most > of the "porting" and "wrapping" for you such as APR > (http://apr.apache.org/), or NPR (http://www.mozilla.org/projects/nspr/) > to platforms GNU Classpath might care to support. You might also find > glib useful, http://developer.gnome.org/arch/gtk/glib.html. I think that's a nice idea in theory, but not so nice in practice. APR is not GPL compatible atm, though it may be next year. NSPR looks like it is GPL compatible right now, all files I peeked at are dual licensed with the GPL or tri-licensed with GPL and LGPL. For added fun, NSPR actually comes with its own tiny mark and sweep gc, a Java-like Monitor data type, and a bunch of other goodies. APR is being used by subversion and the Apache web server. NSPR is being used by evolution, openoffice & various mozilla projects. They seem to cover a similar range of platforms, thought NSPR also now covers RISC OS ;) Otoh, there is no lack of GPL-compatible utility libraries, from Glib, and GNU Common C++, to Qt's non-GUI classes & Boost. I'd have a hard time picking any of them, since they all seem to address problems larger than those we'd need addressing at the moment (we're expecting a largely POSIXy/glibc environment anyway, and don't have any ports to very weird environments yet in the CVS tree), while at the same time 'obfuscating' the code in ways similar to the current target layer. I believe that's the reason why neither APR nor NSPR (nor other similar projects) have seen wide spread acceptance, even though they have been around for many years now: they don't really pay off enough for people to rewrite their existing code bases to them. See also what the OpenBSD developers did as one of the first things, once they 'forked' Apache web server 1.3.x after the Apache license change: rip out APR and replace its use by plain old posix functions, since those were more maintainable for them. cheers, dalibor topic