Re: [Vm-dev] Naming convetions for Cog unix builds question (abldt,    bldt, dbldt, astbldt, asbld etc)

gettimothy gettimothy at zoho.com
Thu May 29 15:57:46 UTC 2014


Hi Clement.



Although Eliot has not submitted to SVN on Squeak yet. I have implemented that functionality for squeak and emailed him a tarball with the scripts etc. 
(although I have not done the headless version that you demonstrate--that looks good)


Eliot has similar scripts in Cog/image directory that do some of the work you describe, but they are not as advanced.




Cheers,


tty









---- On Thu, 29 May 2014 01:01:40 -0700 Clément Bera<bera.clement at gmail.com> wrote ---- 


 Hello gettimothy,

If you want to integrate the Pharo build, here is the script I use to build the VM (I use this script since I built first the Pharo VM in 2012)


 git clone --depth=1 https://github.com/pharo-project/pharo-vm.git 
cd pharo-vm
cd image
 ./newImage.sh

 ./pharo generator.image eval 'PharoVMBuilder buildMacOSX32'

cd ../build 
bash build.sh


Then the VM is in results folder.


 newImage.sh creates a generator.image (Now we have that for the Cog branch as Eliot added it when I was visiting him in May).
build.sh consists basically in calling cmake then make:

 #!bash


if [ ! -e vmVersionInfo.h ]; then


 ../codegen-scripts/extract-commit-info.sh

 
 fi


cmake .


make


make install




Now your process is not as easy at it looks like. I know you are aware but compiling the VM requires people to install different softwares (typically git, cmake, wget, Xcode command line tools for me on Mac) and for the Pharo build, it requires CLang which is fine but I am not able to build from Eliot sources which requires gcc.
 

So I think your app should in addition check depending on the platform (windows, Linux, Mac OS X, RISC OS) if everything required to compile the VM is installed, and else install it automatically.
 

The best would be to try to compile the VM on a freshly installed computer so you can know if it installs everything that is needed.


Keep going with this great work :-)
 

Regards,


Clément



2014-05-28 23:34 GMT+02:00 gettimothy <gettimothy at zoho.com>:
  
>>No preference.  It's up to you.  But I'm curious; why are you putting it in an app?
 



As I do one gnu-build tree, I am going to do its corresponding CMake tree. 


The CMake configuration files are generated from Squeak. 


It would be like GNU makefiles and autoconf files are generated from Squeak.
 


Process is like this:


1. have a directory structure.
2. Tell CMakeVMMakerSqueak to generate which creates the CMake infrastructure within the specified directory. (Or generateWithSources to create VMMaker sources and CMake files)
 3. from the command line, run the generated buils script 'build.sh' which
      3.a (on pharo, does some git stuff) 
      3.b invokes cmake
      3.c invokes make
4. get your results out of the oscogvm/results directory.
 

If everything is stable, the end user just does a svn co of the cmake branch they want and invokes the build.sh script. <---THIS is what Tim R. wants as the deliverable


I have another process in place for vm developers similar to your buildsqueaktrunk.sh scripts. I sent you those scripts last week. They set you up with either 
 a standard VM build environment (complete with source tree set up relative to Squeak) or a CogVM build environment. The idea being to make it easy on newbie vm guys to get up and running.



 
Cheers 


tty














 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20140529/284a634f/attachment-0001.htm


More information about the Vm-dev mailing list