Gcc dependencies in VMMaker

Tim Rowledge tim at sumeru.stanford.edu
Sun Oct 24 19:22:15 UTC 2004


Dean said:-
> Is there any easy way to get VMMaker to generate C code that doesn't 
> include all the Gcc dependencies that the latest version does?  I'm trying 
> to build an updated 3.7 VM for WinCE (i.e. my iPaq 2210), and the current 
> VMMaker output from 3.7-5989 Full makes MS VC++ quite cranky.
I'm puzzled - there's nothing at all that was deliberately put into
VMMaker to support gcc. It should produce as vanilla C as we can
manage, though I suspect it does tend a little towards C99 standard and
one of my wannadoos is to try making use of the __inline__ pragma
sometime soon.

WinCE support is likely to be a bit flaky since (to the best of my
knowledge) no support for it has been put in either. Since I don't
do any development work on either it relies on others submitting code
and I simply don't seem to have any.  So far as I can remember Yoshiki
has done pretty much all the handling of winCE VMs.

Ale. said:-
> One of the problem is related with instantiation of the VMMaker.
> The #default message returns an instance for building the image in the host
> platform.
> So, when you open the VMMaker with the menu, all is ok.
> But IF YOU CHANGE (by hand) the last editbox contents with title "path to
> generated sources", a new VMaker can be instantiated and provably if you
> named the directory for WinCE platform, the wrong instance will be created
> (aVMMaker instance).
The intent is that when you open a VMMakerTool UI the default of a
VMMaker suitable for the platform you're running on is made. If you
choose a different platform from the list ('Find platform') a new
instance of the actual VMMaker is built to suit the chosen platform and
the configuration copied over (just in case you had setup any plugin
config etc). Changing the 'Path to generated sources' should most
definitely not rebuild the VMMaker instance attached to the
VMMakerTool. I've just tried this and that seems to be correctly
working. Note that the name for the generated sources directory has
nothing to do at all with the platform name or VMMaker subclass. For
'winCE' to appear in the list of options we would need for a winCE
platform directory tree to be built since right now the menu is built
from the subdirectories of /platforms. Files in common with win32
could be linked to, copied or simply referred to in the makefile

Adding a suitable WinCEVMMaker subclass is a good starting point and I
suspect some other code would be needed. Yoshiki is almost certainly the
Man For The Job. 

tim
--
Tim Rowledge, tim at sumeru.stanford.edu, http://sumeru.stanford.edu/tim
Any programming language is at its best before it is implemented and used.



More information about the Squeak-dev mailing list