[Vm-dev] Simple makefile for 32/64 bit interpreter VMs (was: VM
Maker: VMMaker-dtl.347.mcz)
David T. Lewis
lewis at mail.msen.com
Mon Jun 23 23:57:07 UTC 2014
On Mon, Jun 23, 2014 at 10:56:08PM +0000, commits at source.squeak.org wrote:
>
> David T. Lewis uploaded a new version of VMMaker to project VM Maker:
> http://source.squeak.org/VMMaker/VMMaker-dtl.347.mcz
>
> ==================== Summary ====================
>
> Name: VMMaker-dtl.347
> Author: dtl
> Time: 23 June 2014, 6:55:41.171 pm
> UUID: 0e985655-74a3-4561-8daf-4a4740c19a3b
> Ancestors: VMMaker-dtl.346
>
> Ensure that initializeSmallIntegers is called before generating the interpreter file because pool constants may have been changed when running simulation (symptom: a 64 bit image crashes because ConstMinusOne has been rendered as unsigned 32 bit, when it should be twos complement -1).
>
> Remove KedamaPlugin from defaultUnixSpec because it duplicates the more up to date KedamaPlugin2.
>
This update fixes a couple of glitches that I had overlooked in the generated
sources. The platforms and src trees should now work nicely together, at least
on a unix (linux) system. So, for example, if you have a Linux system with
Subversion, CMake, and the the usual development tools installed, you can check
out the platforms and src trees:
$ svn co http://squeakvm.org/svn/squeak/trunk/platforms
$ svn co http://squeakvm.org/svn/squeak/trunk/src
Then make a ./build directory next to your freshly downloaded ./platforms
and ./src directories, and use the attached Makefile to build your VMs.
$ cd build
$ make
$ sudo make install
The resulting /usr/local/bin/squeak will run any normal Squeak or Etoys image, as well
as a 64 bit image such as the one at http://build.squeak.org/job/Squeak%2064-bit%20image/.
Dave
-------------- next part --------------
# Fri Nov 22 19:42:46 EST 2013
#
# Makefile to build and install a 32-bit and 64-bit object memory VM. This
# makefile can be run with /usr/sbin/checkinstall to create an RPM or Debian
# install package.
#
# Assume platforms is ../platforms and src is ../src
#
# The SqueakSSL plugin cannot yet be built for image64, otherwise the 32-bit
# and 64-bit object memory VMs should be the same.
squeakvm: build/squeakvm build64/squeakvm64
build/squeakvm: build/CMakeCache.txt
(cd build; make)
build/CMakeCache.txt:
mkdir build || true
(cd build; ../../platforms/unix/cmake/configure --src=../../src)
#(cd build; ../../platforms/unix/cmake/configure --src=../../src --CFLAGS=-O0)
build64/squeakvm64: build64/CMakeCache.txt
(cd build64; make)
build64/CMakeCache.txt:
mkdir build64 || true
(cd build64; ../../platforms/unix/cmake/configure --src=../../src --image64 --vm-only --without-SqueakSSL)
#(cd build64; ../../platforms/unix/cmake/configure --src=../../src --image64 --vm-only --without-SqueakSSL --CFLAGS=-O0)
install: squeakvm
(cd build; make install)
(cd build64; make install)
clean:
rm -rf build build64
More information about the Vm-dev
mailing list