[Vm-dev] building plugins outside the tree

K K Subbu kksubbu.ml at gmail.com
Sun Mar 18 17:50:29 UTC 2018


On Friday 16 March 2018 12:48 AM, Eliot Miranda wrote:
> 
> Are you proposing we support this VMDK idea?  Ain't going to happen.  No 
> cycles.  If I'm misunderstanding then what is VMDK?
$VMDK is a staging directory for final targets. For cog+spur on linux:

    VMDK=opensmalltalk-vm/image/cogspurlinuxht

The current build places only the squeak executable in $VMDK/bin and the 
external plugins in $VMDK/lib/$VERSION etc.

When a plugin is translated from .st to .c, a set of header files are 
automatically included in it:
   #include "sqVirtualMachine.h"
   #include "sqConfig.h"
   #include "sqPlatformSpecific.h"
   #include "sqMemoryAccess.h"
   ...

These files are spread throughout the vm source tree. Instead, if we 
gather such header files and libraries under appropriate subdirs in 
$VMDK early in the build, then plugins development can be decoupled from 
the vm source tree.

The motivation for coding plugins in ST instead of C was "coding 
shouldn't be this hard". My proposal has the same motivation - "building 
plugins shouldn't be this hard" ;-).

Regards .. Subbu


More information about the Vm-dev mailing list