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