Macintosh VM plugin building
John M McIntosh
johnmci at smalltalkconsulting.com
Tue Jun 1 16:19:10 UTC 2004
On May 30, 2004, at 11:59 AM, Joshua 'Schwa' Gargus wrote:
> 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
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
There is a xcode project and resources stuffit doc in the printjob
plugin source folder which is an example template to build a external
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
More information about the Squeak-dev