"Bert Freudenberg" bert@freudenbergs.de wrote:
On 11.02.2009, at 12:24, Frank Shearar wrote:
"David T. Lewis" lewis@mail.msen.com writes:
On Wed, Feb 04, 2009 at 11:31:12AM +0200, Frank Shearar wrote:
Hi everyone,
I'm trying to wrap my head around how to use VMMaker to generate source
for
a VM.
The Unix build instructions are included in the platforms sources: http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/unix/doc/
<snip> > Let VMMaker put the generated sources in ./src32, and do the build in ./build32. > The symlink to ./src is used by configure and make to find the > sources.
Thanks for the response, David.
I still don't understand the process. (I promise, I did read the FAQ and the 64-bit Unix Squeak pages!) OK, so there's a Subversion repository for the Squeak VM. And there's VMMaker. Now if I run VMMaker (having first created a ./platform/unix), I get a small number of files.
You also need to select the plugins you want to build.
Sorry, I should've mentioned that I'd done that. For the moment I've just gone the "all internal" route (for all the available ports, at least).
For instance, in the vm directory there's interp.c, interp.h and sqNamedPrims.h. These files aren't in the svn repository.
http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/unix/src/vm/
Ah, I NOW see there's a unix/src/vm/ - I was looking in unix/vm/.
Should VMMaker have its "Path to generated sources" point to the checked-out svn repository instead, so the VMMaker-generated files alter the repository?
No, you delete the pre-generated src directory and replace it with your own generated sources.
OK. Does it matter that I'm running VMMaker on a Windows machine and then copying the resulting src/ over to a FreeBSD machine? (I'm thinking in particular of line endings.)
I've tried various things, and had various errors preventing compilation.
I thought then I'd try compile the 3.10-4 straight as-is. This should generate a 32 bit VM, yes? At least, it looks that way judging from the enormous number of warnings complaining about size differences in casts. Anyway, after a lot of sweating and consulting my local gcc guru, the following incantation resulted in a fully-compiling 32 bit VM:
mkdir bld cd bld ../platforms/unix/config/configure CPPFLAGS=-I/usr/local/include LDFLAGS="-L/usr/local/lib" --without-npsqueak make sudo make install
I'll try that out shortly with a Seaside image.
frank