Installation instructions for PCE/Lisp

Anjo Anjewierden
SWI
University of Amsterdam
anjo@swi.psy.uva.nl

January 25, 1993


REQUIREMENTS
============

PCE/Lisp currently runs with Lucid Common Lisp 4.0 (= LCL) and
Harlequin LispWorks 3.1 (= LW).  This directory contains two patches
for LW that are required for the correct operation of PCE
(in-static-area.wfasl, and gc-if-needed.wfasl).  You also need gcc 2.2
or later and X11R4 or later.

If PCE does not run with LW you should contact Harlequin and explain
to them you need the patches required to make PCE work.  If there are
problems they will contact me.


CUSTOMISATION
=============

PCE must first be installed (see the PCE Installation Instructions).

Create links for XPCE.o and itf-interface.h:

      % ln -s <PCE-DIRECTORY>/sun4/XPCE.o .
      % ln -s <PCE-DIRECTORY>/sun4/itf-interface.h .

where <PCE-DIRECTORY> is the root of the PCE directory on your system.

Edit "Makefile" and change the line that begins with "SYMBOL_FILE".
The file should be an absolute file-name to a file "pce-image.o" in
this directory.

Note that, for LCL, you may need ld4.0, see Makefile.

Edit "load.lisp" and modify the variables defined after the header

     "Customisation of the environment".


INSTALLATION
============

Create the C part of the interface:

	% make

Compile the Lisp part of the interface:

        % lisp-4-0-base
or	% lispworks -init -

	> (load "load")
	> (pce::compile-pce)
LCL	> (quit)
LW	> (bye)

Generate the saved state (requires about 15Mb disk space):

        % lisp-4-0-base
or	% lispworks -init -

	> (load "load")
LW	> (load "in-static-area")
LW	> (load "gc-if-needed")
	> (pce::install-pce)
LCL	> (quit)
LW	> (bye)

Now you have a PCE/Lisp executable (called xpcelisp or xpcelw by
default; see load.lisp).  The LCL executable is ready-to-run,
the LW executable requires that you say

    (pce::init-pce)

at the start of a session (I hope to quickly find out how to avoid
this).  These executables can be moved to a common bin directory.


TESTING
=======

See the documentation for possible tests.  You can try:

    (pce-send @pce :info)

and

    (pce-get @pce :version)


 
