Andreas Raab 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.
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.
- 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.
Cheers,
- Andreas
Hi Andreas,
A few possible issues:
I heard that the MS tools can't reasonably be used with less than 2Gb of ram and a fast processor. I've been regularly using the Win VM building setup suggested by you for years on a P3 with 1Gb of memory. And my current Win environment is a 1Gb VirtualBox inside a 2.5Gb Mac. I know, I could dual boot to Win, to have the full 2.5Gb for it...
Besides, Cog does not generate native code for every CompiledMethod in the system, so I wonder if there would be a visible performance loss leaving GCC.
Cheers, Juan Vuletich