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
|