<br><br><div class="gmail_quote">On Thu, Jul 22, 2010 at 9:59 PM, Eliot Miranda <span dir="ltr"><<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br><br><br><div class="gmail_quote">On Thu, Jul 22, 2010 at 11:55 AM, Geoffroy Couprie <span dir="ltr"><<a href="mailto:geo.couprie@gmail.com" target="_blank">geo.couprie@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br><br><br><div class="gmail_quote">On Thu, Jul 22, 2010 at 8:06 PM, Eliot Miranda <span dir="ltr"><<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>Hi Geoffroy,<br><br><div class="gmail_quote">On Thu, Jul 22, 2010 at 10:34 AM, Geoffroy Couprie <span dir="ltr"><<a href="mailto:geo.couprie@gmail.com" target="_blank">geo.couprie@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>Hello,<br><br><div class="gmail_quote">On Thu, Jul 22, 2010 at 5:20 PM, Andreas Raab <span dir="ltr"><<a href="mailto:andreas.raab@gmx.de" target="_blank">andreas.raab@gmx.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div><div></div><div><br>
On 7/22/2010 4:55 AM, David T. Lewis wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
On Wed, Jul 21, 2010 at 08:49:19PM -0700, Eliot Miranda wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
But the more serious issue is that the configure in VMMaker is only suitable<br>
for linux. I guess that the right thing to do for FreeBSD is to run make in<br>
platforms/unix/config to generate a FreeBSD-specific configure. But I'm out<br>
of my depth when it comes to autoconf.<br>
</blockquote>
<br>
Note that Ian moved to CMake for the unix builds, so autoconf is no longer<br>
used for building from the SVN trunk. In addition, Geoffroy Couprie has<br>
developed this further such that the VM can be built for both unix and<br>
Windows targets, see thread here:<br>
<br>
<a href="http://lists.squeakfoundation.org/pipermail/vm-dev/2010-May/004574.html" target="_blank">http://lists.squeakfoundation.org/pipermail/vm-dev/2010-May/004574.html</a><br>
<br>
It's up to Ian and Andreas to say if they want to pursue this direction,<br>
but if you need the Cog build process to be more platform independent<br>
this would be a good thing to consider.<br>
</blockquote>
<br></div></div>
Personally, I'll be moving the Windows build back into MS land. All the reasons for using the MingW/GCC tool chain are gone by now:<br>
* Availability of the tool chain: There have been free versions of MSVC for years now, so this is no longer an issue.</blockquote><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
* Performance of the VM: With the JIT, the performance difference between the compilers no longer matters.<br>
* Size of difficulty of the install: New versions of MingW are no easier to install than Cygwin or other monsters.<br></blockquote></div></blockquote><div> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"></blockquote><div>MSYS is not that hard to install. And GCC can be use to cross compile, which is really useful for tests, continuous integration, etc.</div>
</div></blockquote><div><br></div><div>What about C++ compilation?</div></div></blockquote><div><br></div><div>I don't know what issues you encountered, but 3.4.5 was fine, 4.2 had broken exception handling, and 4.4 works well.</div>
</div></blockquote><div><br></div><div>The issue is that binaries produced with g++ -mno-cygwin -mwindows will not work because there is no support for them in the MS run-time.</div></div></blockquote><div><br>Well, now, g++ produces working binaries.<br>
</div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="gmail_quote"><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="gmail_quote">
<div><br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="gmail_quote">
<div> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
* Consistent use of runtime libraries: For some external linkage, having the latest MSVC platform libraries available is important.<br>
<br>
At this point the advantage is clearly with the MS tool chain and the only hurdle is that I'll have to update all the makefiles etc.<br></blockquote><div> Well, here goes my shameless advertisement: CMake could be used to generate Makefiles for MSVC :)</div>
<div>I think it would still need to be fixed though, but that's less work to do.</div><div><br></div><div>Anyway, do you think you could keep the code compatible with GCC? I could take care of the header fixes.</div>
</div></blockquote><div><br></div><div>Yes. Its just a matter of ifdeffing, and the differences can be localized. There are differences anyway. Since MingW uses the MS libraries a few choice MS incompatibilities surface such as printf format specifiers for 64-bit values, in C99 %llx %lld et al are used, but in MS it's %I64x %I64d etc. Hence</div>
<div><br></div><div><div>#if _MSC_VER</div><div># define LLFMT "I64d"</div><div>#else</div><div># define LLFMT "lld"</div><div>#endif</div></div><div><br></div></div></blockquote><div>Yes, THAT is really annoying. We encountered a lot of problems with 32/64 code and format specifiers in vlc, but switching to gcc 4.4 fixed them.</div>
</div></blockquote><div><br></div><div>How does 4.4 fix the issue? Remember we're talking about -mno-cygwin -mwindows because under that environment there's no GPL issue.</div></div></blockquote><div>Sorry, I was confusing with something else. We redefined the symbols too.<br>
</div></div>