GNU Smalltalk version 1.1
-rw-rw-r--  1 gray       556569 Sep 25 15:18 smalltalk1-1.zoo


Here is a very early (probably very buggy) version of Gnu Smalltalk V1.1
port for the atariST.

requirements:
	A 4M atariSt is really required.
	a decent shell (i use gulam)

installing:
	- adjust path names in mstpaths.h
	- adjust makefile to find gcc (i call it cgcc)
	- link or copy config/m-atari.h to mstconfig.h
	- in ymakefile change the line that says
	    CFLAGS = CFLAGS = $(CFLAGS_NORMAL) $(READLINEDEF)
	  to 
	    CFLAGS = $(CFLAGS_OPTIMIZE) $(READLINEDEF)
	- in config/m-atari.h add the line
	      #define EXTRA_CC_FLAGS -fomit-frame-pointer -fcombine-regs
          to the bottom of the file

	- hit make

file names etc:
	- if you use UNIXMODE, be sure to either
		unsetenv UNIXMODE
	    or
		create all the links using ln -s

	-put all the files and executable in a subdir (i put them in \smalltk)
	-on startup it will look in $HOME/stinit for the init file
	-rename ProcessScheduler.st to ProcSched.st before transferring
	 files to your St (otherwise the name clashes with Processes.st)
	
	-to make the image:
		mst -V
	this will dump mst.im and then will come to the interactive
	prompt 'st>'. Hit Control-D at this point to exit.

	to run
	cd to the subdir with the image and sources
	hit: mst
	wait for the 'st>' prompt (this will take a while)

testing:
	cd test
	run.g		run the gulam shell script
		there will be two diffs, both are of no consequence.
	cd examples
	mst -V printhier.st
	mst -V mem-usage.st	this will take a while, and do a lot of gc
				flipping.
enjoy,
--
bang:   {any internet host}!dsrgsun.CES.CWRU.Edu!bammi	jwahar r. bammi
domain: bammi@dsrgsun.ces.CWRU.edu
GEnie:	J.Bammi

addendum:
while building the image, mst.ttp really needs all of memory. It cant
even stand gulam being there. once you have built the image, there is
no problem, you can run it quite comfortably with gulam and a few
acccessories present. the reason is as follows: when its building an
image, mst freezes the garbage collector, requesting more and more
memory from the system (instead of re-using what it has already via
garbage collection). so it ends up requesting a lot of memory (and
that is the error you are seeing). Once it builds up the image, at the
very end it kicks the GC in (you will see a message to this effect),
gc's and dumps the image into mst.im, and then its ready for action.
once you have built the image, there is no problem, at startup it'll
check all the kernel classes against the image, and unless something
has changed, it'll suck in the image in one fell scoop, and kick the
GC right in, and it happily goes along after that (with gulam etc present).

here is the procedure i would recommend:

	(the default path built into mst.ttp is \smalltk, ie. a folder
called "smalltk" at the root of any drive)

	- copy all the *.st files and mst.ttp into \smalltk
	- from the desktop double click on mst.ttp
	- in the dialog box that appears, enter "-V" (capital V)
	- it'll think for a while and then start listing lines of
	the form "processing foo.st..."
	- after its done with all the kernel classes, it'll kick in
	the GC, and then start dumping the image into MST.IM
	-after thats done, it'll say smalltalk ready, and give
	you a prompt.
	- hit ^D (control-D) at the prompt to exit.
now you can enter gulam, cd to \smalltk, and hit mst -V,
it'll check for all the kernel files in \smalltk\*.st, it wont find
anything newer that the image, mst.im, which it'll suck in,
do a complete gc (this takes a few seconds), and then give the top level
interactive prompt.

[[ the above is no longer true in V 1.1, you can build an image using gulam ]]
  however, watch out for large accessories, ramdisk etc.
------------------------------------------------------------------------------

GNU Smalltalk version 1.1
by Steve Byrne

The files in this directory and its subdirectories constitute the complete
source code for GNU Smalltalk.  The files are organized as follows:

.		The source files, both .st (Smalltalk) and C files
config		Various supported platforms
contrib		Contributed software
examples	Some working example Smalltalk files
test		Regression testing files
stix		SmallTalk Interface to X

About GNU Smalltalk

GNU Smalltalk attempts to be a reasonably faithful implementation of
Smalltalk-80 {tm ParcPlace Systems} as described in the "Blue Book", also know
as "Smalltalk-80, the Language and its Implementation", by Adele Goldberg and
David Robson.  The syntax that the language accepts and the byte codes that the
virtual machine interprets are exactly as they appear in the Blue Book.  Most
of the primitives are the same as well, although due to the differing nature of
the implementation some of the primitives haven't been implemented, and other
new ones have been.


The current implementation has the following features:

  * Incremental garbage collector
  * Binary image save capability
  * C-callout (allows Smalltalk to invoke user-written C code and pass
    parameters to it)
  * GNU Emacs editing mode
  * Highly portable C code implementation
  * Optional byte code compilation tracing and byte code execution tracing
  * Automatically loaded per-user initialization files



Installing GNU Smalltalk

Please see the file mst.texinfo which contains the information on how to 
install GNU Smalltalk, and general documentation about the features of
the system.


Bugs

To report bugs or suggestions (or even offer assistance :-) ), send mail
to bug-gnu-smalltalk@prep.ai.mit.edu.  If there is sufficient traffic, I
will set up a gnu.smalltalk newsgroup as well.
