[Vm-dev] [commit][2868] Add a linux stack build.

commits at squeakvm.org commits at squeakvm.org
Tue Feb 18 00:00:54 UTC 2014


Revision: 2868
Author:   eliot
Date:     2014-02-17 16:00:50 -0800 (Mon, 17 Feb 2014)
Log Message:
-----------
Add a linux stack build.

Added Paths:
-----------
    branches/Cog/stackbuild/unixbuild/
    branches/Cog/stackbuild/unixbuild/HowToBuild
    branches/Cog/stackbuild/unixbuild/astbld/
    branches/Cog/stackbuild/unixbuild/astbld/mvm
    branches/Cog/stackbuild/unixbuild/astbld/plugins.ext
    branches/Cog/stackbuild/unixbuild/astbld/plugins.int
    branches/Cog/stackbuild/unixbuild/astbldt/
    branches/Cog/stackbuild/unixbuild/astbldt/mvm
    branches/Cog/stackbuild/unixbuild/astbldt/plugins.ext
    branches/Cog/stackbuild/unixbuild/astbldt/plugins.int
    branches/Cog/stackbuild/unixbuild/bld/
    branches/Cog/stackbuild/unixbuild/bld/mvm
    branches/Cog/stackbuild/unixbuild/bld/plugins.ext
    branches/Cog/stackbuild/unixbuild/bld/plugins.int
    branches/Cog/stackbuild/unixbuild/bldt/
    branches/Cog/stackbuild/unixbuild/bldt/mvm
    branches/Cog/stackbuild/unixbuild/bldt/plugins.ext
    branches/Cog/stackbuild/unixbuild/bldt/plugins.int
    branches/Cog/stackbuild/unixbuild/dbgbld/
    branches/Cog/stackbuild/unixbuild/dbgbld/mvm
    branches/Cog/stackbuild/unixbuild/dbgbld/plugins.ext
    branches/Cog/stackbuild/unixbuild/dbgbld/plugins.int
    branches/Cog/stackbuild/unixbuild/dbgbldt/
    branches/Cog/stackbuild/unixbuild/dbgbldt/mvm
    branches/Cog/stackbuild/unixbuild/dbgbldt/plugins.ext
    branches/Cog/stackbuild/unixbuild/dbgbldt/plugins.int
    branches/Cog/stackbuild/unixbuild/mkNamedPrims.sh

Added: branches/Cog/stackbuild/unixbuild/HowToBuild
===================================================================
--- branches/Cog/stackbuild/unixbuild/HowToBuild	                        (rev 0)
+++ branches/Cog/stackbuild/unixbuild/HowToBuild	2014-02-18 00:00:50 UTC (rev 2868)
@@ -0,0 +1,104 @@
+How To Build On Linux
+---------------------
+
+Contents:
+	- How to build the Stack VM on Unix
+	- Testing an external plugin has completely linked
+	- Compiling in 32-bit mode on a 64-bit linux
+	- Testing an external plugin has completely linked
+	- N.B. Please read: Optimization level and gcc version
+
+How to build the Newspeak VM on Unix
+-------------------------------
+1. Install the tools (gcc, X11-devel, etc (e.g. libpng, libX11 & libxt source))
+2. Check out the following sources from svn (if you haven't already - if you're
+   reading this in unixbuild its likely you've already got the sources)
+     svn co http://www.squeakvm.org/svn/squeak/branches/Cog/platforms
+     svn co http://www.squeakvm.org/svn/squeak/branches/Cog/stacksrc
+     svn co http://www.squeakvm.org/svn/squeak/branches/Cog/stackbuild
+3. Open a shell, cd into the stackbuild/unixbuild/bld directory and execute
+   the mvm script.  This installs a VM in the stklinux  directory alongside
+   stacksrc et al.  Alternatively you can configure your own VM, e.g. with
+     ../../../platforms/unix/config/configure --with-src=stacksrc --with-plugins=src/plugins --disable-cogit CFLAGS="-g -O2 -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DNDEBUG -DNO_VM_PROFILE=1 -DDEBUGVM=0" LIBS="-lpthread -luuid" LDFLAGS=-Wl,-z,now
+     make install prefix=WhereYouWantTheVmToGo
+
+	N.B.  On Ubuntu *do not* supply "LIBS="-lpthread -luuid"", i.e. use
+     ../../../platforms/unix/config/configure --with-src=stacksrc --with-plugins=src/plugins --disable-cogit CFLAGS="-g -O2 -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DNDEBUG -DNO_VM_PROFILE=1 -DDEBUGVM=0" LDFLAGS=-Wl,-z,now
+
+4. At the end of it you'll get a new VM in stklinux, or in the path provided
+   via -prefix
+
+N.B. The plugin set is defined by plugins.ext and plugins.int in the build dir.
+
+
+3a. For an assert-enabled VM use the astbld directory's mvm and find a vm in
+    stklinuxast, or do
+     ../../../platforms/unix/config/configure --with-src=stacksrc --with-plugins=src/plugins --disable-cogit CFLAGS="-g -O1 -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DNO_VM_PROFILE=1 -DDEBUGVM=0 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer" LIBS="-lpthread -luuid" LDFLAGS=-Wl,-z,now
+
+3b. For a full debug VM use the dbgbld's mvm and find a vm in stklinuxdbg,
+    or do
+	CFLAGS="-g -O0 -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DNO_VM_PROFILE=1 -DDEBUGVM=1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer" LIBS="-lpthread -luuid" LDFLAGS=-Wl,-z,now
+
+3c. If you're building the VM on a 64-bit OS, you'll need a compiler which can
+compile and link to 32-bit binaries. On most Linuxes the gcc-multilib package
+provides the 32-bit compiler and the ia32-libs provides the 32-bit libraries.
+You'll also have to add the -m32 switch to all gcc & g++ invocations.  The
+easiest way to do this is to add CC="gcc -m32" & CXX="g++ -m32" to the configure
+script:
+     ../../../platforms/unix/config/configure CC="gcc -m32" CXX="g++ -m32" --with-src=stacksrc --with-plugins=src/plugins --disable-cogit CFLAGS="-g -O2 -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DNDEBUG -DNO_VM_PROFILE=1" LIBS="-lpthread -luuid"
+To run a 32-bit VM on a 64-bit OS, you'll also need the 32-bit libraries
+provided by the ia32-libs package.
+
+
+3c. (see Compiling in 32-bit mode on a 64-bit linux below)
+If you're building the VM on a 64-bit OS, you'll need a compiler which can
+compile and link to 32-bit binaries. On most Linuxes the gcc-multilib package
+provides the 32-bit compiler and the ia32-libs provides the 32-bit libraries.
+You'll also have to add the -m32 switch to all gcc & g++ invocations.  The
+easiest way to do this is to add CC="gcc -m32" & CXX="g++ -m32" to the configure
+script:
+     ../../platforms/unix/config/configure CC="gcc -m32" CXX="g++ -m32" --without-npsqueak --with-src=stacksrc --with-plugins=src/plugins --disable-cogit CFLAGS="-g -O2 -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DNDEBUG -DNO_VM_PROFILE=1 -DCOGMTVM=0 -DDEBUGVM=0" LIBS=-lpthread
+To run a 32-bit VM on a 64-bit OS, you'll also need the 32-bit libraries
+provided by the ia32-libs package.
+
+Compiling in 32-bit mode on a 64-bit linux
+-------------------------------
+Follow 3c. above.  Also note that according to Paul DeBruicker the following
+packages need to be installed to compile in 32-bt mode on 64-bit ubuntu.  YMMV.
+
+build-essential
+ia32-libs
+gcc-multilib
+g++multilib
+
+In addition phil at highoctane.be installed libc6dev-i386.
+
+This in itself may not be enough, but persistence will pay off.  See for example
+http://permalink.gmane.org/gmane.comp.lang.smalltalk.pharo.devel/75198.
+
+Testing an external plugin has completely linked
+-------------------------------
+You may find that an external plugin compiles and links but does not load.
+This is usually because it contans undefined symbols.  To find undefined
+symbols, remake the plugin, capturing the link step and then supply
+	-Wl,--warn-unresolved-symbols -Wl,--no-allow-shlib-undefined
+when manually repeating the link command
+
+
+Optimization level and gcc version
+----------------------------------
+There are issues with gcc version > 4.2.1.  Any of the following flags may break the build at -O2:
+-ftree-pre
+-fpartial-inlining
+-fcaller-saves
+
+So turn them off.  e.g.
+     ../../platforms/unix/config/configure --without-npsqueak CFLAGS="-g -O2 -msse2 -fno-caller-saves -fno-partial-inlining -fno-tree-pre -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DNDEBUG -DNO_VM_PROFILE=1 -DCOGMTVM=0 -DDEBUGVM=0" LIBS=-lpthread
+See http://smallissimo.blogspot.fr/2013/02/compiling-squeak-cog-virtual-machine-on.html
+
+There appear to be issues with 3.4.x gcc version on RedHat.  In particular
+compiling the Newspeak VM with either of
+	gcc version 3.4.6 20060404 (Red Hat 3.4.6-3)
+	gcc version 3.4.6 20060404 (Red Hat 3.4.6-10)
+using -O2 results in a VM that segfaults early in startup.  For these compilers
+it is probably wise to use -O1, even though -O3 seems to work.

Added: branches/Cog/stackbuild/unixbuild/astbld/mvm
===================================================================
--- branches/Cog/stackbuild/unixbuild/astbld/mvm	                        (rev 0)
+++ branches/Cog/stackbuild/unixbuild/astbld/mvm	2014-02-18 00:00:50 UTC (rev 2868)
@@ -0,0 +1,28 @@
+#!/bin/bash
+INSTALLDIR=stklinuxast
+if [ $# -ge 1 ]; then
+	case "$1" in
+	-*)	;;
+	*)	INSTALLDIR="$1"; shift
+	esac
+fi
+OPT=-O1
+
+echo -n "clean? "
+read a
+case $a in
+n|no|N|NO)	echo "ok but this isn't safe!!";;
+*)			rm config.h; test -f Makefile && make reallyclean
+esac
+test -f config.h || ../../../platforms/unix/config/configure \
+	--with-src=stacksrc --with-plugins=src/plugins --disable-cogit \
+	--without-vm-display-fbdev --without-npsqueak \
+	CC="gcc -m32" \
+	CFLAGS="-g $OPT -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DTIIMER_HEARTBEAT=1 -DDEBUGVM=0 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer" \
+	LIBS="-lpthread -luuid" \
+	LDFLAGS=-Wl,-z,now
+../../../scripts/nukeversion
+rm -rf ../../../$INSTALLDIR
+# would prefer make install prefix=`readlink -f \`pwd\`/../../../$INSTALLDIR`
+# but older linux readlinks lack the -f flag
+make install prefix=`(cd ../../../;pwd)`/$INSTALLDIR


Property changes on: branches/Cog/stackbuild/unixbuild/astbld/mvm
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/Cog/stackbuild/unixbuild/astbld/plugins.ext
===================================================================
--- branches/Cog/stackbuild/unixbuild/astbld/plugins.ext	                        (rev 0)
+++ branches/Cog/stackbuild/unixbuild/astbld/plugins.ext	2014-02-18 00:00:50 UTC (rev 2868)
@@ -0,0 +1,3 @@
+# Copied, perhaps edited, from ../../../nscogsrc/examplePlugins.ext
+EXTERNAL_PLUGINS = \
+SqueakSSL

Added: branches/Cog/stackbuild/unixbuild/astbld/plugins.int
===================================================================
--- branches/Cog/stackbuild/unixbuild/astbld/plugins.int	                        (rev 0)
+++ branches/Cog/stackbuild/unixbuild/astbld/plugins.int	2014-02-18 00:00:50 UTC (rev 2868)
@@ -0,0 +1,26 @@
+# Copied, perhaps edited, from ../../../nscogsrc/examplePlugins.int
+INTERNAL_PLUGINS = \
+AsynchFilePlugin \
+BMPReadWriterPlugin \
+B2DPlugin \
+BitBltPlugin \
+DSAPrims \
+DropPlugin \
+FileCopyPlugin \
+FilePlugin \
+FloatArrayPlugin \
+FloatMathPlugin \
+ZipPlugin \
+JPEGReadWriter2Plugin \
+JPEGReaderPlugin \
+LargeIntegers \
+Matrix2x3Plugin \
+MiscPrimitivePlugin \
+IA32ABI \
+RePlugin \
+SecurityPlugin \
+SocketPlugin \
+SurfacePlugin \
+UUIDPlugin \
+UnixOSProcessPlugin \
+VMProfileLinuxSupportPlugin

Added: branches/Cog/stackbuild/unixbuild/astbldt/mvm
===================================================================
--- branches/Cog/stackbuild/unixbuild/astbldt/mvm	                        (rev 0)
+++ branches/Cog/stackbuild/unixbuild/astbldt/mvm	2014-02-18 00:00:50 UTC (rev 2868)
@@ -0,0 +1,29 @@
+#!/bin/bash
+# VM with VM profiler and threaded heartbeat assuming multiple thread priorities
+INSTALLDIR=stklinuxastht
+if [ $# -ge 1 ]; then
+	case "$1" in
+	-*)	;;
+	*)	INSTALLDIR="$1"; shift
+	esac
+fi
+OPT=-O1
+
+echo -n "clean? "
+read a
+case $a in
+n|no|N|NO)	echo "ok but this isn't safe!!";;
+*)			rm config.h; test -f Makefile && make reallyclean
+esac
+test -f config.h || ../../../platforms/unix/config/configure \
+	--with-src=stacksrc --with-plugins=src/plugins --disable-cogit \
+	--without-vm-display-fbdev --without-npsqueak \
+	CC="gcc -m32" \
+	CFLAGS="-g $OPT -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DDEBUGVM=0 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer" \
+	LIBS="-lpthread -luuid" \
+	LDFLAGS=-Wl,-z,now
+../../../scripts/nukeversion
+rm -rf ../../../$INSTALLDIR
+# would prefer make install prefix=`readlink -f \`pwd\`/../../../$INSTALLDIR`
+# but older linux readlinks lack the -f flag
+make install prefix=`(cd ../../../;pwd)`/$INSTALLDIR


Property changes on: branches/Cog/stackbuild/unixbuild/astbldt/mvm
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/Cog/stackbuild/unixbuild/astbldt/plugins.ext
===================================================================
--- branches/Cog/stackbuild/unixbuild/astbldt/plugins.ext	                        (rev 0)
+++ branches/Cog/stackbuild/unixbuild/astbldt/plugins.ext	2014-02-18 00:00:50 UTC (rev 2868)
@@ -0,0 +1,3 @@
+# Copied, perhaps edited, from ../../../nscogsrc/examplePlugins.ext
+EXTERNAL_PLUGINS = \
+SqueakSSL

Added: branches/Cog/stackbuild/unixbuild/astbldt/plugins.int
===================================================================
--- branches/Cog/stackbuild/unixbuild/astbldt/plugins.int	                        (rev 0)
+++ branches/Cog/stackbuild/unixbuild/astbldt/plugins.int	2014-02-18 00:00:50 UTC (rev 2868)
@@ -0,0 +1,26 @@
+# Copied, perhaps edited, from ../../../nscogsrc/examplePlugins.int
+INTERNAL_PLUGINS = \
+AsynchFilePlugin \
+BMPReadWriterPlugin \
+B2DPlugin \
+BitBltPlugin \
+DSAPrims \
+DropPlugin \
+FileCopyPlugin \
+FilePlugin \
+FloatArrayPlugin \
+FloatMathPlugin \
+ZipPlugin \
+JPEGReadWriter2Plugin \
+JPEGReaderPlugin \
+LargeIntegers \
+Matrix2x3Plugin \
+MiscPrimitivePlugin \
+IA32ABI \
+RePlugin \
+SecurityPlugin \
+SocketPlugin \
+SurfacePlugin \
+UUIDPlugin \
+UnixOSProcessPlugin \
+VMProfileLinuxSupportPlugin

Added: branches/Cog/stackbuild/unixbuild/bld/mvm
===================================================================
--- branches/Cog/stackbuild/unixbuild/bld/mvm	                        (rev 0)
+++ branches/Cog/stackbuild/unixbuild/bld/mvm	2014-02-18 00:00:50 UTC (rev 2868)
@@ -0,0 +1,32 @@
+#!/bin/bash
+INSTALLDIR=stklinux
+if [ $# -ge 1 ]; then
+	case "$1" in
+	-*)	;;
+	*)	INSTALLDIR="$1"; shift
+	esac
+fi
+# Some gcc versions create a broken VM using -O2
+case `gcc -v 2>&1 | grep version | sed 's/gcc version *//'` in
+3.4.*)	OPT=-O1;;
+*)		OPT=-O2;;
+esac
+
+echo -n "clean? "
+read a
+case $a in
+n|no|N|NO)	echo "ok but this isn't safe!!";;
+*)			rm config.h; test -f Makefile && make reallyclean
+esac
+test -f config.h || ../../../platforms/unix/config/configure \
+	--with-src=stacksrc --with-plugins=src/plugins --disable-cogit \
+	--without-vm-display-fbdev --without-npsqueak \
+	CC="gcc -m32" \
+	CFLAGS="-g $OPT -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DNDEBUG -DITIMER_HEARTBEAT=1 -DDEBUGVM=0" \
+	LIBS="-lpthread -luuid" \
+	LDFLAGS=-Wl,-z,now
+../../../scripts/nukeversion
+rm -rf ../../../$INSTALLDIR
+# would prefer make install prefix=`readlink -f \`pwd\`/../../../$INSTALLDIR`
+# but older linux readlinks lack the -f flag
+make install prefix=`(cd ../../../;pwd)`/$INSTALLDIR


Property changes on: branches/Cog/stackbuild/unixbuild/bld/mvm
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/Cog/stackbuild/unixbuild/bld/plugins.ext
===================================================================
--- branches/Cog/stackbuild/unixbuild/bld/plugins.ext	                        (rev 0)
+++ branches/Cog/stackbuild/unixbuild/bld/plugins.ext	2014-02-18 00:00:50 UTC (rev 2868)
@@ -0,0 +1,3 @@
+# Copied, perhaps edited, from ../../../nscogsrc/examplePlugins.ext
+EXTERNAL_PLUGINS = \
+SqueakSSL

Added: branches/Cog/stackbuild/unixbuild/bld/plugins.int
===================================================================
--- branches/Cog/stackbuild/unixbuild/bld/plugins.int	                        (rev 0)
+++ branches/Cog/stackbuild/unixbuild/bld/plugins.int	2014-02-18 00:00:50 UTC (rev 2868)
@@ -0,0 +1,26 @@
+# Copied, perhaps edited, from ../../../nscogsrc/examplePlugins.int
+INTERNAL_PLUGINS = \
+AsynchFilePlugin \
+BMPReadWriterPlugin \
+B2DPlugin \
+BitBltPlugin \
+DSAPrims \
+DropPlugin \
+FileCopyPlugin \
+FilePlugin \
+FloatArrayPlugin \
+FloatMathPlugin \
+ZipPlugin \
+JPEGReadWriter2Plugin \
+JPEGReaderPlugin \
+LargeIntegers \
+Matrix2x3Plugin \
+MiscPrimitivePlugin \
+IA32ABI \
+RePlugin \
+SecurityPlugin \
+SocketPlugin \
+SurfacePlugin \
+UUIDPlugin \
+UnixOSProcessPlugin \
+VMProfileLinuxSupportPlugin

Added: branches/Cog/stackbuild/unixbuild/bldt/mvm
===================================================================
--- branches/Cog/stackbuild/unixbuild/bldt/mvm	                        (rev 0)
+++ branches/Cog/stackbuild/unixbuild/bldt/mvm	2014-02-18 00:00:50 UTC (rev 2868)
@@ -0,0 +1,33 @@
+#!/bin/bash
+# VM with VM profiler and threaded heartbeat assuming multiple thread priorities
+INSTALLDIR=stklinuxht
+if [ $# -ge 1 ]; then
+	case "$1" in
+	-*)	;;
+	*)	INSTALLDIR="$1"; shift
+	esac
+fi
+# Some gcc versions create a broken VM using -O2
+case `gcc -v 2>&1 | grep version | sed 's/gcc version *//'` in
+3.4.*)	OPT=-O1;;
+*)		OPT=-O2;;
+esac
+
+echo -n "clean? "
+read a
+case $a in
+n|no|N|NO)	echo "ok but this isn't safe!!";;
+*)			rm config.h; test -f Makefile && make reallyclean
+esac
+test -f config.h || ../../../platforms/unix/config/configure \
+	--with-src=stacksrc --with-plugins=src/plugins --disable-cogit \
+	--without-vm-display-fbdev --without-npsqueak \
+	CC="gcc -m32" \
+	CFLAGS="-g $OPT -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DNDEBUG -DDEBUGVM=0" \
+	LIBS="-lpthread -luuid" \
+	LDFLAGS=-Wl,-z,now
+../../../scripts/nukeversion
+rm -rf ../../../$INSTALLDIR
+# would prefer make install prefix=`readlink -f \`pwd\`/../../../$INSTALLDIR`
+# but older linux readlinks lack the -f flag
+make install prefix=`(cd ../../../;pwd)`/$INSTALLDIR


Property changes on: branches/Cog/stackbuild/unixbuild/bldt/mvm
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/Cog/stackbuild/unixbuild/bldt/plugins.ext
===================================================================
--- branches/Cog/stackbuild/unixbuild/bldt/plugins.ext	                        (rev 0)
+++ branches/Cog/stackbuild/unixbuild/bldt/plugins.ext	2014-02-18 00:00:50 UTC (rev 2868)
@@ -0,0 +1,3 @@
+# Copied, perhaps edited, from ../../../nscogsrc/examplePlugins.ext
+EXTERNAL_PLUGINS = \
+SqueakSSL

Added: branches/Cog/stackbuild/unixbuild/bldt/plugins.int
===================================================================
--- branches/Cog/stackbuild/unixbuild/bldt/plugins.int	                        (rev 0)
+++ branches/Cog/stackbuild/unixbuild/bldt/plugins.int	2014-02-18 00:00:50 UTC (rev 2868)
@@ -0,0 +1,26 @@
+# Copied, perhaps edited, from ../../../nscogsrc/examplePlugins.int
+INTERNAL_PLUGINS = \
+AsynchFilePlugin \
+BMPReadWriterPlugin \
+B2DPlugin \
+BitBltPlugin \
+DSAPrims \
+DropPlugin \
+FileCopyPlugin \
+FilePlugin \
+FloatArrayPlugin \
+FloatMathPlugin \
+ZipPlugin \
+JPEGReadWriter2Plugin \
+JPEGReaderPlugin \
+LargeIntegers \
+Matrix2x3Plugin \
+MiscPrimitivePlugin \
+IA32ABI \
+RePlugin \
+SecurityPlugin \
+SocketPlugin \
+SurfacePlugin \
+UUIDPlugin \
+UnixOSProcessPlugin \
+VMProfileLinuxSupportPlugin

Added: branches/Cog/stackbuild/unixbuild/dbgbld/mvm
===================================================================
--- branches/Cog/stackbuild/unixbuild/dbgbld/mvm	                        (rev 0)
+++ branches/Cog/stackbuild/unixbuild/dbgbld/mvm	2014-02-18 00:00:50 UTC (rev 2868)
@@ -0,0 +1,28 @@
+#!/bin/bash
+INSTALLDIR=stklinuxdbg
+if [ $# -ge 1 ]; then
+	case "$1" in
+	-*)	;;
+	*)	INSTALLDIR="$1"; shift
+	esac
+fi
+OPT=-O0
+
+echo -n "clean? "
+read a
+case $a in
+n|no|N|NO)	echo "ok but this isn't safe!!";;
+*)			rm config.h; test -f Makefile && make reallyclean
+esac
+test -f config.h || ../../../platforms/unix/config/configure \
+	--with-src=stacksrc --with-plugins=src/plugins --disable-cogit \
+	--without-vm-display-fbdev --without-npsqueak \
+	CC="gcc -m32" \
+	CFLAGS="-g $OPT -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DITIMER_HEARTBEAT=1 -DDEBUGVM=1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer" \
+	LIBS="-lpthread -luuid" \
+	LDFLAGS=-Wl,-z,now
+../../../scripts/nukeversion
+rm -rf ../../../$INSTALLDIR
+# would prefer make install prefix=`readlink -f \`pwd\`/../../../$INSTALLDIR`
+# but older linux readlinks lack the -f flag
+make install prefix=`(cd ../../../;pwd)`/$INSTALLDIR


Property changes on: branches/Cog/stackbuild/unixbuild/dbgbld/mvm
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/Cog/stackbuild/unixbuild/dbgbld/plugins.ext
===================================================================
--- branches/Cog/stackbuild/unixbuild/dbgbld/plugins.ext	                        (rev 0)
+++ branches/Cog/stackbuild/unixbuild/dbgbld/plugins.ext	2014-02-18 00:00:50 UTC (rev 2868)
@@ -0,0 +1,3 @@
+# Copied, perhaps edited, from ../../../nscogsrc/examplePlugins.ext
+EXTERNAL_PLUGINS = \
+SqueakSSL

Added: branches/Cog/stackbuild/unixbuild/dbgbld/plugins.int
===================================================================
--- branches/Cog/stackbuild/unixbuild/dbgbld/plugins.int	                        (rev 0)
+++ branches/Cog/stackbuild/unixbuild/dbgbld/plugins.int	2014-02-18 00:00:50 UTC (rev 2868)
@@ -0,0 +1,26 @@
+# Copied, perhaps edited, from ../../../nscogsrc/examplePlugins.int
+INTERNAL_PLUGINS = \
+AsynchFilePlugin \
+BMPReadWriterPlugin \
+B2DPlugin \
+BitBltPlugin \
+DSAPrims \
+DropPlugin \
+FileCopyPlugin \
+FilePlugin \
+FloatArrayPlugin \
+FloatMathPlugin \
+ZipPlugin \
+JPEGReadWriter2Plugin \
+JPEGReaderPlugin \
+LargeIntegers \
+Matrix2x3Plugin \
+MiscPrimitivePlugin \
+IA32ABI \
+RePlugin \
+SecurityPlugin \
+SocketPlugin \
+SurfacePlugin \
+UUIDPlugin \
+UnixOSProcessPlugin \
+VMProfileLinuxSupportPlugin

Added: branches/Cog/stackbuild/unixbuild/dbgbldt/mvm
===================================================================
--- branches/Cog/stackbuild/unixbuild/dbgbldt/mvm	                        (rev 0)
+++ branches/Cog/stackbuild/unixbuild/dbgbldt/mvm	2014-02-18 00:00:50 UTC (rev 2868)
@@ -0,0 +1,29 @@
+#!/bin/bash
+# VM with VM profiler and threaded heartbeat assuming multiple thread priorities
+INSTALLDIR=stklinuxdbght
+if [ $# -ge 1 ]; then
+	case "$1" in
+	-*)	;;
+	*)	INSTALLDIR="$1"; shift
+	esac
+fi
+OPT=-O0
+
+echo -n "clean? "
+read a
+case $a in
+n|no|N|NO)	echo "ok but this isn't safe!!";;
+*)			rm config.h; test -f Makefile && make reallyclean
+esac
+test -f config.h || ../../../platforms/unix/config/configure \
+	--with-src=stacksrc --with-plugins=src/plugins --disable-cogit \
+	--without-vm-display-fbdev --without-npsqueak \
+	CC="gcc -m32" \
+	CFLAGS="-g $OPT -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DDEBUGVM=1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer" \
+	LIBS="-lpthread -luuid" \
+	LDFLAGS=-Wl,-z,now
+../../../scripts/nukeversion
+rm -rf ../../../$INSTALLDIR
+# would prefer make install prefix=`readlink -f \`pwd\`/../../../$INSTALLDIR`
+# but older linux readlinks lack the -f flag
+make install prefix=`(cd ../../../;pwd)`/$INSTALLDIR


Property changes on: branches/Cog/stackbuild/unixbuild/dbgbldt/mvm
___________________________________________________________________
Added: svn:executable
   + *

Added: branches/Cog/stackbuild/unixbuild/dbgbldt/plugins.ext
===================================================================
--- branches/Cog/stackbuild/unixbuild/dbgbldt/plugins.ext	                        (rev 0)
+++ branches/Cog/stackbuild/unixbuild/dbgbldt/plugins.ext	2014-02-18 00:00:50 UTC (rev 2868)
@@ -0,0 +1,3 @@
+# Copied, perhaps edited, from ../../../nscogsrc/examplePlugins.ext
+EXTERNAL_PLUGINS = \
+SqueakSSL

Added: branches/Cog/stackbuild/unixbuild/dbgbldt/plugins.int
===================================================================
--- branches/Cog/stackbuild/unixbuild/dbgbldt/plugins.int	                        (rev 0)
+++ branches/Cog/stackbuild/unixbuild/dbgbldt/plugins.int	2014-02-18 00:00:50 UTC (rev 2868)
@@ -0,0 +1,26 @@
+# Copied, perhaps edited, from ../../../nscogsrc/examplePlugins.int
+INTERNAL_PLUGINS = \
+AsynchFilePlugin \
+BMPReadWriterPlugin \
+B2DPlugin \
+BitBltPlugin \
+DSAPrims \
+DropPlugin \
+FileCopyPlugin \
+FilePlugin \
+FloatArrayPlugin \
+FloatMathPlugin \
+ZipPlugin \
+JPEGReadWriter2Plugin \
+JPEGReaderPlugin \
+LargeIntegers \
+Matrix2x3Plugin \
+MiscPrimitivePlugin \
+IA32ABI \
+RePlugin \
+SecurityPlugin \
+SocketPlugin \
+SurfacePlugin \
+UUIDPlugin \
+UnixOSProcessPlugin \
+VMProfileLinuxSupportPlugin

Added: branches/Cog/stackbuild/unixbuild/mkNamedPrims.sh
===================================================================
--- branches/Cog/stackbuild/unixbuild/mkNamedPrims.sh	                        (rev 0)
+++ branches/Cog/stackbuild/unixbuild/mkNamedPrims.sh	2014-02-18 00:00:50 UTC (rev 2868)
@@ -0,0 +1,24 @@
+#!/bin/sh
+# Generate a sqNamedPrims.h file from plugins.int.  The plugins.int used should
+# be the one and only argument.
+if [ $# != 1 -o ! -f "$1" ]; then
+	echo usage $0 plugins.int ">sqNamedPrims.h" 1>&2
+	exit 1
+fi
+echo "/* Automatically generated on "`date`" */"
+echo "extern sqExport vm_exports[];";
+echo "extern sqExport os_exports[];";
+for p in `grep -v '^#' "$1" | sed 's/INTERNAL_PLUGINS = //' | tr -d '\\\\\\012'`
+do
+	echo "extern sqExport "$p"_exports[];"
+done
+echo
+echo "sqExport *pluginExports[] = {"
+echo "	vm_exports,"
+echo "	os_exports,"
+for p in `grep -v '^#' "$1" | sed 's/INTERNAL_PLUGINS = //' | tr -d '\\\\\\012'`
+do
+	echo "	"$p"_exports,"
+done
+echo "	NULL"
+echo "};"


Property changes on: branches/Cog/stackbuild/unixbuild/mkNamedPrims.sh
___________________________________________________________________
Added: svn:executable
   + *



More information about the Vm-dev mailing list