Switching (back) to MSVC (Re: [Vm-dev] What generates disabledPlugins.c?0

Geoffroy Couprie geo.couprie at gmail.com
Thu Jul 22 17:34:31 UTC 2010


Hello,

On Thu, Jul 22, 2010 at 5:20 PM, Andreas Raab <andreas.raab at gmx.de> wrote:

>
> On 7/22/2010 4:55 AM, David T. Lewis wrote:
>
>> On Wed, Jul 21, 2010 at 08:49:19PM -0700, Eliot Miranda wrote:
>>
>>> But the more serious issue is that the configure in VMMaker is only
>>> suitable
>>> for linux.  I guess that the right thing to do for FreeBSD is to run make
>>> in
>>> platforms/unix/config to generate a FreeBSD-specific configure.  But I'm
>>> out
>>> of my depth when it comes to autoconf.
>>>
>>
>> Note that Ian moved to CMake for the unix builds, so autoconf is no longer
>> used for building from the SVN trunk. In addition, Geoffroy Couprie has
>> developed this further such that the VM can be built for both unix and
>> Windows targets, see thread here:
>>
>>  http://lists.squeakfoundation.org/pipermail/vm-dev/2010-May/004574.html
>>
>> It's up to Ian and Andreas to say if they want to pursue this direction,
>> but if you need the Cog build process to be more platform independent
>> this would be a good thing to consider.
>>
>
> 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:
> * Availability of the tool chain: There have been free versions of MSVC for
> years now, so this is no longer an issue.

* Performance of the VM: With the JIT, the performance difference between
> the compilers no longer matters.
> * Size of difficulty of the install: New versions of MingW are no easier to
> install than Cygwin or other monsters.
>
MSYS is not that hard to install. And GCC can be use to cross compile, which
is really useful for tests, continuous integration, etc.


>
> On the other hand, there are some exceptionally good reasons to use MSVC:
> * Debugging: Did you know that MSVC now has seemless in-place editing? When
> I worked on SqueakSSL, I was shocked to find that an access violation was
> simply presented as a break point and after fixing it the compiler patched
> the code in place without restarting Squeak, and it worked!
> * Up-to-date headers and libraries: SqueakSSL wouldn't compile on *any*
> version of MingW or Cygwin due to the absence / lack of correctness of the
> headers and missing libraries even though the APIs are 5+ years old.
>
Did you check the recent headers? Most of the recent API (XP/Vista) are in
the actual MinGW headers. The DirectX headers are a bit old, but considering
you're using DirectX 7, I don't think that's an issue. What specific
headers/libraries/functions are you talking about?


> * Consistent use of runtime libraries: For some external linkage, having
> the latest MSVC platform libraries available is important.
>
> 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.
>
 Well, here goes my shameless advertisement: CMake could be used to generate
Makefiles for MSVC :)
I think it would still need to be fixed though, but that's less work to do.

Anyway, do you think you could keep the code compatible with GCC? I could
take care of the header fixes.

Best regards,

Geoffroy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20100722/806c4d9f/attachment-0001.htm


More information about the Vm-dev mailing list