RE: Linux port progress

"David Griswold" <[email protected]> Wed, 19 Dec 2007 20:26:47 -0500
Newsgroups gmane.comp.lang.smalltalk.strongtalk
Message-ID <[email protected]>
I really believe it is not that gigantic a job to port the UI to X, or to
any UI that has a relatively general model for nested 'windows', and an
interface to low-level rendering and the event queue.   In fact I wrote it
with the general X model in mind.  The Win32 dependent code is factored out
into small portable low-level API, and all the applications and the  vast
majority of the widgets are completely portable.  All the infrastructure for
layout, application-level rendering, and high-level event handling are done
in device independent code.

It is not a trivial task, but I don't think it is a gigantic job either.  I
am willing to advise on how it works and what to do if anyone wants to take
it on.
-Dave


> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]]On Behalf Of talksmall
> Sent: Wednesday, December 12, 2007 6:19 AM
> To: Strongtalk-general
> Subject: Re: Linux port progress
>
>
>
> 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
-~----------~----~----~----~------~----~------~--~---