Hi Dave,
A number of people are in your position (I was one when I first got
involved with Strongtalk), and I've done some porting work to
facilitate getting the VM running in both OSX and Linux, however, the
biggest problem in both environments is getting enough of a UI running
to allow people to develop in Strongtalk.
I started out with a linux port and the core VM does run under linux
(or at least it did, see below), but only in headless mode. I also did
some preliminary enabling for an OSX port (the principal piece being
to ensure 16 byte alignment of DLL calls - to keep things simple this
is now the case under all OSes). I even implemented ANSI exceptions
under Linux in file out format using a text editor - just because I'm
a masochist. It's not a route I'd recommend ;) The fact that the linux
VM is headless does not make it completely useless though, because you
can pass a script of Smalltalk code to it using the -script command
line argument.
If you take a look at the Wiki tab on the project site you will find a
section on building the VM -
http://code.google.com/p/strongtalk/wiki/Building
- which also includes instructions for building under Linux.
Although we have not got that far yet, it probably wouldn't be too
hard to extrapolate this for OSX, though maybe an Xcode-based build
might be more appropriate. I have only just acquired an iMac, so
trying this out is definitely on my todo list, though how soon I will
get there I don't know, as I don't have that much time to devote to
the Strongtalk project as a whole (<10 hours per week) and there are
other bits that need attention. If you fancy tackling this, I'd really
like to encourage you to get involved. I'll do my best to support you
in any way I can.
If you are interested in this, you should checkout the gcc-linux
branch from SVN, rather than the trunk. This has been the mainline for
all of my contributions to the project. At some stage this needs to be
merged back into the trunk, but before I do that, I want to revalidate
the linux build. I took a quick look at it a couple of weeks ago and
it wasn't working. I haven't had the time to spend on sorting this out
yet. I may try and do that over the next couple of days. If so I'll
post again when I check in, and, if necessary, update the build
instructions on the Wiki.
Just for reference, what are your skills in C++ and assembler like? Or
do you only envisage contributing to the Smalltalk side of things?
(That's not inherently a problem, but it will make it more difficult
for you to contribute until we have a UI in either Linux or OSX -
though you could always try the masochistic route ;))
Another thing to bear in mind is that this is still pre-alpha code.
Crashes are to be expected. I almost always run the VM as a debug
session under an IDE (VisualStudio Express on Windows and Eclipse CDT
under Linux), with the sole exception of a small script I wrote that
launches the VM when doing primitive generation.
If none of this has frightened you off yet (and appearances to the
contrary, I sincerely hope it hasn't), then welcome. Please jump in,
ask questions and basically get involved.
Regards, Steve