<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">Hi Ronie, Esteban,</div><div class="gmail_quote"><br></div><div class="gmail_quote">Could you do a quick review of my CMakeLists.txt change for <span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">any obvious blunder</span>.</div><div class="gmail_quote">This may be my last post on this thread for a short while.</div><div class="gmail_quote"><br></div><div class="gmail_quote"><br></div><div class="gmail_quote">On 8 August 2018 at 21:39, Ben Coman <span dir="ltr"><<a href="mailto:btc@openinworld.com" target="_blank">btc@openinworld.com</a>></span> wrote:<br><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 class="gmail_extra"><span class="gmail-m_-1880086998417482134gmail-"><div class="gmail_quote"><br></div></span><div class="gmail_quote"><div>Well thats enough for one post!  </div><div>Success running a MSVC compiled Spur Stack "minheadless" VM.</div><div><br></div><div>Next I'll try... 

<span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">  option(COG_JIT "Cog JIT" ON)</span></div></div></div></div></blockquote></div></div><div class="gmail_extra">

<div style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><br class="gmail-m_-1880086998417482134gmail-Apple-interchange-newline">I did that, and then...</div><div style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">  "CMakeLists.txt > Cache(x64-Debug only) > Delete cache folder..."</span></div><div style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial">  "CMake > Build All"<br></div><div style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial">then started "x64-Debug" , "pharo.exe minImage+eval"</div><div class="gmail_extra">and a console window opens that reports...</div>    "linking callsite to invalid address"</div><div class="gmail_extra"><br></div><div class="gmail_extra">Well I'm not sure how ready is the Windows 64bit JIT is, </div><div class="gmail_extra">so lets try with 32bit JIT.</div><div class="gmail_extra">In VS selecting "x86-Debug" , "pharo.exe minImage+eval" <br></div><div class="gmail_extra">and "Cmake > Build All"</div><div class="gmail_extra">reports... "Severity<span style="white-space:pre-wrap">     </span>Code<span style="white-space:pre-wrap">    </span>Description<span style="white-space:pre-wrap">     </span>Project<span style="white-space:pre-wrap"> </span>File<span style="white-space:pre-wrap">    </span>Line<span style="white-space:pre-wrap">    </span>Suppression State</div><div class="gmail_extra">Error<span style="white-space:pre-wrap">     </span>C1189<span style="white-space:pre-wrap">   </span>#error:  As yet no Cogit implementation appears to exist for your platform.<span style="white-space:pre-wrap">    </span><br>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\<wbr>IDE\CMakeLists.txt<span style="white-space:pre-wrap">   </span>C:\#Repos\OpenSmalltalk\<wbr>opensmalltalk-vm\spur64src\vm\<wbr>cogit.c</div><div class="gmail_extra"><br></div><div class="gmail_extra">In the CMake variables</div><div class="gmail_extra">    SourceFolderName=spur64src<br></div><div class="gmail_extra">because..</div><div class="gmail_extra">    
<span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">VM_64BITS=TRUE</span></div><div class="gmail_extra"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">which is set here...</span></div><div class="gmail_extra"><div class="gmail_extra">    if(SQUEAK_PLATFORM_X86_64)</div><div class="gmail_extra"><span style="white-space:pre-wrap">     </span>if(BUILD_I386_VERSION)</div><div class="gmail_extra">        set(SQUEAK_PLATFORM_X86_32 True)</div><div class="gmail_extra"><span style="white-space:pre-wrap">    </span>    set(SQUEAK_PLATFORM_X86_64 False)</div><div class="gmail_extra"><span style="white-space:pre-wrap">    </span>else()</div><div class="gmail_extra"><span style="white-space:pre-wrap">             </span>set(VM_64BITS TRUE)</div><div class="gmail_extra"><span style="white-space:pre-wrap">                </span>set(SourceFolderName "${SourceFolderName}64")</div><div class="gmail_extra"><span style="white-space:pre-wrap">            </span>if(WIN32)</div><div class="gmail_extra"><span style="white-space:pre-wrap">                  </span>set(FFI_VARIANT_X64_WIN64 True)</div><div class="gmail_extra"><span style="white-space:pre-wrap">            </span>else()</div><div class="gmail_extra"><span style="white-space:pre-wrap">                     </span>set(FFI_VARIANT_X64_SYSV True)</div><div class="gmail_extra"><span style="white-space:pre-wrap">             </span>endif()</div><div class="gmail_extra">        set(VM_TARGET_CPU "x86_64")</div><div class="gmail_extra"><span style="white-space:pre-wrap">      </span>endif()</div><div class="gmail_extra">    else()</div><div class="gmail_extra"><span style="white-space:pre-wrap">   </span>set(VM_64BITS False)</div><div class="gmail_extra">    endif()</div><div class="gmail_extra"><br></div><div class="gmail_extra">which I'm not clear how that logic works,  </div><div class="gmail_extra">since it seems  <span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">BUILD_I386_VERSION  doesn't prevent  <span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">VM_64BITS=True</span></span></div><div class="gmail_extra"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></span></div><div class="gmail_extra"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Rearranging like...</span></span></div><div class="gmail_extra"><span style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><div class="gmail_extra"><br></div><div class="gmail_extra">    if(BUILD_I386_VERSION)</div><div class="gmail_extra">        set(SQUEAK_PLATFORM_X86_32 True)</div><div class="gmail_extra">        set(SQUEAK_PLATFORM_X86_64 False)</div><div class="gmail_extra">        set(VM_64BITS False)</div><div class="gmail_extra">    else()</div><div class="gmail_extra">    endif()</div><div class="gmail_extra">    if(SQUEAK_PLATFORM_X86_64)</div><div class="gmail_extra">        set(VM_64BITS TRUE)</div><div class="gmail_extra">        set(SourceFolderName "${SourceFolderName}64")</div><div class="gmail_extra">        if(WIN32)</div><div class="gmail_extra">              set(FFI_VARIANT_X64_WIN64 True)</div><div class="gmail_extra">        else()</div><div class="gmail_extra">              set(FFI_VARIANT_X64_SYSV True)</div><div class="gmail_extra">        endif()</div><div class="gmail_extra">        set(VM_TARGET_CPU "x86_64")</div><div class="gmail_extra">    else()</div><div class="gmail_extra">    endif()</div></span></span></div><div class="gmail_extra"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></span></div><div class="gmail_extra"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">then adding 

<span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">-DBUILD_I386_VERSION in 

<span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">"CmakeSettings.json"</span> like this</span>... </span></span></div><div class="gmail_extra"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">  "CMakeLists.txt > Change Cmake Settings"</span></span></div><div class="gmail_extra">        {<br></div><div class="gmail_extra"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><div class="gmail_extra">            "name": "x86-Debug",</div><div class="gmail_extra">            "generator": "Ninja",</div><div class="gmail_extra">            "configurationType": "Debug",</div><div class="gmail_extra">            "inheritEnvironments": [ "msvc_x86" ],</div><div class="gmail_extra">            "buildRoot": "${env.USERPROFILE}\\<wbr>CMakeBuilds\\${workspaceHash}\<wbr>\build\\${name}",</div><div class="gmail_extra">            "installRoot": "${env.USERPROFILE}\\<wbr>CMakeBuilds\\${workspaceHash}\<wbr>\install\\${name}",</div><div class="gmail_extra">            "cmakeCommandArgs": "-DBUILD_I386_VERSION=ON",</div><div class="gmail_extra">            "buildCommandArgs": "-v",</div><div class="gmail_extra">            "ctestCommandArgs": ""</div><div class="gmail_extra">        },</div></span></span></div><div class="gmail_extra"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"> </span></span></div><div class="gmail_extra"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">then refreshing...</span></span></div><div class="gmail_extra"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">

<div style="font-size:small;text-decoration-style:initial;text-decoration-color:initial;background-color:rgb(255,255,255)"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">  "CMakeLists.txt > Cache(x64-Debug only) > Delete cache folder..."</span></div><div style="font-size:small;text-decoration-style:initial;text-decoration-color:initial;background-color:rgb(255,255,255)">  "CMake > Build All"</div>

<br></span></span></div><div class="gmail_extra"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">leaves these values in the Cmake variables...</span></span></div><div class="gmail_extra">    VM_64BITS=False</div></div><div class="gmail_extra">    SourceFolderName=spursrc</div><div class="gmail_extra"><br></div><div class="gmail_extra">and the build completes successfully.</div><div class="gmail_extra"><br></div><div class="gmail_extra">I'm leaving it there for the moment.  </div><div class="gmail_extra">Actually the above sat in unchanged in draft for a week since I've had to shift my attention to something else.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Modifications to date here... <a href="https://github.com/bencoman/opensmalltalk-vm/tree/MinimalisticHeadless-x64-msvc2017">https://github.com/bencoman/opensmalltalk-vm/tree/MinimalisticHeadless-x64-msvc2017</a></div><div class="gmail_extra">Next would be to catch up to Esteban's branch... <a href="https://github.com/estebanlm/opensmalltalk-vm/tree/add-minheadless-vm">https://github.com/estebanlm/opensmalltalk-vm/tree/add-minheadless-vm</a></div><div class="gmail_extra"><br></div><div class="gmail_extra">cheers -ben</div></div>