On Tuesday 30 May 2006 22:32 Andrey Chernyshev wrote: > > The VM and the classlib will be parallel trees, for example... > > > > harmony/enhanced/classlib > > harmony/enhanced/<whatevernameforVM> > > Besides XXXVM and classlib trees, are we going to have some place for > the things which can be shared between VM and classlib? For example, > where do we put common include files like jni.h which have to be used > both by VM and classlib during compilation, do we keep them in every > XXXVM and classlib tree, or somewhere else?
I think there are two cases. When you build harmony/enhanced/classlib you should use external headers supplied by the SDK which is used for building, so the location should be $JAVA_HOME/include, be it HDK or SDK from any other vendor. When building harmony/enhanced/<whatevernameforVM> headers should be taken from this particular VM and then copied to the distribution under include/ folder. This will allow to build classlib not depending on any particular VM. On the other hand it will allow to build VMs with the headers and versions of JNI/JVMTI/JVMDI/JVMPI/whatever interface that this particular VM supports and build distribution based on this VM with interface headers that belong to it. Does it make sense? > Another example: suppose one day VM and classlib decide to share the > code from the modules like port, zip support, thread e.t.c.. What > should be the right location for these modules, should they be a part > of VM or a part of classlib? I think the best would be shared libraries, libjavaport, libjavazip (just name examples, I don't care how to call them), etc, developed separately in the source tree. Maybe even separate Apache projects if they become widely used? So I think the right place would be harmony/enhanced/libjavaport harmony/enhanced/libjavazip -- Gregory Shimansky, Intel Middleware Products Division --------------------------------------------------------------------- Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]