[kaffe] Projects/sub-projects dependancies... Thoughts

Michael Franz developer.franz at verizon.net
Mon May 10 13:48:02 PDT 2004


I have been looking at Kaffe-1.0.7 (the last version that works on Mac 
OS X) to figure out some of the threading issues that I think are 
breaking kaffe on OS X.  In my attempt to put together some test using 
thread.c, I have found that there are a circular dependancies between 
the sub-projects and each project can not be easily built outside of 
the existing makefiles.  At least for me.  I have listed (below) what I 
have found, the latest HEAD version seems to have more dependancies.

- depends on config
- depends on kaffeh
- depends on Klasses.jar (used by kaffeh to build all the java* headers)
- depends on include
- depends on kaffe/kaffevm (shares numerous header and C files)
- depends on config
- HEAD depends on the threading subsystem to compile (jthreads vs 
- depends on config
- depends on include
- depends on kaffeh

How I understand this to work (or  my problem). To compile thread.c, 
kaffeh must be compiled first, this depends on files in kaffe/kaffevm.  
Once kaffeh is compiled, it is used to generate the header files for 
java_* and others that are created in include.  These are needed for 
thread.c to compile.  This may not be all that bad, but what I seen 
happening next is, kaffeh now depends on 
kaffe/kaffevm/systems/(unix-jthread|unix-pthread).  Why does kaffeh 
need to know about the threading implementation (classMethod.h)?

I guess, would there be interest in ensuring that the dependancies are 
well defined and in one direction?  How about creating a kaffe/common 
that would have the files that are common between kaffeh and kaffevm?

Thoughts or comments?


More information about the kaffe mailing list