r8124: convert to xml
[clsql.git] / doc / intro.sgml
index 7c8c2277642c20f916ef580b58c331395e3e8812..4250c8ee30012099be774fc4604d4d0aecba2a10 100644 (file)
@@ -1,6 +1,11 @@
-<!-- -*- DocBook -*- -->
-
-<chapter>
+<?xml version='1.0' ?>   <!-- -*- DocBook -*- -->
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+               "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
+<!ENTITY % myents SYSTEM "entities.xml">
+%myents;
+]>
+
+<chapter id="introduction">
   <title>Introduction</title>
 
   <sect1>
@@ -37,6 +42,9 @@ are:
 <listitem>
 <para>improved packages and symbol export.</para>
 </listitem>
+<listitem>
+<para>transaction support.</para>
+</listitem>
 </itemizedlist>
     </para>
   </sect1>
@@ -46,15 +54,9 @@ are:
 
     <sect2>
       <title>&defsystem;</title>
-      <para> &clsql; uses &defsystem to compile and load its
-components.  &defsystem; is included in the <ulink
-url="http://clocc.sourceforge.net"><citetitle>&clocc;</citetitle></ulink> collection. The
-version in the pre-packaged distribution is rather old and
-may not function well. The version in CVS tree tree works quite
-well. For convenience, a copy of the latest &defsystem; at the FTP
-<ulink
-url="ftp://ftp.med-info.com/pub/defsystem/"><citetitle>site</citetitle></ulink>
-of &clsql;.
+      <para> &clsql; uses &asdf; to compile and load its
+components.  &asdf; is included in the <ulink
+url="http://cclan.sourceforge.net"><citetitle>&cclan;</citetitle></ulink> collection.
       </para>
     </sect2>
 
@@ -73,26 +75,23 @@ other systems.</para>
     </sect2>
 
     <sect2>
-      <title>XPTest (optional)</title>
-      <para>The test suite for &clsql; uses the onShore Development's
-XPTest package. onShore has graciously put the package in the public
-domain. You can download the package from onShore's web <ulink
-url="http://alpha.onshored.com/lisp-software/"><citetitle>site</citetitle></ulink>.
-This package is not required except if you wish to run the &clsql;
-test suite.</para>
-    </sect2>
-
+      <title>&md5;</title>
+      <para>&clsql;'s postgresql-socket interface uses Pierre Mai's 
+       <ulink url="ftp://clsql.b9.com/">md5</ulink> module. If you plan to use
+       this interface please download the md5 module from ftp://clsql.b9.com </para>       
     <sect2>
       <title>Supported Common Lisp Implementation</title>
       <para>
 The implementations that support &clsql; is governed by the supported
-implementations of &uffi;. At the time of the initial release of &clsql;,
-the following implementations are supported:
+implementations of &uffi;. The following implementations are supported:
       </para>
       <itemizedlist mark="opencircle">
-       <listitem><para>&acl; v6.1 on Redhat Linux 7.2 and Microsoft Windows.</para></listitem>
-       <listitem><para>&lw; v4.2 on Redhat Linux 7.2 and Microsoft Windows.</para></listitem>
-       <listitem><para>&cmucl; 18d on Redhat Linux 7.2.</para></listitem>
+       <listitem><para>&acl; v6.2 on Debian Linux, FreeBSD 4.5, and Microsoft Windows XP.</para></listitem>
+       <listitem><para>&lw; v4.2 on Debian Linux and Microsoft Windows XP.</para></listitem>
+       <listitem><para>&cmucl; 18d on Debian Linux, FreeBSD 4.5, and Solaris 2.8.</para></listitem>
+       <listitem><para>&sbcl; 0.7.14 on Debian Linux.</para></listitem>
+       <listitem><para>&scl; 1.1 on Debian Linux.</para></listitem>
+       <listitem><para>&openmcl; 0.13 on Debian Linux PowerPC.</para></listitem>
       </itemizedlist>
     </sect2>
 
@@ -102,9 +101,9 @@ the following implementations are supported:
        Currently, &clsql; supports the following databases:
       </para>
       <itemizedlist mark="opencircle">
-       <listitem><para>&mysql; v3.23.49 on Redhat Linux 7.2 and Microsoft Windows.</para></listitem>
-       <listitem><para>&postgresql; v7.1 on Redhat Linux 7.2. Support for both direct API connections and TCP socket connections.</para></listitem>
-       <listitem><para>Allegro's ODBC interface (&aodbc;) on Redhat Linux 7.2 and Microsoft Windows.</para></listitem>
+       <listitem><para>&mysql; v3.23.51.</para></listitem>
+       <listitem><para>&postgresql; v7.2 with both direct API and TCP socket connections.</para></listitem>
+       <listitem><para>Allegro's ODBC interface (&aodbc;) using iODBC ODBC manager.</para></listitem>
       </itemizedlist>
     </sect2>
 
@@ -139,7 +138,10 @@ files for Microsoft Windows are supplied with the distribution.</para>
 <para>To build the libraries on a GNU or Solaris, use the shell and
 change to the root directory of &clsql;. You may need to edit the file
 <filename>interfaces/mysql/Makefile</filename> to specify the location of your
-MySQL installation. Then, you can give the command
+MySQL installation. The default Makefiles are setup for shared library
+linking on Linux. If you are using FreeBSD or Solaris, you will need
+to change the linker setting as instructed in the Makefile. 
+Then, you can give the command
 <programlisting>
 make libs
 </programlisting>
@@ -152,19 +154,66 @@ in the root directory of &clsql; to build the libraries
     <sect2>
       <title>Load &uffi;</title>
       <para>
-       Unpack the appropriate &uffi; version for your system which creates a directory
-for the &uffi; files. Add that directory to Defsystem's <varname>mk:*central-registry*</varname>.
-You can do that by either pushing the pathname of the directory onto this variable, or
-use the new <function>add-registry-location</function> present in the newest versions of
-&defsystem;. The following example code assumes the &uffi; files reside in the
-<filename>/usr/local/src/lisp/uffi</filename> directory.
+       Unzip or untar the &uffi; distribution which creates a directory
+for the &uffi; files. Add that directory to Defsystem's <varname>asdf:*central-registry*</varname>.
+You can do that by pushing the pathname of the directory onto this variable.
+ The following example code assumes the &uffi; files reside in the
+<filename>/usr/share/lisp/uffi/</filename> directory.
+       <programlisting>
+(push #P"/usr/share/lisp/uffi/" asdf:*central-registry*)
+(asdf:oos 'asdf:load-op :uffi)
+        </programlisting>
+      </para>
+    </sect2>
+   <sect2>
+      <title>Load &md5; module</title>
+      <para>
+        If you plan to use the  clsql-postgresql-socket interface, you must load the md5 module.
+        Unzip or untar the cl-md5 distribution, which creates a directory for the cl-md5 files.
+        Add that directory to Defsystem's <varname>asdf:*central-registry*</varname>. 
+        You can do that by pushing the pathname of the directory onto this variable.
+        The following example code assumes the cl-md5 files reside in the
+        <filename>/usr/share/lisp/cl-md5/</filename> directory.
+       <programlisting>
+(push #P"/usr/share/lisp/cl-md5/" asdf:*central-registry*)
+(asdf:oos 'asdf:load-op :md5)
+        </programlisting>
+      </para>
+    </sect2>
+
+    <sect2>
+      <title>Load &clsql; modules</title>
+      <para>
+       Unzip or untar the &clsql; distribution which creates a directory
+for the &clsql; files. Add that directory to Defsystem's <varname>asdf:*central-registry*</varname>.
+You can do that by pushing the pathname of the directory onto this variable.
+ The following example code assumes the &clsql; files reside in the
+<filename>/usr/share/lisp/clsql/</filename> directory. You need to load, at a minimum,
+the main <symbol>:clsql</symbol> system and at least one interface system.
        <programlisting>
-(mk:add-registry-location #P"/usr/local/src/lisp/uffi")
-(mk:load-system :uffi)
+(push #P"/usr/share/lisp/clsql/" asdf:*central-repository*)
+(asdf:oos 'asdf:load-op :clsql-base)        ; base clsql package
+(asdf:oos 'asdf:load-op :clsql-mysql)       ; MySQL interface
+(asdf:oos 'asdf:load-op :clsql-postgresql)  ; PostgreSQL interface
+(asdf:oos 'asdf:load-op :clsql-postgresql-socket) ; Socket PGSQL interface
+(asdf:oos 'asdf:load-op :clsql-aodbc)       ; Allegro ODBC interface
+(asdf:oos 'asdf:load-op :clsql)             ; main clsql package
         </programlisting>
       </para>
     </sect2>
 
+    <sect2>
+      <title>Run test suite</title>
+      <para>
+       After loading &clsql;, you can execute the test program in
+the directory <filename>./test-suite</filename>. The test file,
+<filename>tester-clsql</filename>
+has instructions for creating a <filename>test.config</filename>.
+After creating that file, simple load the test file with Lisp
+and the tests should automatically execute.
+      </para>
+    </sect2>
+
   </sect1>
 
 </chapter>