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

Clément Bera bera.clement at gmail.com
Thu May 29 08:01:40 UTC 2014


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/6a6ae210/attachment.htm


More information about the Vm-dev mailing list