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 -~----------~----~----~----~------~----~------~--~---