Making a pluggable primitive - basic questions

Bob.Cowdery at Bob.Cowdery at
Mon Jan 16 21:03:09 UTC 2006

David Lewis wrote:

> For developing your plugin, there is no need to use the latest
> and greatest VM source or VMMaker. You may find it easier to
> just get a stable combination of slightly out-of-date Squeak
> and source code.

> For stable source, look at For example, if you
> are building something for unix/linux, you can use
> This contains the platform sources, including sqVirtualMachine.h.

> Then just use a stable Squeak 3.7 full image, which will include
> an out-of-date but perfectly servicable VMMaker. The combination
> should work fine for building plugins. And you *should* build a
> complete VM, not just your plugin. It will only take a few minutes
> extra, and it makes it possible to use all the existing configure
> and make procedures. Once you've done this, you can use VMMaker
> to regenerate your plugin as you develop it, and the make procedure
> will rebuild just your plugin as you would expect.

> The only caution I would add is to be aware that the up-to-date
> sources are intended to support both 64 bit and 32 bit images, so
> everything that defaulted to type "int" in the older sources is
> now defined as type "sqInt", which might be either 32 bits or
> 64 bits. Just don't assume that anything defaults to an int, and
> read if you want some more
> background. But don't lose any sleep over the issue, it's fairly
> easy to update your plugin for 64 bit later on if you don't feel
> like worrying about it right now.


Thanks very much for the help. I am absolutely staggered that I managed to
do this and in less than an hour. Not sure I did everything correct so
please double check me.

1. Downloaded the 3.7.1 sources and win32 tools.
2. Ran the make on the sources, completed without error.
3. Now the dodgy bit. Thought I would try the new Squeak.exe it built with
the 3.8 image and change set. It ran up and appeared to work fine.
4. Filed-in my plugin class from my 3.8 system.
5. Ran VMMakerTool and dragged my SDRPhasingDSPPlugin into the
ExternalPlugins. Hit GenerateExternalPlugins and it dropped the 'C' code
into the plugins directory.
6. Ran make again and it built just the plugin.
7. Copied the dll over to the root of my 3.8 system and as far as I can tell
it does call it because I can change the smalltalk plugin code and it still
executes the code I built.

Now I need to build the real thing with all my C code (which includes
PortAudio) hanging off the plugin.


*** Confidentiality Notice *** Proprietary/Confidential
Information belonging to CGI Group Inc. and its affiliates
may be contained in this message. If you are not a recipient
indicated or intended in this message (or responsible for
delivery of this message to such person), or you think for
any reason that this message may have been addressed to you
in error, you may not use or copy or deliver this message
to anyone else.  In such case, you should destroy this
message and are asked to notify the sender by reply email.
-------------- next part --------------
An HTML attachment was scrubbed...

More information about the Squeak-dev mailing list