Re: [Vm-dev] CMakeVMMaker what is repository for latest? and how    to????????sync with source.squeak.org?

tim Rowledge tim at rowledge.org
Fri May 16 16:53:55 UTC 2014


On 16-05-2014, at 5:33 AM, gettimothy <gettimothy at zoho.com> wrote:
> 
> Here is the current/old process (for Cog):
> 
> 1. Get the latest Cog tree from  svn co http://www.squeakvm.org/svn/squeak/branches/Cog
> 2. cd Cog/image/ and run script to build an image
> 3. place that image relative to the sources 
> 4. launch image and use VMMaker tools
> 5. run Gnu process on generated sources.
> 6. voila
> 


Except for the very important fact that it is set up so one can do
1. svn co the tree
2. run make process

with no need to run a VMMaker equipped system. Sometimes you *can’t* because of bugs like no actual pre-existing vm for your system.

> Here is what I have in place so far:
> 
> 1. Get the latest Cog tree from  svn co http://www.squeakvm.org/svn/squeak/branches/Cog
> 2. cd Cog/image/ and run script to build an image which: 
>  2.a builds image with tools per current process.
>  2.b (additionally loads FT2Plus Toxic bypass)
>  2.c additionally load the CMakeVMMaker package from source.squeak.org (now loading from SmalltalkHub)
>  2.d Recursively copies the parent Cog source code to image_directory/oscogvm/*
>  3.e Cleans the source tree to just source by finding and deleting all GNU-Build artefacts (Makefiles, autotool stuff)
> 3. User launches new image with the pristine source tree underneath it.
> 4. Run process SqueakVMBuilder buildXYZ (same as pharo process, but squeak names) to generate the source code and  CMake stuff in the clean source tree.
> 5. Run generated 'build.sh' script which invokes CMake and make.


It’s those last two parts that imply something is going a bit off-track here.

Now don’t forget I’m a fan of VMMaker, after all I invented it 14 years ago (actually so far as I can tell pretty much *exactly* ) but the convenience of being able to do an svn co, hit the OS-appropriate buttons and autoconfigure/build is considerable. Yes, I suppose one could have multiple svn branches for the (many, many) different versions of *nix but making use of the already existing CMake capability strikes me as more sensible.


> 6. voila.  <---I am here, but I am not saying 'voila' yet
> Easy-peasy. (please note, that the Cog source tree is not modified. I copy of it is--i.e. non-intrusive process on existing process)
> 
> 
> Once the CMake files are in place in the source tree, there is no reason once the process is mature that it cannot be automated. Hopefully we will have a rollover from the Gnu-Make era to the CMake era.
> 
> 
> Hopefully, I get the StackVM working today.
> 
> 
> 
> Regarding the CMakeVMMaker code. Its quite simple to understand and well designed. The only Squeak/Pharo compatability issues are in FileSystem/FileDirectory file handling and SmalltalkImage implementation.
> To keep things simple, I am modifying those things directly in the existing classes, but , once I get this working I will factor those things out to a compatibility layer. 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 


tim
--
tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
Useful random insult:- Living proof that nature does not abhor a vacuum.




More information about the Vm-dev mailing list