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

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Thu May 29 12:28:24 UTC 2014


2014-05-29 10:01 GMT+02:00 Clément Bera <bera.clement at gmail.com>:

>
> 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.
>
>
Reminder: CLang is not that fine yet
On MacOSX, it causes
https://pharo.fogbugz.com/f/cases/11130/Special-byte-code-sequences-mess-up-the-stack-of-VM


> 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/687703f6/attachment.htm


More information about the Vm-dev mailing list