The YAZ toolkit is used by the GSDL receptionist
when acting as a z39.50 client.

5. #ifdef RL_MAJOR_VERSION test added
27 Oct 2016

The above tweak is needed because the yaz-client code is written
assuming you are linking against a fairly recent GNU readline (version 6 
is what we found on Ubuntu).  When compiling on MacOS, we found 
readline was not only the NetBSD version, but it was back at version 4.  
Inspection of the readline/readline.h file showed that the
NetBSD version does not even define RL_MAJOR_VERSION, let alone
set it to the value '4'.  This led us to conclude the above
addition of the #ifdef check was sufficient to make it do
the right thing, when compiling, on the various operating systems.

OLD version of yaz-2.1.56/client/client.c:
#if HAVE_READLINE_READLINE_H
    rl_attempted_completion_function = (rl_completion_func_t*)readline_complete\
r;
    //rl_attempted_completion_function = (CPPFunction*)readline_completer;
#endif


MODIFIED version of yaz-2.1.56/client/client.c:

#if HAVE_READLINE_READLINE_H
#ifdef RL_VERSION_MAJOR
    rl_attempted_completion_function = (rl_completion_func_t*)readline_complete\
r;
#else
    rl_attempted_completion_function = (CPPFunction*)readline_completer;
#endif
#endif


4. We've moved to yaz-2.1.56, ak19
26 Oct 2016

EXPLANATION: We've moved to this slightly newer version, the newest in 2.1.* but without changing major version numbers, in order to get a version of yaz that compiles on Macs after changes to make (gnome-lib) libraries statically linked rather than dymamically linked libraries needed for El Capitan.

MODIFIED FILE: yaz-2.1.56/client/client.c
Still require the same change as in number 3 below.

Ahead of changing to a newer yaz, we've also made changes to the runtime-src/src's z3950 and recpt Makefile.in files, to grab whatever dependencies yaz's configuration step worked out for its Makefile, and then using the same for linking libyaz in z3950 and recept to.

TESTED: bin/linux/z3950server (compile after configuring with --enable-z3950) against yaz-client. Then also tested GLI with Library of Congress's z3950 server at lx2.loc.gov at port 210.

3. CHANGES TO YAZ-2.1.4 TO CREATE THE GREENSTONE VERSION OF IT, ak19
20 Oct 2016

MODIFIED FILE: yaz-2.1.4/client/client.c

EXPLANATION: The references to readline's CPPFunction have been deprecated. They needed to be replaced with readline's rl_completion_func_t. Refer to https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=741767


CHANGE:
3501c3501,3503
<     rl_attempted_completion_function = (CPPFunction*)readline_completer;
---
>     //rl_attempted_completion_function = (CPPFunction*)readline_completer;
>     rl_attempted_completion_function = (rl_completion_func_t*)readline_completer;
> 


2. June 2005, kjdon:
Changed to use yaz version 2.1.4. This is also used by the new z3950server.
The original yaz download has been added to cvs - this is unzipped and untared by the configure script, then only the src and client directories are compiled.
Greenstone uses the libyaz.a library. yaz_zclient.o is modified from the sample client.o, and now lives in the colservr directory.

Two files are linked against: 
 client/yaz_client.o, which was modified from Index Data's sample 
	client code, and

 lib/libyaz.a, which contains all the z39.50 and MARC formatting code.
	There is probably a lot of stuff in this library that does
	not need to be there for our purposes, but for now it is,
	merely wasting some disk space and some compile-time CPU.

1. John McPherson
3 August 2000

yaz version 1.6

September 2000:
removed "ill" "server" "ztest" and "retrieval" subdirs.

