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