-----------------------------------------------------------------------------
 Copyright (C) 1993 Christian-Albrechts-Universitaet zu Kiel, Germany
-----------------------------------------------------------------------------
 Projekt  : APPLY - A Practicable And Portable Lisp Implementation
            ------------------------------------------------------
 Funktion : README for the directory lib

 $Revision: 1.3 $
 $Id: README,v 1.3 1994/01/03 10:10:28 hk Exp $
-----------------------------------------------------------------------------

This directory contains files which are used for building executable
files from generated C files.
-----------------------------------------------------------------------------

The file c_decl.h is included by every generated C file and by the C
files in src/runtime/c which form the system module and which are part
of the lisp runtime system.

The file obrep1.h is included in c_decl.h by default. This file
determines the representation of Lisp data structures by means of C
data structures. We are experimenting with an alternative
representation which is defined in obrep2.h. The value of the
preprocessor constant __OBREP determines which file is included in
c_decl.h. obrep2.h may only be used with gcc, because it uses the
language extension __attribute__ ((aligned (8))).

The file sys.def describes the system module i.e. the part of the lisp
runtime system which is written in C. 

The files makefile.cl and makefile.cl386 are used by the commands
bin/cl and bin/clg, which compile and link generated C files.

The other files in this directory are automatically generated:

sys.h contains the prototypes and variable declarations for the C
files in src/runtime/c. It is included by every generated C file and
by the C files in src/runtime/c. sys.h is generated by the command
bin/build-protos. You may extend this file manually, if you don't want
to use bin/build-protos.

The files lisp.syntax, lisp.def, lisp.h and inline.h are written into
the directory src/runtime/lisp2c, when the files lisp.lisp and
inline.lisp are compiled. They are copied to this directory when
the command bin/rt or bin/rtg is executed.

The file rtc.a is a library, which contains the files *.o of the
system module.

rtc-g.a is like rtc.a but with debugging information.

The file rtl.a is a library, which contains the files *.o of the
lisp and inline module.

rtl-g.a is like rtl.a but with debugging information.

The files main.o, main-g.o are the compilation result of
src/runtime/c/main.c. They contain the definition of the main
function, i.e the entry point for the linker.

The files initialize.o and initialize-g.o are built from
src/runtime/c/main too, but they are used to integrate a lisp module
into a C program.
