[Vm-dev] Building a 64-bit VM for FreeBSD
frank.shearar at angband.za.org
Wed Feb 11 18:32:57 UTC 2009
"Bert Freudenberg" <bert at freudenbergs.de> wrote:
> On 11.02.2009, at 12:24, Frank Shearar wrote:
> > "David T. Lewis" <lewis at 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.
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:
sudo make install
I'll try that out shortly with a Seaside image.
More information about the Vm-dev