Cross platform plugin dev

David T. Lewis lewis at mail.msen.com
Sat Nov 19 03:16:03 UTC 2005


On Fri, Nov 18, 2005 at 04:55:18PM -0800, Brad Fuller wrote:
> tim Rowledge wrote:
> > On 18-Nov-05, at 4:09 PM, Brad Fuller wrote:
> >> Have you used VMMakerTool? If so, how do you use it to generate C  
> >> files in the Cross directory?
> >
> > It doesn't normally generate the code into the same directories as  
> > the hand-written files so that it is easy to flush out the stuff that  
> > can be generated.
> 
> To me, 'Cross' would be THE most important directory that VMMakerTool 
> would generate files to. Simply because these files would be easily 
> prone to Slang and would be less handwritten than platform-dependent 
> files. My mind can't understand why the author purposely left 'Cross' 
> off the list.  I'm sure there is a very good reason that is going right 
> over my head.
 
The files in 'Cross' are part of the source code in the ./platforms
tree, whereas the generated C code goes elsewhere (typically in a
./src directory). You should consider the generated code in ./src
to be transient output more or less equivalent to the object code
generated by a C compiler.

The source code for a Squeak VM consists of the (slang) Smalltalk
in the image packaged as VMMaker, along with the external support
code that lives in the ./platforms tree. When you use VMMaker to
generate the sources, you are producing C object files, which are
later compiled into *.o object files and linked into a VM.

The part of this that can be confusing is that you might naturally
want to think of the generated C files as being "source code," when
in fact they are just transient files used to feed the C compiler.

Dave




More information about the Vm-dev mailing list