[Vm-dev] StackVM running on iOS 6.1.2 and Xcode 4.6 and cmake 2.8.10 on OSX Lion 10.7.5

phil at highoctane.be phil at highoctane.be
Thu Feb 28 12:30:42 UTC 2013


After much fiddling, I got the StackVM running again on my iPad.(yeah!)

I used the code of Esteban from gitorious (the blessed one )and the
Pharo 1.4 image from the ci server at inria.

I had to change quite a bunch of stuff to get Cmake working fine as
there seems to have been lots of changes related to the OSX build that
had an effect on the IOS build.

Some Cmake issues didn't helped.

For some reason the generated sources of the interpreter contained
twice isFree around lines 17564 and 17574.
Looks like there is something weird going on there. I commented out one of them.

Same for the ioHighResClock which doesn't contain #ifnded
TARGET_IS_IPHONE when generating the StackVM for iPhone.
I did before, so I wonder why it is so now.

It looks like the VM should be able to have a SocketPlugin but there
is no tcp.h in the SDK of 6.1 or I am looking at the wrong place. Help
welcome to know where this lives.

Also, in sqSqueakIPhoneApplication+imageReadWrite.m, I had to change
the defines to iOS and PharoV10 as the system now has iOS.image and
not iPhone.image anymore (and requires download).

Most of my changes to the generate.image went towards getting cmake
happy, helping finding the includes and frameworks properly since
CMAKE_OSX_DEPLOYMENT_TARGET has to be set to nothing to get things to
work (Cmake known bug).
Also had to remove the FT2Plugin which was enabled for iOS, which I
think is wrong.

I had to use cmake -G Xcode . to get the thing running on the iPad as
the cmake . generate unix makefiles that mess up things with OpenGL
for some reason.

I'll wrap all the stuff in an archive if anyone wants that.

Esteban, maybe could we do an online meeting when you have time so
that I can walk you through what I did (as I kept a bunch of notes).

Now, I'll try to patch the handling of the bluetooth keyboard events
to be able to use an external keyboard instead of that damn on-screen
thing. That way, I'll be able to use proper Cmd- shortcuts and enable
to code something on the device itself.

I've got the keyboard thing figured out but in the codebase using
iOS5.1 (which didn't wanted to work in Xcode anymore in the first
place). It uses the GSEvent structure which is a non public API but
there is no other way. I also parted ways with the UIKeyInput protocol
which is way too primitive to do anything useful with modifiers etc.

Screenshot in attach.

Stay tuned.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screenshot 2013.02.28 13.26.49.png
Type: image/png
Size: 202267 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20130228/2aeabf92/Screenshot2013.02.2813.26.49-0001.png

More information about the Vm-dev mailing list