Hi,

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.

include
- depends on config
- depends on kaffeh
- depends on Klasses.jar (used by kaffeh to build all the java* headers)
kaffe/kaffeh
- 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 pthreads)
kaffe/kaffevm
- 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?

Michael


_______________________________________________ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to