# @(#)README	1.12 1/29/92

This directory contains the lisp code which is necessary to run CLM. The code
has been tested with Allegro 4.0 and Lucid 4.0 on Sun Sparcstations, as
well as with Genera 8.1 on a Symbolics.

On Genera, see the description in "sysdcl.lisp" how to establish a system
definition. On UNIX systems, use the following steps to compile and test
CLM:

1. Make sure you have links to or copies of unixsocket.o and io.o in this
   directory. When using Allegro CL, you should also have exclio.o and
   runstatus.o.
   If these links are not present, make sure that these object files exist in
   ../server. Then run 'make excl_links' (Allegro) or 'make lucid_links' 
   (Lucid).

2. Look at the top of defs.lisp and see if you want to change any of the
   defined parameters. The parameter *clm-binary-directory* must be set
   to a directory where the executable "clm-server" can be found at run-time.
   This code is used when you start the CLM server as a child of the Lisp
   image (which is the default setting).

3. Start your basic Lisp image. Compile and load CLM by typing (load "load").
   This compiles the source files if necessary, then loads the foreign C code
   and the compiled binary files.

4. Change directory to ../demos. Compile and load the demo 
   demo.lisp by using (xtk::ld "demo"). Then run this demo with
   (xtk::clm-demo).

   This demo should display the following: A main window with a menu bar
   and a number of elements below. There is a label that shows the current
   time, which should be updated by a timer. Below there are a list with
   three dummy entries and a scrollable work area. At the bottom there is
   a text field.

   The first pull-down menu contains an "Exit" entry to stop the demo. In the
   second pull-down menu you find two entries that stop and start the timer.
   One of them should always be insensitive. You can pop up a simple info
   dialog with no further functionality, and you can add an item to the list.
   The item can be specified in a prompt dialog. OK adds the item, Cancel
   does nothing.

   When selecting an item, the item and its number appear in the text field.
   If you click into the drawing area, the event data reported by the
   button press are shown in the text field. You can edit the text without
   any effect.

   If this demo runs without crashing CLM, you can expect CLM to work properly.

5. To install CLM, edit the Makefile and adapt the following variables to
   your installation:

   LISP: The pathname of your Common Lisp executable
   LISP_SYSTEM: either 'excl' or 'lucid'
   CLM_LIB: Directory where the compiled C modules and the CLM library
	    file clm.fasl (excl) or clm.sbin (Lucid) should be installed.

   To install only the Lisp part of CLM, type 'make install'
   To install all parts of CLM, go to ".." and type 'make install'

6. Save a Lisp image which contains CLM:

   Go to the CLM_LIB directory, start lisp and load CLM by typing (load "clm").
   Save the lisp image using (xtk::save-lisp "name-of-saved-image").
