Has anyone built a vanilla VM on Mac from 2.3

Tom Morgan tmorgan at acm.org
Wed Mar 31 01:11:01 UTC 1999


Ryan Davis, Bob Arning and Duanne Maxwell helped explain what to do
to make a Mac VM, thanks very much.

Duanne's clear directions are below, or see Ryan's notes at:

  http://www.ZenSpider.com/Languages/Smalltalk/Squeak.html

I've put a copy of these notes on a page on the Swiki for
future reference.

   ...Tom M 

> >Has any one built a vanilla PPC VM on a Mac directly
> >from the 2.3 image sources, using Code Warrior3.2 or newer?
> >
> >I just did that, in anticipation of some fiddling with the
> >VM, and found 3 small items (1 and 3 may be related).
> >
> >1. There is a reference to a constant, 'kCurrentFragArch' which
> >doesn't seem to be in any of the header files.
> 
> Change it to "kCompiledCFragArch"
> 
> >2. There is an 'long' variable named 'junk' in the sound support
> >file, which the compiler thinks should be 'unsigned long'.
> 
> Make the change:
> 
> Delay(1, (unsigned long *)&junk);
> 
> 
> >After making changes to the source support files with my fingers
> >for these two items, I get a useable VM to link, but then:
> >
> >3. The named plugin mechanism seems to have trouble finding
> >the VM file itself as a plug in source.
> 
> In the "Edit:SqueakPPC Settings...", select "Linker:PPC PEF" and set the
> Fragment Name to "SqueakVMPrims".  This is the fragment name the external
> primitive mechanism wants for internalized named primitives.
> 
> You may also need to make the PBxxxAsync calls get recognized in
> "sqMacAsyncFilePrims.c".  The best way to do this is to insert the lines:
> 
> #undef OLDROUTINELOCATIONS
> #define OLDROUTINELOCATIONS 1
> 
> just before the inclusion of <Files.h>.  This will have to be fixed in a
> bette way in the long run - I believe these particular calls are being
> replaced.
> 
> Good luck!





More information about the Squeak-dev mailing list