[Newbies] VM Building questions

Bert Freudenberg bert at freudenbergs.de
Thu Oct 5 19:03:53 UTC 2006


The #ccgDecleareCForVar: methods were moved out of the system image  
into VMMaker recently. The 3.8 image should still have them, IIRC. Or  
use a more recent version of VMMaker that includes them. So - what  
image version and VMMaker version do you have?

The plugins with missing platform files were not yet ported to Win32.  
MIDI should work fine there, however.

Note that hacking the VM is not exactly considered a beginner's topic  
among Squeakers. You might want to subscribe to the VM-Dev list for  
that.

- Bert -

Am 05.10.2006 um 20:42 schrieb Dave Raymer:

> Gentlefolk,
>
> I've started playing with VM building and I've got a few questions,  
> perhaps observations for which I was unable to find answers/ 
> confirmations.
>
> Using: Win32 system, v1545 out of SVN repo; VMMakerTool
>
> The following plugins don't have an platform specific files:   
> FileCopyPlugin and InternetConfigPlugin
> The following plugins fail when VM generation is attempted.
>
> BalloonEnginePlugin, BitBltSimulation, DeflatePlugin, FFTPlugin,  
> HostWindowPlugin, JoystickTabletPlugin, JPEGReadWriter2Plugin,
> LargeIntegersPlugin, Mpeg3Plugin, RePlugin, SerialPlugin,  
> SocketPlugin, SoundCodecPlugin, SoundPlugin.**
>
> I did not attempt to "generate" MacMenubarPlugin, MIDIPlugin, or   
> TestOSAPlugin.
>
> Is this expected, or am I doing something wrong?
>
> regards,
>   Dave
>
>
> **All fail with in the same spot...(indicated in red below) with a  
> MessageNotUnderstood. spec ccgDecleareCForVar: argName.
> #  
> ---------------------------------------------------------------------- 
> ------------------------
> handlePrimitiveDirective: aStmt on: sStream
>
>     isPrimitive := true.
>     fullArgs := args.
>     locals addAll: args.
>     args := OrderedCollection new.
>     fullArgs with: parmSpecs do:
>         [:argName :spec |
>             declarations
>                 at: argName
>                 put: (spec ccgDeclareCForVar: argName)].
>     aStmt isAssignment ifTrue:
>         [declarations
>             at: aStmt variable name
>             put: (rcvrSpec ccgDeclareCForVar: aStmt variable name).
>          sStream nextPutAll: (self
>             statementsFor:
>                 (rcvrSpec
>                     ccg:        SmartSyntaxPluginCodeGenerator new
>                     prolog:  [:expr | aStmt variable name, ' _ ',  
> expr]
>                     expr:     aStmt variable name
>                     index:     (fullArgs size))
>             varName: '')].
>
>     "only add the failure guard if there are args or it is an  
> assignment"
>     (fullArgs isEmpty not or:[aStmt isAssignment]) ifTrue:[self  
> generateFailureGuardOn: sStream].
>     ^true.
>



More information about the Beginners mailing list