VMMaker and macintosh source.

John M McIntosh johnmci at smalltalkconsulting.com
Thu May 31 01:05:42 UTC 2001


>Is VMMaker just for Mac?  Or is this a new place for all of the platform
>files to be submitted?
>
>	--- Noel


No in theory it's for every platform. Tim has integrated his Acorn 
stuff and the common Unix stuff. I can't speak to when the windows or 
main stream Unix distro, or Jitter 
would/will/couldbe/mightbe/shouldbe integrated.

Right now the tree looks like below which follow the identifier 
attribute given by the VM. IE running on the MAC means the VM returns 
'Mac OS'. The sub folders follow the names of the current plugins. 
'Cross' is for stuff that is cross platform, so for example 
sqOpenGLRender.c is found in Cross/B3DAcceleratorPlugin and the 
macintosh specific static implementation files like sqMacOpenGL.c are 
found in Mac OS/B3DAcceleratorPlugin.

Tim did attempt to unify the plugin names, but I removed that support 
because it  causes problems with older images that now would have 
mismatchs between plugin names. (Sad)...

Build means issuing cmds like

(VMMaker default initializeAllInternalBut: #(IntegerPokerPlugin 
Mpeg3Plugin FFIPlugin TestOSAPlugin FileCopyPlugin )) generateEntire.

To build the standard macintosh VM, with those 5 plugins as external entities.

or
(MacOSPowerPCOS9BrowserVMMaker default initializeAllInternalBut: 
#(IntegerPokerPlugin Mpeg3Plugin FFIPlugin TestOSAPlugin)) 
generateInterpreterFile.

to get just the mac OS browser plugin interpreter built.

VM can be built with any mixture of internal/external plugins baring 
issues with getting some of the code that thinks it should be 
internal as external...

Note that the Slang code is generated on the fly as each plugin is 
being built, so nothing changes there. Plugins can basically remove 
their static C files, and require you to return a flag to indicate if 
there is a header file, and/or any platform files. Also remove of 
their translate routines, unless they are doing some custom 
modifications against the static files.

The resulting code is dumped into a target directory, if the tree 
contains subdirectories for the static files those are preserved.


platform
	Cross

AsynchFilePlugin
B3DAcceleratorPlugin
DropPlugin
FileCopyPlugin
FilePlugin
JoystickTabletPlugin
MIDIPlugin
misc
Mpeg3Plugin
SecurityPlugin
SerialPlugin
SocketPlugin
SoundCodecPrims
SoundGenerationPlugin
SoundPlugin
SqueakFFIPrims
SurfacePlugin
vm

	Mac OS

AsynchFilePlugin
B3DAcceleratorPlugin
DropPlugin
FileCopyPlugin
FilePlugin
JoystickTabletPlugin
MIDIPlugin
SecurityPlugin
SerialPlugin
SocketPlugin
SoundPlugin
SqueakFFIPrims
vm

	RiscOS
	unix


-- 
--
===========================================================================
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 mailing list