<!doctype linuxdoc system>
<!--
- $Id: ir-tcl.sgml,v 1.24 1998-01-16 09:24:18 adam Exp $
+ $Id: ir-tcl.sgml,v 1.29 1999-02-11 10:57:21 adam Exp $
-->
<article>
<title>IrTcl User's Guide and Reference
<author><htmlurl url="http://www.indexdata.dk/" name="Index Data">,
<tt><htmlurl url="mailto:info@indexdata.dk" name="info@indexdata.dk"></tt>
-<date>$Revision: 1.24 $
+<date>$Revision: 1.29 $
<abstract>
This document describes IrTcl -- an information retrieval toolkit for
Tcl and Tk that provides access to the Z39.50/SR protocol.
needed unless you wish to communicate within an OSI environment.
See [ref 2] for more information about the XTI/mOSI implementation.
-<sf/IrTcl/ is implemented as a <it/dynamic/ library (DLL) which is
-dynamically loaded by using the <tt/load/ command. However, <sf/IrTcl/
-may also be compiled as a traditional <it/static/ library as well.
+<sf/IrTcl/ is usually build as a <it/dynamic/ library (Windows)
+or shared Object (Unix) which is dynamically loaded by using the Tcl's
+<tt/load/ command. However, <sf/IrTcl/ can be compiled as a
+traditional <it/static/ library as well.
<sect>Compilation and installation
In order to compile you need:
<itemize>
<item> An ANSI C compiler such as GNU C.
-<item> <htmlurl url="http://sunscript.sun.com/TclTkCore/" name="Tcl">.
- Version 7.X and 8.0 has been tested.
-<item> <htmlurl url="http://www.indexdata.dk/yaz.html" name="YAZ">
- version 1.4 or higher.
+<item> <htmlurl url="http://www.scriptics.com" name="Tcl">.
+ Version 7.5, 7.6 and 8.0 has been tested.
+<item> <htmlurl url="http://www.indexdata.dk/yaz/" name="YAZ">
+ version 1.5 or higher.
</itemize>
As an option you may want:
<itemize>
-<item> <htmlurl url="http://sunscript.sun.com/TclTkCore/" name="Tk">.
-Version 3.6, 4.X and 8.0 has been tested.
+<item> <htmlurl url="http://www.scriptics.com" name="Tk">.
+Version 4.1, 4.2 and 8.0 has been tested.
<item> XTI/mOSI
</itemize>
-Unpack the <sf/IrTcl/ package at the same directory level as <bf/YAZ/.
+Unpack the <sf/IrTcl/ package at the same directory level as <bf/YAZ/.
Type:
<tscreen><verb>
This command tries to configure <sf/IrTcl/ for your system and creates
a <tt>Makefile</tt>.
-If the <tt>configure</tt> command cannot locate Tcl and Tk in your standard
-locations for libraries searched by your C compiler it will guess
-that the libraries are located in <tt>/usr/local/lib</tt> and that
-the header files are located in <tt>/usr/local/include</tt>.
-If this is incorrect you will have to modify the <tt>Makefile</tt> yourself.
+The <tt>configure</tt> command tries to locate the file <tt/tclConfig.sh/
+which should be generated by Tcl's installation script. Configure
+looks for your Tcl shell in order to locate this file. For example
+if <tt/tclsh/ is located in <tt>/home/joe/bin</tt>, configure will
+assume that <tt>tclConfig.sh</tt> is installed in <tt>/home/joe/lib</tt>,
+in which case the prefix is <tt>/home/joe</tt>. If you have
+more than one Tcl version installed on your system, or if configure
+cannot find the Tcl shell in your path, you can specify the prefix
+by adding <tt>--prefix=</tt>prefix to the configure command, i.e.
+<tscreen><verb>
+$ ./configure --prefix=/home/joe
+</verb></tscreen>
+
+The prefix is also used to determine where <sf/IrTcl/ is installed.
+The <sf/IrTcl/ executables are installed in prefix/bin and libraries
+and support files are installed in prefix/irtcl.
Compile <sf/IrTcl/ by typing:
<tscreen><verb>
normal static library, <tt/libirtcl.a/.
For Tcl versions that doesn't support dynamic libraries the
-command will create two shells will build-in <sf/IrTcl/ support --
+make command will create two shells will build-in <sf/IrTcl/ support --
a Tcl shell called <tt/ir-tcl/ and a Tcl/Tk shell called <tt/ir-tk/.
The traditional static library, <tt/libirtcl.a/, is build as well.
<tag><tt>ir-tcl.h</tt></tag> The <sf/IrTcl/ header file.
Installed in <tt>INCDIR</tt> -- defaults to <tt>/usr/local/include</tt>.
-<tag><tt>clientrc.tcl</tt></tag> A setup file with definitions
+<tag><tt>irtdb.tcl</tt></tag> A setup file with definitions
of target and queries. Read and updated by <tt>client.tcl</tt>. Installed
in <tt>IRTCLDIR</tt> -- defaults to <tt>/usr/local/lib/irtcl</tt>.
<p>
If your Tcl/Tk supports dynamic libraries you can use the
-<tt/load/ command as described in the previous section. If not,
-you must use the <tt>ir-tk</tt> shell that acts as <tt>wish</tt>
+<tt/load/ command from within <tt/wish/ as described in the previous
+section.
+If not, you must use the <tt>ir-tk</tt> shell that acts as <tt>wish</tt>
except that it includes the <sf/IrTcl/ commands.
The enclosed script <tt>client.tcl</tt> is a graphical client
At first the script was relatively small but it has grown since the
beginning. At present it is about 3000 lines.
-To start the client using a dynamic library use:
+To start the client with dynamic library support use:
<tscreen><verb>
$ wish -f client.tcl
</verb></tscreen>
-Note: some installations a slightly different name for wish, eg.
-<tt/wish8.0/.
+Note: Substitute the real name for the wish interpreter above, for
+version 8.0 it is probably called <tt/wish8.0/.
To start the client without dynamic library support use:
<tscreen><verb>
-$ ir-tk -f client.tcl
+$ ./ir-tk -f client.tcl
</verb></tscreen>
The client lets up define targets and query types within the interface.
<bf/Example/
-Consider the GRS-1 record below as shown by the Yaz client program:
+Consider the GRS-1 record below as shown by the <bf/YAZ/ client program:
<tscreen><verb>
(1,1) OID: GILS-schema
<p>
<descrip>
-<tag>1 Ousterhout, John K.:</tag>
+<tag>1 IrTcl Homepage</tag>
+<htmlurl url="http://www.indexdata.dk/irtcl/"
+name="http://www.indexdata.dk/irtcl/">
+
+<tag>2 Ousterhout, John K.:</tag>
Tcl and the Tk Toolkit. Addison-Wesley Company Inc (ISBN
0-201-63337-X). The Tcl/Tk toolkit home page is
-<tt><htmlurl url="http://www.sunscript.com"
- name="http://www.sunscript.com"></tt>.
-The primary ftp site is <tt><htmlurl url="ftp://ftp.smli.com/pub/tcl/"
-name="ftp://ftp.smli.com/pub/tcl/"></tt>.
-<tag>2 Welch, Brent B.:</tag>
+<htmlurl url="http://www.scriptics.com"
+ name="http://www.scriptics.com">.
+The primary download area is
+<htmlurl url="http://www.scriptics.com/software/download.html"
+name="http://www.scriptics.com/software/download.html">.
+
+<tag>3 Welch, Brent B.:</tag>
Practical Programming in Tcl and Tk. Prentice Hall
(ISBN 0-13-616830-2).