[Vm-dev] StackVM running on iOS 6.1.2 and Xcode 4.6 and cmake
2.8.10 on OSX Lion 10.7.5
estebanlm at gmail.com
Thu Feb 28 13:04:51 UTC 2013
I'm sorry you found those troubles. I was already started to fix the issues and I'm committing them now. There were some issues with my last merge, but if you check the issues, there where not so many (there was a bug in CMIOSFreetype2 lib, thought).
Some comments below.
On Feb 28, 2013, at 1:30 PM, "phil at highoctane.be" <phil at highoctane.be> wrote:
> 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.
as I said, I don't understand why there were so much, but yes... I merged with latest sources and fixed something and that broke the config for iOS... this will not happen when I finish the jenkins builds for iOS :)
> 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.
yes, this is weird and I still have it around (I suppose is something with the c generator, because #isFree: is defined correctly in vmmaker. And also, it happens just in StackVM compilations, not Cog :P
> 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.
yep... lost in translation :)
I already restored it.
> 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.
The socket plugin is there... and working, AFAIS (I ran zinc without problems)
> 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).
this is done in the configuration, look in StackIPhoneConfig>>#commonCompilerFlags
'-DISQUEAK_IMAGE=', self imageName.
> 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).
yes, that was an intruder from the OSX merge. Fixed now.
> Also had to remove the FT2Plugin which was enabled for iOS, which I
> think is wrong.
there was a bug that prevented the right version of freetype2 configuration to be choosen. Fixed now.
> 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.
yes, that's the way it works.
I never been able to fully compile the iOS version outside xcode. But with xcode you can use command line tools to do it if you prefer.
> 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).
he, would be good, but too late, I already had the work in progress :)
Thank you for all the good feedback anyway.
> 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.
> <Screenshot 2013.02.28 13.26.49.png>
More information about the Vm-dev