Difference between revisions of "Squeak"

From Chumby Wiki
Jump to: navigation, search
(Get the source)
 
Line 2: Line 2:
  
 
[http://www.squeak.org Squeak] is an implementation of the Smalltalk language.
 
[http://www.squeak.org Squeak] is an implementation of the Smalltalk language.
 
http://www.learntruthnow.com
 
  
 
=Get the source=
 
=Get the source=

Latest revision as of 17:27, 31 March 2007

This page is a work in progress

Squeak is an implementation of the Smalltalk language.

Get the source

Download Squeak-3.9-8.src.tar.gz and unpack

wget http://www.squeakvm.org/unix/release/Squeak-3.9-8.src.tar.gz
tar xzf Squeak-3.9-8.src.tar.gz
cd Squeak-3.9-8

Edit the unix configure file for cross compilation

  • open the file platforms/unix/config/configure.ac
  • change the lines:
AC_REQUIRE_SIZEOF(int,     4)
AC_REQUIRE_SIZEOF(double, 8)

AC_CHECK_INT64_T

to

#AC_REQUIRE_SIZEOF(int,     4)
#AC_REQUIRE_SIZEOF(double, 8)

#AC_CHECK_INT64_T
SQUEAK_INT64_T="long long"
AC_DEFINE_UNQUOTED(squeakInt64, long long)
  • change the lines
AC_C_DOUBLE_ALIGNMENT
AC_C_DOUBLE_ORDER

to

#AC_C_DOUBLE_ALIGNMENT
#AC_C_DOUBLE_ORDER
AC_DEFINE(DOUBLE_WORD_ORDER)
  • change the line
disabled_plugins=""

to

disabled_plugins="SqueakFFIPrims"

Edit the Makefile.in

  • edit Makefile.in and find the lines:
$(squeak) : config.sh $(SQLIBS) version.o
            $(LINK) $(squeak) $(SQLIBS) version.o $(LIBS) [plibs] vm/vm.a
            @echo
            @size $(squeak)
            @echo
            @./$(squeak) -version
            @echo

and comment out the last two lines:

$(squeak) : config.sh $(SQLIBS) version.o
            $(LINK) $(squeak) $(SQLIBS) version.o $(LIBS) [plibs] vm/vm.a
            @echo
            @size $(squeak)
            @echo
            #@./$(squeak) -version
            #@echo

Set up the plugins

cd platform/unix/config
./mkacinc > acplugins.m4
autoconf -o configure-gumstix configure-gumstix.ac
rm acplugins.m4
cd ../../..

Make a build directory

mkdir bld
cd bld

Build it

CC=arm-linux-gcc CFLAGS='-O3' \
        ../platforms/unix/config/configure --without-x --without-npsqueak \
        --without-rfb --without-ffi --host=arm-linux --prefix=/usr/squeak
make
sudo make install