Using common entities
[yazpp-moved-to-github.git] / doc / installation.xml
index 259a59d..dbd3d46 100644 (file)
@@ -1,17 +1,17 @@
 <chapter id="installation">
 <chapter id="installation">
-  <!-- $Id: installation.xml,v 1.8 2003-10-24 11:18:51 adam Exp $ -->
+  <!-- $Id: installation.xml,v 1.18 2006-04-27 13:04:39 adam Exp $ -->
   <title>Installation</title>
   <para>
    You need a C++ compiler to compile and use YAZ++.
   <title>Installation</title>
   <para>
    You need a C++ compiler to compile and use YAZ++.
-   The software was implemented using GCC so we know that works
-   well with YAZ++. From time to time the software has been
-   compiled on Windows using Visual C++. Other compilers should
-   work too. Let us know of portability problems, etc. with
-   your system.
+   The software was implemented using <ulink url="&url.gcc;">GCC</ulink>
+   so we know that works well with YAZ++. From time to time the
+   software is compiled on Windows using Visual C++.
+   Other compilers should work too. Let us know of portability
+   problems, etc. with your system.
   </para>
   <para>
    YAZ++ is built on top of the 
   </para>
   <para>
    YAZ++ is built on top of the 
-   <ulink url="http://indexdata.dk/yaz/">YAZ</ulink>
+   <ulink url="&url.yaz;">YAZ</ulink>
    toolkit.
    You need to install that first.
    For some platforms there are binary packages for YAZ.
    toolkit.
    You need to install that first.
    For some platforms there are binary packages for YAZ.
@@ -38,7 +38,7 @@
        </para></listitem>
      </varlistentry>
      <varlistentry>
        </para></listitem>
      </varlistentry>
      <varlistentry>
-      <term><literal>--with-yazconfig </literal>directory</term>
+      <term><literal>--with-yaz </literal>directory</term>
       <listitem><para>
         Specifies the location of <filename>yaz-config</filename>.
         The <filename>yaz-config</filename> program is generated in
       <listitem><para>
         Specifies the location of <filename>yaz-config</filename>.
         The <filename>yaz-config</filename> program is generated in
     This is what you have after successful compilation:
     <variablelist>
      <varlistentry>
     This is what you have after successful compilation:
     <variablelist>
      <varlistentry>
-      <term><literal>src/yaz-proxy</literal></term> 
+      <term><literal>src/libyazpp.la</literal></term> 
       <listitem><para>
       <listitem><para>
-        The YAZ <link linkend="proxy">Z39.50 Proxy</link> utility.
-       This program gets installed in your binaries directory
-       (<parameter>prefix</parameter><literal>/bin</literal>).
+        The YAZ++ library.
+       This library gets installed in your libraries directory
+       (<parameter>prefix</parameter><literal>/lib</literal>).
        </para></listitem>
      </varlistentry>
        </para></listitem>
      </varlistentry>
-
+     
      <varlistentry>
      <varlistentry>
-      <term><literal>lib/libyaz++.la</literal></term> 
+      <term><literal>src/libzoompp.la</literal></term> 
       <listitem><para>
       <listitem><para>
-        The YAZ++ library, including the
-       <link linkend="zoom">ZOOM-C++</link> classes.
+        The <link linkend="zoom">ZOOM-C++</link> library.
        This library gets installed in your libraries directory
        (<parameter>prefix</parameter><literal>/lib</literal>).
        </para></listitem>
      </varlistentry>
        This library gets installed in your libraries directory
        (<parameter>prefix</parameter><literal>/lib</literal>).
        </para></listitem>
      </varlistentry>
-
+     
      <varlistentry>
      <varlistentry>
-      <term><literal>include/yaz++/*.h</literal></term> 
+      <term><literal>include/yazpp/*.h</literal></term> 
       <listitem><para>
       <listitem><para>
-        Various C++ header files, which you'll need for YAZ
+        Various C++ header files, which you'll need for YAZ++
        development. All these are installed in your header files area
        development. All these are installed in your header files area
-       (<parameter>prefix</parameter><literal>/include/yaz++</literal>).
+       (<parameter>prefix</parameter><literal>/include/yazpp</literal>).
        </para></listitem>
      </varlistentry>
      
      <varlistentry>
        </para></listitem>
      </varlistentry>
      
      <varlistentry>
-      <term><literal>yaz++-config</literal></term> 
+      <term><literal>yazpp-config</literal></term> 
       <listitem><para>
         A Bourne shell-script utility that returns the values of the
        <envar>CFLAGS</envar> and <envar>LIBS</envar>
       <listitem><para>
         A Bourne shell-script utility that returns the values of the
        <envar>CFLAGS</envar> and <envar>LIBS</envar>
      <varlistentry>
       <term><literal>zoom/zclient</literal></term> 
       <listitem><para>
      <varlistentry>
       <term><literal>zoom/zclient</literal></term> 
       <listitem><para>
-        ZOOM C++ demonstration client. This client does not
-        get installed in the system directories.
+        ZOOM C++ demonstration client that uses the ZOOM C++ classes.
+       This client does not get installed in the system directories.
        </para></listitem>
      </varlistentry>
 
        </para></listitem>
      </varlistentry>
 
   <section id="windows">
    <title>Building on Windows</title>
    <para>
   <section id="windows">
    <title>Building on Windows</title>
    <para>
-    You'll find Visual Studio project files in sub directory
-    <filename>win</filename>. Open workspace <filename>yazxx.dsw</filename>
-    which includes the following projects:
+    YAZ++ is shipped with "makefiles" for the NMAKE tool that comes
+    with <ulink url="&url.vstudio;">Microsoft Visual Studio</ulink>.
+    Version 6 and .NET 2003 has been tested. We expect that YAZ++ compiles
+    with version 5 as well.
+   </para>
+    <para>
+    Start a command prompt and switch the sub directory
+    <filename>WIN</filename> where the file <filename>makefile</filename>
+    is located. Customize the installation by editing the
+    <filename>makefile</filename> file (for example by using notepad).
+    
+    The following summarizes the most important settings in that file:
+    
     <variablelist>
     <variablelist>
-     <varlistentry>
-      <term><literal>yazxx.dsp</literal></term>
-       <listitem><para>
-        Builds the <filename>yazxx.dll</filename>.
-       </para></listitem>
-     </varlistentry>
-     <varlistentry>
-      <term><literal>yazclient.dsp</literal></term>
-       <listitem><para>
-        Builds the sample client <filename>yazmyclient.exe</filename>.
-       </para></listitem>
-     </varlistentry>
-     <varlistentry>
-      <term><literal>yazserver.dsp</literal></term>
-       <listitem><para>
-        Builds the sample server <filename>yazmyserver.exe</filename>.
-       </para></listitem>
-     </varlistentry>
-     <varlistentry>
-      <term><literal>yazserver.dsp</literal></term>
-       <listitem><para>
-        Builds the proxy <filename>yazproxy.exe</filename>.
+     <varlistentry><term><literal>DEBUG</literal></term>
+      <listitem><para>
+       If set to 1, the software is
+       compiled with debugging libraries (code generation is
+       multi-threaded debug DLL).
+       If set to 0, the software is compiled with release libraries
+       (code generation is multi-threaded DLL).
        </para></listitem>
      </varlistentry>
        </para></listitem>
      </varlistentry>
-     <varlistentry>
-      <term><literal>zoomxxclient.dsp</literal></term>
-       <listitem><para>
-        Builds the ZOOM C++ demo client <filename>zoomxxclient.exe</filename>.
+     <varlistentry><term><literal>YAZ_DIR</literal></term>
+      <listitem><para>
+       Specifies the directory of the YAZ source.
        </para></listitem>
      </varlistentry>
     </variablelist>
    </para>
    <para>
        </para></listitem>
      </varlistentry>
     </variablelist>
    </para>
    <para>
-    By default, the include path and library path for the projects assumes
-    that YAZ is located in <filename>..\yaz</filename> 
-    (i.e. same prefix as the YAZ++ source).
-    If YAZ is in a different directory you'll have to modify
-    the include path in 
-    <literal>Project | Settings | C/C++ | Preprocessor | Additional include
-     directories</literal>
-    and library path in
-    <literal>Project | Settings | Link | Input | Additional library
-     path</literal>.
+    When satisfied with the settings in the makefile, type
+    <screen>
+     nmake
+    </screen>
+   </para>
+   <tip>
+    <para>
+     If the <filename>nmake</filename> command is not found on your system
+     you probably haven't defined the environment variables required to
+     use that tool. To fix that, find and run the batch file
+     <filename>vcvars32.bat</filename>. You need to run it from within
+     the command prompt or set the environment variables "globally";
+     otherwise it doesn't work.
+    </para>
+   </tip>
+   <para>
+    If you wish to recompile YAZ++ - for example if you modify
+    settings in the <filename>makefile</filename> you can delete
+    object files, etc by running.
+    <screen>
+     nmake clean
+    </screen>
+   </para>
+   <para>
+    The following files are generated upon successful compilation:
+    
+    <variablelist>
+     <varlistentry><term><filename>bin/yazpp.dll</filename></term>
+      <listitem><para>
+       YAZ++ DLL . Includes ZOOM C++ as well.
+       </para></listitem></varlistentry>
+     
+     <varlistentry><term><filename>lib/yazpp.lib</filename></term>
+      <listitem><para>
+       Import library for <filename>yazpp.dll</filename>.
+       </para></listitem></varlistentry>
+     
+     <varlistentry><term><filename>bin/zclient.exe</filename></term>
+      <listitem><para>
+       ZOOM C++ demo client. A simple WIN32 console application.
+       </para></listitem></varlistentry>
+     
+    </variablelist>
+    
    </para>
    </para>
+   
   </section>
  </chapter>
  <!-- Keep this comment at the end of the file
   </section>
  </chapter>
  <!-- Keep this comment at the end of the file
  sgml-always-quote-attributes:t
  sgml-indent-step:1
  sgml-indent-data:t
  sgml-always-quote-attributes:t
  sgml-indent-step:1
  sgml-indent-data:t
- sgml-parent-document: "yaz++.xml"
+ sgml-parent-document: "yazpp.xml"
  sgml-local-catalogs: nil
  sgml-namecase-general:t
  End:
  sgml-local-catalogs: nil
  sgml-namecase-general:t
  End: