<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">2014-05-29 10:01 GMT+02:00 Clément Bera <span dir="ltr">&lt;<a href="mailto:bera.clement@gmail.com" target="_blank">bera.clement@gmail.com</a>&gt;</span>:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> <br><div dir="ltr">Hello gettimothy,<div><br></div><div>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)<div>
<br></div></div><blockquote style="margin:0px 0px 0px 40px;border:medium none;padding:0px">

<div>git clone --depth=1 <a href="https://github.com/pharo-project/pharo-vm.git" target="_blank">https://github.com/pharo-project/pharo-vm.git</a> </div><div>cd pharo-vm</div><div><div>cd image</div><div> ./newImage.sh</div>
</div><div><div>

./pharo generator.image eval &#39;PharoVMBuilder buildMacOSX32&#39;</div></div><div>cd ../build </div><div>bash build.sh</div></blockquote><div><div><br></div><div>Then the VM is in results folder.</div><div><br></div><div>


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).</div><div>build.sh consists basically in calling cmake then make:</div></div><blockquote style="margin:0px 0px 0px 40px;border:medium none;padding:0px">


<div><div><div>#!bash</div></div></div><div><div><div>if [ ! -e vmVersionInfo.h ]; then</div></div></div><div><div><div><span style="white-space:pre-wrap">        </span>../codegen-scripts/extract-commit-info.sh</div></div>
</div>
<div><div><div>fi</div></div></div><div><div><div>cmake .</div></div></div><div><div><div>make</div></div></div><div><div><div>make install</div></div></div></blockquote><div><br></div><div>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.</div>


<div><br></div></div></blockquote><div><br></div><div>Reminder: CLang is not that fine yet<br></div><div>On MacOSX, it causes <a href="https://pharo.fogbugz.com/f/cases/11130/Special-byte-code-sequences-mess-up-the-stack-of-VM">https://pharo.fogbugz.com/f/cases/11130/Special-byte-code-sequences-mess-up-the-stack-of-VM</a><br>
</div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div></div><div>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.</div>


<div><br></div><div>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.</div><div><br></div><div>Keep going with this great work :-)</div><div>


<br></div><div>Regards,</div><div><br></div><div>Clément</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-05-28 23:34 GMT+02:00 gettimothy <span dir="ltr">&lt;<a href="mailto:gettimothy@zoho.com" target="_blank">gettimothy@zoho.com</a>&gt;</span>:<br>


<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> <br><u></u><div><div style="font-size:10pt;font-family:Verdana,Arial,Helvetica,sans-serif">&gt;&gt;No preference.  It&#39;s up to you.  But I&#39;m curious; why are you putting it in an app?<br>


<div><br></div><div><br></div><div>As I do one gnu-build tree, I am going to do its corresponding CMake tree. </div><div><br></div><div>The CMake configuration files are generated from Squeak. </div><div><br></div><div>It would be like GNU makefiles and autoconf files are generated from Squeak.<br>


</div><div><br></div><div>Process is like this:</div><div><br></div><div>1. have a directory structure.</div><div>2. Tell CMakeVMMakerSqueak to generate which creates the CMake infrastructure within the specified directory. (Or generateWithSources to create VMMaker sources and CMake files)</div>


<div>3. from the command line, run the generated buils script &#39;build.sh&#39; which</div><div>      3.a (on pharo, does some git stuff) </div><div>      3.b invokes cmake</div><div>      3.c invokes make</div><div>4. get your results out of the oscogvm/results directory.</div>


<div><br></div><div>If everything is stable, the end user just does a svn co of the cmake branch they want and invokes the build.sh script. &lt;---THIS is what Tim R. wants as the deliverable</div><div><br></div><div>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 </div>


<div>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.</div><div><br></div><div><br>


</div><div>Cheers </div><div><br></div><div>tty</div><div><br></div><div><br></div><div><br></div><div><br></div></div></div><br></blockquote></div><br></div>
<br></blockquote></div><br></div></div>