<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta content="text/html;charset=UTF-8" http-equiv="Content-Type"></head><body ><div style='font-size:10pt;font-family:Verdana,Arial,Helvetica,sans-serif;'><div>Hi David.<br></div><div><br></div><div>Thanks for your thoughts.&nbsp;</div><div><br></div><div><br></div><div>Some definitions:</div><div><br></div><div>In the discussion let's let</div><div>1. VMMaker refer to Standard Interpreter build system including image,build tools and source tree from svn co <a href="http://squeakvm.org/svn/squeak/trunk" target="_blank">http://squeakvm.org/svn/squeak/trunk</a></div><div>2. VMMaker.oscog refers to Cog Interpreter build system including image, build tools and source tree from svn co <a href="http://www.squeakvm.org/svn/squeak/branches/Cog" target="_blank">http://www.squeakvm.org/svn/squeak/branches/Cog</a></div><div>3. Pharo refers the pharo build system which uses VMMaker-oscog, git and CMMakeVMMaker tools</div><div><br></div><div>Some principles:</div><div><br></div><div>1. I will NOT be touching &nbsp;or modifying VMMaker.&nbsp;</div><div>2. I will NOT be modifying the existing VMMaker.oscog build systems in any way. Eliot will not see ANY changes to existing infrastructure. (ok, an addition of a shell script and support files in Cog/image, but that's it)</div><div>3. I AM creating a parallel CMake system using the existing infrastructure.</div><div><br></div><div><br></div><div>Ok, onto your concerns</div><div><br><blockquote style="border-top-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-top-width: 1px; border-left-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-left-style: solid; border-right-style: solid; border-bottom-style: solid; padding-top: 7px; padding-right: 7px; padding-bottom: 7px; padding-left: 7px; background-color: rgb(245, 245, 245);"><div><strong>but if your objective is to get oscog and trunk VM builds to use a common&nbsp;<br>build system </strong>based on Cmake, and if you want Ian and Eliot to adopt that <br>approach, then I think you may be taking the long way around the problem.</div></blockquote></div><div><br></div><div>I do not. My task is only to create a CMake system for VMMaker.oscog without touching the existing build systems.<br></div><div><br></div><div><br><blockquote style="border-top-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-top-width: 1px; border-left-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-left-style: solid; border-right-style: solid; border-bottom-style: solid; padding-top: 7px; padding-right: 7px; padding-bottom: 7px; padding-left: 7px; background-color: rgb(245, 245, 245);"><div>It is certainly possible maintain the sources in git rather than Subversion, </div></blockquote> <br>Who needs the extra work? (:&nbsp;</div><div>We have 1 source tree for the old Standard VM at: <a href="http://squeakvm.org/svn/squeak/trunk" target="_blank">http://squeakvm.org/svn/squeak/trunk</a> &nbsp;&nbsp;</div><div>We have 1 source tree for the Cog work at: &nbsp;<a href="http://www.squeakvm.org/svn/squeak/branches/Cog" target="_blank">http://www.squeakvm.org/svn/squeak/branches/Cog</a></div><div>The pharo team wanted git and did their thing.<br></div><div><br></div><div><br></div><div><br><blockquote style="border-top-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-top-width: 1px; border-left-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-left-style: solid; border-right-style: solid; border-bottom-style: solid; padding-top: 7px; padding-right: 7px; padding-bottom: 7px; padding-left: 7px; background-color: rgb(245, 245, 245);"><div>I do have opinions on the matter, but we are not suffering here from a shortage of opinions</div></blockquote> </div><div><br></div><div><br></div><div>I would love to hear them.</div><div><br></div><div><br></div><div>I have emailed you directly with an attached .tgz file that can be extracted into the Cog/image directory from <a href="http://www.squeakvm.org/svn/squeak/branches/Cog" target="_blank">http://www.squeakvm.org/svn/squeak/branches/Cog</a></div><div><br></div><div>with a current SVN checkout from svn co <a href="http://www.squeakvm.org/svn/squeak/branches/Cog" target="_blank">http://www.squeakvm.org/svn/squeak/branches/Cog</a> the script does the following:</div><div><br></div><div><strong>1. On VMMaker branch (cmakify.sh -s VERSION) &nbsp; (it basically extends the work done by Eliot in buildsqueak*.sh . my script goes to 11, though)</strong></div><div>a. creates a subdirectory named installStandardVMaker</div><div>b. downloads Squeak VERSION</div><div>c. copies the pristine Squeak.image/changes to a StandardVMaker.image/changes</div><div>d. runs Squeak with a BuildStandardImage.st script to install the VMMaker tools on the StandardVMMaker.image</div><div>e. downloads the source tree from <a href="http://squeakvm.org/svn/squeak/trunk" target="_blank">http://squeakvm.org/svn/squeak/trunk</a> &nbsp;and stores it where Squeak expects it relative to the installStandardVMMaker directory.</div><div>f. Sets up sym-links for VMMakerTool</div><div>g. copies in some .config files for VMMakerTool</div><div>h. &nbsp;Adds a Workspace help text</div><div><br></div><div>So, that task is done. Instead of going here:<a href="http://wiki.squeak.org/squeak/6177" target="_blank">http://wiki.squeak.org/squeak/6177</a> and following the steps and links at the wiki. a newbie wanting to get up and running with the Standard VMMaker suite</div><div>can do 3 things:</div><br><blockquote style="border-top-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-top-width: 1px; border-left-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-left-style: solid; border-right-style: solid; border-bottom-style: solid; padding-top: 7px; padding-right: 7px; padding-bottom: 7px; padding-left: 7px; background-color: rgb(245, 245, 245);"><div><div>svn co&nbsp; <a href="http://www.squeakvm.org/svn/squeak/branches/Cog" target="_blank">http://www.squeakvm.org/svn/squeak/branches/Cog</a></div><div>cd Cog/image</div><div>./cmakify.sh -s 4.6</div><div><br></div></div></blockquote> <div><br></div><div>VMMaker branch work is done. There are no changes to existing stuff. I have merely added a convenience script if people choose to adopt it. If it is adopted, the contents of the image.tty.tgz I emailed you will have to be added to SVN tree.</div><div><br></div><div><strong>2. On VMMaker.oscog branch the same script is used and the behavior is similar. (cmakify.sh -c VERSION -t) (i.e. it mimics the existing buildsqueak*.sh scripts Eliot has)</strong><br></div><div>a. create a subdirectory named installCogVMMaker</div><div>b. downloads the appropriate squeak VERSION to it</div><div>c. copies the pristine .image and .changes files to CogVMMaker.image/changes</div><div>d. runs squeak with the apprpriate Buildsqueak*.st smalltalk script to install the VMMaker.oscog tools from stable or trunk if specified with the -t switch</div><div>e rsyncs the current Cog source tree into a subdirectory where the VMMaker.oscog tools can find it</div><div>f. strips the synced source tree of all Gnu build artifacts&nbsp;</div><div>g. sets up sym-links for VMMakerTool</div><div>h. copies in some *.config files for VMMaker tool</div><div><br></div><div>The Cog/image/installCogVMMaker directory can then be moved to wherever the developer wants it.</div><div><br></div><div><strong>So, I have VMMaker.oscog set up on squeak with a pristine, cleaned copy of the SVN tree residing underneath it ready to have CMakeLists.text files added to it. The original SVN is unchanged as are existing build scripts.</strong></div><div><strong>A newbie can be up and running with the latest VMMaker.oscog &nbsp;or VMMaker environment in minutes. </strong></div><div>So, my goal of making it easy for a newbie is done, the existing infrastructure is unchanged and nobody's toes are being stepped on.<strong><br></strong></div><div><br></div><div>Now on to the next step.&nbsp;</div><div><br></div><div>Now, I need to add the CMakeLists.text files to the clean source tree. (An added benefit would be to have them actually work, but let's start simple (: )</div><div><br></div><div>There are two starting points for this:</div><div><br></div><div>1. The existing CMakeLists.text in the VMMaker source tree from <a href="http://squeakvm.org/svn/squeak/trunk" target="_blank">http://squeakvm.org/svn/squeak/trunk</a></div><div>2. The existing CMakeVMMaker tool at source.squeak.org/VMMaker &nbsp;(If you are not familiar with it, it defines and generates CMakeLists.txt and puts them in the source tree)</div><div><br></div><div>Estaban has stated:</div><div><br></div><div><br><blockquote style="border-top-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-top-width: 1px; border-left-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-left-style: solid; border-right-style: solid; border-bottom-style: solid; padding-top: 7px; padding-right: 7px; padding-bottom: 7px; padding-left: 7px; background-color: rgb(245, 245, 245);"><div>if I can give an opinion, I would go through making a “SqueakVMMaker”, PharoVMMaker style. &nbsp;<br>then you don’t need to fork the common base who will still be available for all platforms. &nbsp;<br> <br><div>Esteban&nbsp;</div></div></blockquote><br></div><div>I am cool with this. I was/am hesitant to clutter up the pharo team work, but if they are ok, me too.</div><div><br></div><div>Another option is to fork CMMakeVMMaker and create CMMakeVMMaker.oscg</div><div><br></div><div><br></div><div>You guys let me know.</div><div><br></div><div>thx.</div><div><br></div><div>tty</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><strong><br></strong></div><div><br></div><div><br></div><div><br></div></div></body></html>