Re: [squeak-dev] No vm-display-x11 Plug-in After Building From Source    On FreeBSD 10.1

gettimothy gettimothy at zoho.com
Wed Dec 17 14:38:36 UTC 2014


Hi Herbert.



Thanks, you have prodded me into realizing that I need to write Help on how to do a manual setup. I will do that now and get back to you.


I have a bash shell script that will download and completely configure an image for both VMMaker code generation and CMakeVMMakerSqueak cmake generation. However, when I tried to run it in cygwin on my dos partition, it did not work.


For Windows, there is additional platform  work to be done. I was going to do it after the *nix release is up and on auto-pilot.


If you have the time and energy and would like to contribute, I can walk you through the steps on setting up what I call a "Platform Configuration"  which is basically a superclass that sets up "platform specific global information'


In *nix this has been done. On Mac and Windows, what is in place is a port of what exists in pharo's CMakeVMMaker package to Squeak and it has not been tested.


What follows is a longer explanation of what I mean.


CMakeVMaker(Squeak) stores CMake files in "Configurations". 
There are several layers to them.




CPlatformConfigForSqueak                                                                                     <--1. GLOBAL superclass for CMakeVMakerSqueak configurations.
   SqueakUnixConfig       SqueakMacintoshConfig  SqueakWindowsConfig                 <--2. Provide OS Specific CMake output.
     Linux32ARMv6Config     SqueakWin32x86Config    SqueakWin32x86Config           <--3. Platform specific Configurations
     SqueakBSD32x86Config                                                                                     <--3.a Platform specific Configuration
     SqueakSunOS32x86Config                                                                                 <--3.b Platform specific Configuration
            ......                                                                                                           <--3...... Platform specific Configuration
     Linux32x86Config                                                                                               <--3.z Platform specific Configuration
          Linux32x86SqueakCogV3Config                                                                     <--4 Platorm Specific [Language]. [VM] [Memory Model] Configuration  this is what generates CMake to build Squeak Cog V3 on this platform




The *Nix platform is just a matter of building out the level 4 Configurations.
The Mac and Windows platforms need building out and testing at level 3.


What that means is "CMake Drives The Process" and whatever Windows specific template is correct CMake needs to be encapsulated in the corresponding level 3 Configuration.


On the *Nix platforms, the CMake Template is basically Ian Piumarta's work from the Standard Interpreter with only some cosmetic differences. 


level 4. Configurations just specify build time stuff--where the source is, what compiler flags, linker flags, pre-processor flags, definitions--they are basically the equivalent of Eliot's MVM files in the Cog/build.xyz/lang.vm.mm/buildtype/mvm tree.


On the Windows and Mac platforms, I do not know if Ian's work is what we need or if something better can be done that is Windows specific and utilizes the Windows based build suite. (fwiw, I think it would be really cool to see people stepping through VM code using Visual Studio...)


So, to summarize.


On the Windows and Mac platforms are NOT at a level 4 stage like Linux is. If you would are interested, I can walk you through the dev process--its quite easy--its the equivalent of generating Seaside Components to build a web-page. You figure out what you want the web-page to look like and then generate the components you want to get the output you want. It is work, however and I don't know if you want to spend time on it.


cheers.


tty.













-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20141217/63330e10/attachment.htm


More information about the Squeak-dev mailing list