r8207: fix making libraries
[clsql.git] / doc / intro.xml
index ac54ec4e866c6e5a45a11a97d556719cfabb8463..facffa7f67dbf08ef4bd9ed09d0af93274a26f3e 100644 (file)
@@ -1,4 +1,4 @@
-<?xml version='1.0' ?>   <!-- -*- DocBook -*- -->
+<?xml version='1.0' ?>
 <!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">
@@ -58,7 +58,7 @@
     <title>Prerequisites</title>
     
     <sect2>
-      <title>&defsystem;</title>
+      <title>&asdf;</title>
       <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.
     <title>Installation</title>
     
     <sect2>
-      <title>Ensure &defsystem; is loaded</title>
+      <title>Ensure &asdf; is loaded</title>
       <para>
-       Simply load the file <filename>defsystem.lisp</filename>.
-       <programlisting>
-(load "defsystem.lisp")
-       </programlisting>
+       Simply load the file <filename>asdf.lisp</filename>.
+       <screen>
+(load "asdf.lisp")
+       </screen>
       </para>
     </sect2>
     
        parameters and return values. The &ffi; in most &clsql;
        implementations do not support 64-bit integers. Thus, C helper
        libraries are required to break these 64-bit integers into two compatible
-       32-bit integers.
+       32-bit integers. The helper libraries reside in the directories
+       <filename>uffi/</filename> and <filename>db-mysql</filename>.
       </para>
       
-      <para>Makefiles for Microsoft Windows and GNU/Solaris systems
-       are supplied to build the libraries. Since many Microsoft Windows
-       users don't have access to a compiler, the <type>DLL</type> and <type>LIB</type>
-       files for Microsoft Windows are supplied with the distribution.
-      </para>
+      <sect3>
+       <title>&mswindows;</title>
+       <para>
+         Files named <filename>Makefile.msvc</filename> are supplied
+         for building the libraries under Microsoft Windows.  Since
+         &mswindows; does not come with that compiler, compiled
+         <type>DLL</type> and <type>LIB</type> library files are
+         supplied with &clsql;.
+       </para>
+      </sect3>
+
+      <sect3>
+       <title>&unix;</title>
+       <para>
+         Files named <filename>Makefile</filename> are supplied for building the libraries
+         under &unix;. However, the <filename>.asd</filename> automatically invoke
+         the makefiles when necessary. So, manual building of the helper libraries
+         is not necessary on &unix;.
+       </para>
+      </sect3>
       
-      <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. 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>
-       in the root directory of &clsql; to build the libraries 
-       <filename>interfaces/mysql/clsql-mysql.so</filename>
-       and <filename>interfaces/clsql-uffi/clsql-uffi.so</filename>.
-      </para>
     </sect2>
     
     <sect2>
       <title>Load &uffi;</title>
       <para>
        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>.
+       for the &uffi; files. Add that directory to &asdf;'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>
+       <screen>
 (push #P"/usr/share/lisp/uffi/" asdf:*central-registry*)
-(asdf:oos 'asdf:load-op :uffi)
-       </programlisting>
+(asdf:operate 'asdf:load-op :uffi)
+       </screen>
       </para>
     </sect2>
    <sect2>
@@ -184,15 +185,15 @@ make libs
      <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>. 
+       Add that directory to &asdf;'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>
+       <screen>
 (push #P"/usr/share/lisp/cl-md5/" asdf:*central-registry*)
-(asdf:oos 'asdf:load-op :md5)
-       </programlisting>
+(asdf:operate 'asdf:load-op :md5)
+       </screen>
      </para>
    </sect2>
    
@@ -200,36 +201,40 @@ make libs
      <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>.
+       for the &clsql; files. Add that directory to &asdf;'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>
+       <screen>
 (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>
+(asdf:operate 'asdf:load-op 'clsql-base)        ; base clsql package
+(asdf:operate 'asdf:load-op 'clsql-mysql)       ; MySQL interface
+(asdf:operate 'asdf:load-op 'clsql-postgresql)  ; PostgreSQL interface
+(asdf:operate 'asdf:load-op 'clsql-postgresql-socket) ; Socket PGSQL interface
+(asdf:operate 'asdf:load-op 'clsql-aodbc)       ; Allegro ODBC interface
+(asdf:operate 'asdf:load-op 'clsql)             ; main clsql package
+       </screen>
       </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.
+       After loading &clsql;, you can execute the test suite. A configuration
+       file named <filename>.clsql-test.config</filename> must be created
+       in your home directory. There are instructures on the format of that file
+       in the <filename>tests/tests.lisp</filename> file in the &clsql;
+       source directory. After creating that file, you can run the test suite
+       with &asdf;:
+       <screen>
+         (asdf:operate 'asdf:test-op 'clsql)
+        </screen>
       </para>
     </sect2>
     
   </sect1>
-  
+
 </chapter>
+