Macintosh VM plugin building

John M McIntosh johnmci at
Tue Jun 1 16:19:10 UTC 2004

On May 30, 2004, at 11:59 AM, Joshua 'Schwa' Gargus wrote:

> Hello,
> I'm running into some trouble with building VMs on MacOS (v10.3.4,
> XCode 1.1) I successfully followed the instructions in the sourceforge
> platforms/ directory to build a vanilla VM, but ran into difficulties
> building both internal and external plugins.
> I tried external plugins first, but quickly found myself over my
> head; I'm a new Mac developer and don't yet grok Bundles and such.
> Seeking an easier way to get my feet wet, I decided to build
> Andrew Greenberg's RePlugin as an internal plugin.  I loaded the
> package from SqueakMap, added RePlugin to the list of internal plugins
> in VMMaker, and followed the VM building instructions as before.
> The VM successfully built, but didn't include the plugin, as verified
> via 'Smalltalk listBuiltinModules'.  I figured that this was because
> the XCode project file didn't include the appropriate files in the
> build target.  So, I added the files to the project manually.
> Specifically, I added them to the 'Squeak VM Opt' target.  The VM
> built OK, but again didn't include the plugin.
> I have a few questions:
> Do I have to manually adjust the XCode project settings each time I
> change the VMMaker configuration?  If so, how should I do this?

There is some instructions to build the printjob plugin in the readme
Building with PrintJobPlugin as internal

Add to the build as internal plugin list
do a "clean out"
do a "Generate all"

This should result in a folder being created
and of course we also use the code in
platforms/Mac OS/plugins/PrintJobPlugin folder

Returning to the project builder project we need to add a number of  
files to the project.

In the "Files" tab view
Select down to the location we want to put the built source
Create a new group called PrintJobPlugin
Add the file PrintJobPlugin.c  from src/vm/intplugins/PrintJobPlugin to  
that group

Do the same type of work to select the other files need to build the  
PrintJobPlugin.h file from the platforms/Cross/plugins/PrintJobPlugin  
that should go in the Sources/Cross/plugins/PrintJobPlugin group that  
you will create
sqMacPrinting.c & sqMacPrinting.h from the platforms/Mac  
these should go in the Sources/Mac OS/plugins/PrintJobPlugin group that  
you will create

> Do people always use XCode to build MacOS vms?  What about command
> line tools?

Usually, if you want to build using command tools you can use the unix  

> What are the benefits of using the MacOS vs. the unix branch of
> the Sourceforge code?

The carbon/macos version has a few things like alias support that is  
not in the unix branch. We are planing on merging more
of this into the unix mac vm.

> Is there any documentation about building external plugins on
> MacOS?
There is a xcode project and resources stuffit doc in the printjob  
plugin source folder which is an example template to build a external  

> Thanks,
> Joshua
John M. McIntosh <johnmci at> 1-800-477-2659
Corporate Smalltalk Consulting Ltd.

More information about the Squeak-dev mailing list