<!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 Herbert.<br></div><div><br></div><div>Thanks, you have prodded me into realizing that I need to write Help on how to do a manual setup. I will do that now and get back to you.</div><div><br></div><div>I have a bash shell script that will download and completely configure an image for both VMMaker code generation and CMakeVMMakerSqueak cmake generation. However, when I tried to run it in cygwin on my dos partition, it did not work.</div><div><br></div><div>For Windows, there is additional platform&nbsp; work to be done. I was going to do it after the *nix release is up and on auto-pilot.</div><div><br></div><div>If you have the time and energy and would like to contribute, I can walk you through the steps on setting up what I call a "Platform Configuration" &nbsp;which is basically a superclass that sets up "platform specific global information'</div><div><br></div><div>In *nix this has been done. On Mac and Windows, what is in place is a port of what exists in pharo's CMakeVMMaker package to Squeak and it has not been tested.</div><div><br></div><div>What follows is a longer explanation of what I mean.</div><div><br></div><div>CMakeVMaker(Squeak) stores CMake files in "Configurations".&nbsp;</div><div>There are several layers to them.</div><div><br></div><div><br></div><div>CPlatformConfigForSqueak &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;--1. GLOBAL superclass for CMakeVMakerSqueak configurations.</div><div>&nbsp; &nbsp;SqueakUnixConfig &nbsp; &nbsp; &nbsp; SqueakMacintoshConfig &nbsp;SqueakWindowsConfig &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;--2. Provide OS Specific CMake output.</div><div>&nbsp; &nbsp; &nbsp;Linux32ARMv6Config &nbsp; &nbsp; SqueakWin32x86Config&nbsp; &nbsp; SqueakWin32x86Config &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;--3. Platform specific Configurations</div><div>&nbsp; &nbsp; &nbsp;SqueakBSD32x86Config &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;--3.a Platform specific Configuration</div><div>&nbsp; &nbsp;&nbsp; SqueakSunOS32x86Config &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;--3.b Platform specific Configuration</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ...... &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&lt;--3...... Platform specific Configuration</div><div>&nbsp; &nbsp; &nbsp;Linux32x86Config &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;--3.z Platform specific Configuration</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Linux32x86SqueakCogV3Config &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;--4 Platorm Specific [Language]. [VM] [Memory Model] Configuration &nbsp;this is what generates CMake to build Squeak Cog V3 on this platform</div><div><br></div><div><br></div><div>The *Nix platform is just a matter of building out the level 4 Configurations.</div><div>The Mac and Windows platforms need building out and testing at level 3.</div><div><br></div><div>What that means is "CMake Drives The Process" and whatever Windows specific template is correct CMake needs to be encapsulated in the corresponding level 3 Configuration.</div><div><br></div><div>On the *Nix platforms, the CMake Template is basically Ian Piumarta's work from the Standard Interpreter with only some cosmetic differences.&nbsp;</div><div><br></div><div>level 4. Configurations just specify build time stuff--where the source is, what compiler flags, linker flags, pre-processor flags, definitions--they are basically the equivalent of Eliot's MVM files in the Cog/build.xyz/lang.vm.mm/buildtype/mvm tree.</div><div><br></div><div>On the Windows and Mac platforms, I do not know if Ian's work is what we need or if something better can be done that is Windows specific and utilizes the Windows based build suite. (fwiw, I think it would be really cool to see people stepping through VM code using Visual Studio...)</div><div><br></div><div>So, to summarize.</div><div><br></div><div>On the Windows and Mac platforms are NOT at a level 4 stage like Linux is. If you would are interested, I can walk you through the dev process--its quite easy--its the equivalent of generating Seaside Components to build a web-page. You figure out what you want the web-page to look like and then generate the components you want to get the output you want. It is work, however and I don't know if you want to spend time on it.</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><br></div><div><br></div></div></body></html>