home *** CD-ROM | disk | FTP | other *** search
- -- --
-
-
-
- 1. Installation Instructions
-
- The following lists installation instructions for those systems to which Version 3 of Little
- Smalltalk has been ported at present. Note that installation involves the creation of two programs. The
- first, called ``initial'', is run once to create the initial object image (usually a filed called ``systemIm-
- age''). The second program is the smalltalk interpreter. To run smalltalk, both these files must be
- accessible. Systems that use the supplied Makefile run initial automatically; in some other systems you
- may need to do this manually.
-
- If you receive the distribution on Mac or IBM disks and you want to run the system under Unix
- you must ``undo'' some of the changes described below.
-
- 1.1. Atari
-
- I've been told (no first hand exprience) that the code works on the atari. I've set up a minimal
- description in env.h - could somebody tell me if the atari supports prototypes, signals, or some of the
- other features?
-
- You do have to make the 'rb' changes described for the IBM PC (below), however you keep the
- rm instruction instead of DEL, and change the editor to whatever your system has (memacs?).
-
- 1.2. Gnu C Compiler (Sequent Balance)
-
- If at all possible, Use the Gnu C Compiler. I have found the code to be much smaller (up to 1/3
- smaller) and much faster (up to twice as fast). So far this has been used on the Sequent Balance sys-
- tem.
-
- Note that these sources support old style prototypes, as are used in Lightspeed C and Turbo C,
- and not the newer ANSI prototypes as are used in the gcc compiler. So do not define PROTO when
- using the gcc compiler
-
- 1.3. HP-UX
-
- Simply say ``make sysvtty'' to make a version with the tty interface. (As of yet, I don't have
- access to a system v system with an X-window interface, so I can't test that code).
-
- 1.4. IBM PC / Turbo C compiler
-
- Note: If you receive the sources on 5\(12 disks containing both source and executable, the following
- changes have already been made to the system.
-
- Define the symbol TURBOC at the beginning of the file env.h.
-
- Edit the file file.st, changing the command used to delete files from rm to del (notice the space
- following the del):
-
- delete
- ('del ', name) unixCommand
-
- In the file file.st change the mode on the command to save images from w to wb.
-
- saveImage: name
- scheduler critical: [
- " first get rid of our own process "
- scheduler removeProcess: scheduler currentProcess.
- File new;
- name: name;
- open: 'wb';
- saveImage;
- close ]
-
- In a similar manner change the mode on the file open in the initialize method in file tty.st to use wb
- instead of w.
-
-
-
-
- -- --
-
- - 2 -
-
-
-
- initialize
- " initialize the initial object image "
- self createGlobals.
- File new;
- name: 'systemImage';
- open: 'wb';
- saveImage;
- close.
-
- And also in tty.st change the editor from vi to me (or whatever your favorite editor happens to be).
-
- editor \(<- 'me'.
-
-
- Because of segmentation limits it is not possible to have an object table any larger than 6500
- objects (the current default). This value is set by a define found in memory.h
-
- # define ObjectTableMax 6500
-
-
- Compile in the compact mode (small code, large data).
-
- 1.5. Macintosh Lightspeed C
-
- NOTE: If you get the distribution on 3\(14 MAC Disks the source code changes described below
- have probably already been made for you.
-
- The mac distrubtion disk contains the following.
-
- (a) A folder called ``C Sources'' that contains (naturally) all the C sources.
-
- (b) A folder called ``ST Sources'' that contains (also naturally) all the Smalltalk sources, plus an
- application called ``initial'' that can be used to create or recreate the initial object image. To
- make changes to the image, simply edit the appropriate smalltalk files, run initial, and move the
- file ``systemImage'' to the appropriate location.
-
- (c) Two Lightspeed C projects called ``TextEdit'' and ``Stdwin'', containing code taken from Guido
- van Rossums Standard Windows package.
-
- (d) A file called ``systemImage'', which is the output of the application from part (b)
-
- (e) An application called ``st'', which is the smalltalk interpreter.
-
- (f) A folder called ``misc'' that contains various different files, such as documentation and other
- things.
-
- It is only necessary to recompile if you make changes to the C source. If you make changes to
- the Smalltalk source you only need to rerun the application called ``initial'' contained in the ``ST
- Sources'' folder.
-
- If you get the sources from some other location (say off the net), you must make the following
- alterations. Change the mode on the file open in the saveImage command (in file.st) and in the initalize
- command (file stdwin.st). Define the symbol LIGHTC at the beginning of the file env.h (See instruc-
- tions for the IBM PC above for a fuller explanation).
-
- To compile you need guido van rossums Standard Windows package. Follow his instructions to
- create the stdwin and textedit projects (these are already on the distribution disk). To make the initial
- program, create a project ``initialProj'' with segments as follows. In the first segment place MacTraps.
- In the second segment place Stdwin. In the third place TextEdit. In the forth place the Unix library
- files math, stdio, storage, strings and unix. In the fifth place the sources filein.c, initial.c, interp.c,
- memory.c, names.c, news.c, primitives.c, unixio.c and winprims.c. In the sixth and final segment place
- lex.c and parser.c. To create the st program use the same structure, subsituting st.c for initial.c. You
- must check the ``separate STRS'' option on both projects.
-
- Make sure when you run the initial object that all the smalltalk sources are in the current direc-
- tory; it does not complain if it can't open a file, it simply goes on. Also when you fileIn a file, the file
-
-
-
- -- --
-
- - 3 -
-
-
- must be in the current directory.
-
- The Mac version uses the windowing interface. It is currently very fragile. (A few known bugs;
- can't restore from saved image files, output sometimes goes wrong places, output often doesn't appear
- until you click the mouse).
-
- [ It would be nice if clicking on an image file would start the smalltalk application. If anybody
- knows how to make Lightspeed C do this, let me know. Thanks ].
-
- 1.6. Sequent Balance
-
- Say ``make bsdtty'' to make a tty interface system.
-
- 1.7. TekTronix 4315, Green Hills C Compiler
-
- Say ``make bsdtty'' to make a tty interface system. Say ``make bsdx11'' to make an x-windows
- interface system (still somewhat buggy).
-
- 1.8. VAX / VMS
-
- Since VMS doesn't understand Unix Makefiles, the distribution tape supplies a command file you
- can use. First define the symbol VMS near the begining of the file env.h, then execute the command
- file called vms.com. This makes a version using the tty interface. A VMS version using the X-
- windows interface has not been created yet.
-
- 2. Test Cases
-
- One you have a running system; the following can be used to run the standard test cases. First
- load the file test.st. If you are using the windowing interface select the fileIn menu item and the file
- ``test.st'' (from the ST Sources folder), if you are using the tty interface use the following command
-
- File new; fileIn: 'test.st'
-
- Then give the command to run all test cases.
-
- Test new all
-
- Messages will be displayed as test cases are performed, and if any test cases fail.
-
- 3. The Standard Window Package
-
- There is an experimental windows style interface based on Guido van rossums standard window
- package. This permits the system to work on top of X-windows, as well as the macintosh. Information
- on standard windows can be obtained directly from guido at guido@mcvax.uucp, or mcvax!guido, or
- possibly gvr@src.dec.com. His paper mail address is Guido van Rossum, Center for Mathematics and
- Computer Science, P.O. Box 4079, 1009 AB Amsterdam, The Netherlands. Sources for the standard
- window package are not included on the Little Smalltalk distribution, but they are available public
- domain by ftp from DEC SRC, machine gatekeeper.dec.com (address [128.45.9.52]). The subdirectory
- is pub/stdwin. Contact guido for more details.
-
- To make the projects for the macintosh version, follow guidos instructions. For other versions,
- make a file stdw.o by linking together all of guidos sources for your particular system. Here is a
- makefile for the X11 version, for example.
-
-
-
-
- -- --
-
- - 4 -
-
-
-
- #
- # X11 version of stdwins
- #
- x11 = caret.o draw.o font.o menu.o timer.o cutbuffer.o error.o general.o scroll.o window.o dialog.o event.o llevent.o system.o
- alfa = bind.o draw.o event.o keymap.o measure.o menu.o scroll.o stdwin.o syswin.o
- gen = askfile.o perror.o
- textedit = editwin.o textdbg.o textedit.o textlow.o textbrk.o
- tools = endian.o getopt.o glob.o monocase.o strdup.o swap.o
- x11files = ${x11} ${gen} ${textedit} ${tools}
-
- stdw.o: ${x11files}
- ld -r -o stdw.o ${x11files}
-
-
-
- I emphasize this interface is very fragile.
-
- 4. Possible Changes
-
- There are a couple of easy changes you may want to make at your site. The default editor is vi
- (indicated by the value of the global variable set in the routine createGlobals in either tty.st or
- stdwin.st); this can be changed to any other editor you like. The system also prints the current object
- count prior to asking for commands from the user. This can be eliminated by removing the primitive
- <2> from the method initialize, class Scheduler, file tty.st.
-
-
-
-
- -- --
-