1 <!-- -*- DocBook -*- -->
4 <title>Introduction</title>
7 <para> This reference guide describes
8 &uffi;, a Lisp package that provides persistent cross-implementation
9 support of C-language compatible libraries.
17 Every Common Lisp implementation has
18 a method for interfacing to C-language compatible
19 libraries. Unfortunately, these method vary widely amongst
20 implementations. Currently, to support multiple implementations,
21 developers must write a different interface library for each Common
25 &uffi; gathers a common subset of functionality between Common Lisp
26 implementations. &uffi; wraps this common subset of functionality with
27 it's own syntax and provides macro translation of uffi functions into
28 the specific syntax of supported Common Lisp implementations.
31 Developers who use &uffi; to interface with C libraries will
32 automatically have their code function in each of uffi's supported
38 <title>Supported Implementations</title>
39 <para> The primary tested and supported platforms for &uffi; are:
41 <itemizedlist mark="opencircle">
42 <listitem><para>&acl; v6.1 on Redhat Linux 7.2 and Microsoft Windows.</para></listitem>
43 <listitem><para>&lw; v4.2 on Redhat Linux 7.2 and Microsoft Windows.</para></listitem>
44 <listitem><para>&cmucl; 18c on Redhat Linux 7.2.</para></listitem>
49 <title>Installation</title>
51 Installation is fairly simple. The main requirement is that you
52 have a copy of &defsystem;. You can download the latest version
53 of &defsystem; from the <ulink
54 url="http://www.sourceforge.net/projects/clocc">
55 <citetitle>CLOCC</citetitle></ulink>
56 CVS tree. After installing &defsystem;, simply
57 <function>push</function> the
58 directory containing &uffi; into
59 <varname>mk:*central-registry*</varname>. Whenever you
60 want to load the &uffi; package, use the function
61 <computeroutput>(mk:load-system :uffi)</computeroutput>.