Re: Linux port progress

talksmall <[email protected]> Wed, 12 Dec 2007 03:19:08 -0800 (PST)
Newsgroups gmane.comp.lang.smalltalk.strongtalk
Message-ID <79680f0f-b272-4d22-acb2-a1584dc4a2b4@r29g2000hsg.googlegroups.com>
Hi Chris,

On Dec 12, 5:42 am, "[email protected]" <[email protected]> wrote:
> Couldn't you solve that by rewriting/porting the parts of the code
> that load DLLs and call into them to do the same with *nix shared
> libraries?  After that, the callouts should work (mostly) fine.  I'd
> think that would be easier than rewriting the entire GUI system.

Absolutely, that is the plan. There are some  200+ such callouts in
the Strongtalk code in the image at the moment. An added complication
is that we want to keep the same image for both Windows and Linux. At
the moment this is done using a Platform global in the Smalltalk
dictionary that is an alias to the OS-specific platform class -
Win32Platform or UnixPlatform respectively. The Platform then acts as
an Abstract Factory for the various platform classes used by the
system (eg. the UnixFilePattern/UnixFilePath, etc.)

There are also a few prerequisites that needed to be solved first.
Most of the OS dependencies in the VM reside in the osxxx.cpp module
in the vm/runtime directory, so the first step in getting a Linux port
running was to port enough of these to perform basic memory
allocations, thread setup and shared object loading, in order that
image callouts to library code could be implemented. A further
necessary step was to get C convention callbacks into the image
working (which I just fixed last night - now in SVN).

> Well, WineLib programs *are* native Linux programs, but I agree that
> it's a good idea to be free of Win32.  However, I think it's important
> to get the Linux version to the point where it can host a development
> environment as soon as possible.
>
> Once you've got a working (if ugly) IDE up and running, you can use it
> to write the real GUI.

In fact you could do that now without the GUI. Code fileIns work, so
you can modify the image without the IDE, just using a standard text
editor. I know it's ugly, but we do have the minimal tools for
Strongtalk code development under Linux right now! In fact, Artur
Lojewski is looking into using the Eclipse dynamic language support
tools to provide a mechanism for reading and possibly editing the dlt
files that contain the Strongtalk code.

Now that I have callbacks working, I plan to start work on the UI
implementation. First milestone would be to set up a minimal Launcher.

Some other goals that we should consider are

ensuring command line level debugging works under Linux
developing automated tests for the VM
documenting the VM design
documenting classes in the Strongtalk image
ensuring the existing benchmarks run under Linux
investigating stability issues when running with the compiler enabled
interactive UI debugger
Squeak image porting/merging
Image build from scratch
fixing the defects recorded in the project issues

Are you in a position to contribute any time to helping with some of
these?

Regards, Steve

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Strongtalk-general" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [email protected]
For more options, visit this group at http://groups.google.com/group/strongtalk-general?hl=en
-~----------~----~----~----~------~----~------~--~---