This is the mail archive of the
kawa@sourceware.org
mailing list for the Kawa project.
kawa now handles mutually dependent modules
- From: Per Bothner <per at bothner dot com>
- To: kawa at sourceware dot org
- Date: Thu, 25 May 2006 20:29:02 -0700
- Subject: kawa now handles mutually dependent modules
I just checked in a major change to CVS in how modules are handled.
The immediate obvious advantages are:
(1) Cycles of modules that mutually require each other are now
supported. The code generated is good - i.e. if module1 calls
a function in module2 and vice versa, the function calls are
optimized to direct module calls. (And there is a test in the
testsuite that checks this, to avoid accidentally breaking
this feature.)
(2) If you compile a set of modules, you can give them in arbitrary
order on the command line, as long as if module A directly depends on
module B then module A has a require for module B.
In particular, this allows the Ant build.xml file to be simplified
a bit, since it is now ok to compile file files in kawa/lib in
alphabetic order, as Ant does by default.
Planned improvements include automatic re-compilation if a module
or a module it depends on, when re-loading a module, such as in a
web server.
--
--Per Bothner
per@bothner.com http://per.bothner.com/