Added README. Mods to top-level mkf.
authorSebastian Hammer <quinn@indexdata.com>
Mon, 10 Apr 1995 10:22:06 +0000 (10:22 +0000)
committerSebastian Hammer <quinn@indexdata.com>
Mon, 10 Apr 1995 10:22:06 +0000 (10:22 +0000)
Makefile
README [new file with mode: 0644]

index 1f32f04..dfc8cb4 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,13 +1,19 @@
 # Copyright (C) 1994, Index Data I/S 
 # All rights reserved.
 # Sebastian Hammer, Adam Dickmeiss
-# $Id: Makefile,v 1.5 1995-03-30 14:02:36 quinn Exp $
+# $Id: Makefile,v 1.6 1995-04-10 10:22:06 quinn Exp $
+
+# Define -DUSE_XTIMOSI to enable the xtimosi functionality. Remeber to
+# also modify the makefiles under yazlib/ and server/ (according the
+# comments found there). Uncomment RFC1006.
+
+#DEFS=-DUSE_XTIMOSI
+#RFC1006=rfc1006
 
 #CC=
 SHELL=/bin/sh
 MAKE=make
-SUBDIR=util odr asn rfc1006 yazlib server makelib
-DEFS=-DUSE_XTIMOSI
+SUBDIR=util odr asn $(RFC1006) ccl yazlib server makelib
 
 all:
        for i in $(SUBDIR); do cd $$i; if $(MAKE) CFLAGS="$(CFLAGS) $(DEFS)"; then cd ..; else exit 1; fi; done
diff --git a/README b/README
new file mode 100644 (file)
index 0000000..3baa3f9
--- /dev/null
+++ b/README
@@ -0,0 +1,88 @@
+Compilation and installation
+
+The primary output of the source here is the libyaz.a library, which
+contain support functions for implementing the server or client role
+of Z39.50/SR. Currently, the library is placed in a directory 'lib'
+which is one level *above* the distribution directory (yaz). This was
+initially done because the library is often used along with several
+other packages, and it was useful to gather the different libraries in
+a common place. If you don't like it, changing the 'LIBDIR' macro in
+the toplevel makefile should be sufficient. Obscurely, the header
+files are located in the include-directory *under* the yaz/ directory.
+
+The toplevel makefile also contains directions on how to enable Peter
+Furniss' XTIMOSI package. The package can be downloaded from
+ftp://pluto.ulcc.ac.uk/ulcc/thinosi/... (or something close to that).
+If you place the xtimosi directory on the same level as the yaz
+directory, and simply follow the directions in the toplevel YAZ
+makefile, the libmosi.a library from xtimosi should link in with no
+problems. The xtimosi library is needed to support a full OSI stack,
+but is *not* required to talk to American-style Z39.50 implementations
+over TCP/IP. Don't worry about compiling the test applications in the
+xtimosi package. Just do a "make libmosi.a", and do whatever is
+required to make the compilation complete on your local ystem.
+
+Two test-programs of interest are generated when you type 'make' at
+the top level. server/ztest and yazlib/cli. Ztest is a dummy database
+server which returns canned responses to all queries. It's good for
+verifying that the protocol works ok, and ztest.c shows a minimalistic
+implementation of the 'backend' interface.
+
+Cli is a linemode Z39.50 client. It supports a fair amount of the
+functionality of Z39.50v2/SR, but some things you need to enable by
+recompilation. Its primary purpose is to excersise the package, and
+verify that the protocol works OK. It can be started by typing
+
+cli tcp:<hostname>:<port>
+
+at the UNIX prompt, to connect to a Z39.50 server, or
+
+cli osi:[<tsel>'/']<hostname>:<port>
+
+to connect to an OSI SR target (this requires XTIMOSI). To connect to
+the DANBIB test target, you might use:
+
+cli osi:0103/find2.denet.dk:4500
+
+CLI supports CCL-queries, with the mapping between qualifiers and
+attribute values specified in the file default.bib in the working
+directory.
+
+The directories:
+
+util    - Various little utility functions. Logging, memory debugging,
+       primitive ISO2709 presentation for the client, etc.
+
+odr     - Open Data Representation. This module implements the BER
+       encoding rules. Documentation is found in the files odr.man
+       and odr.txt.
+
+asn     - This module implements the Z39.50/SR protocol. The best way
+       to find out how it works is to look in the sample
+       client/server code in server/seshigh.c or yazlib/tst.c.
+
+yazlib  - This module primarily implements the transport transparency
+       stack (COMSTACK). The comstack implements a generic interface
+       for exchanging BER-encoded records over a network. It supports
+       the American mode of exchanging the records straight over
+       TCP/IP, and Peter Furniss' XTIMOSI package over RFC1006. Look
+       for documentation in the file comstack.man.
+
+server  - This is the implementation of the server frontend. It
+       It provides event-handling and server managament functions,
+       and calls the backend primitives (best documentation of these
+       is in the file include/backend.h).
+
+rfc1006 - Xtimosi requires an implementation of the OSI transport
+       with an XTI-based API. Some systems (HP and DEC, notably)
+       provide this. For others, we provide an implementation of the
+       RFC1006 protocol (which is what ISODE-based implementations
+       typically use). This module is not neeeded if you don't use
+       xtimosi.
+
+makelib - This is a simple utility that gathers the libraries from the
+       previous modules into libyaz.a.
+
+include - The various header files.
+
+../lib  - The libraries. Primarily libyaz.a.