Installation You need a C++ compiler to compile and use YAZ proxy. The software was implemented using GCC so we know that works well with YAZ proxy. 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. YAZ proxy is built on top of the YAZ and YAZ++ toolkits. You need to install these first. For some platforms there are binary packages for YAZ/YAZ++.
Building on Unix On UNIX, the software is compiled as follows: $ ./configure $ make $ su # make install You can supply options for the configure script. The most useful ones are: --prefix directory Specifies installation prefix. By default /usr/local is used. --with-yazppconfig directory Specifies the location of yaz++-config. The yaz++-config program is generated in the source directory of YAZ++ as well as the binaries directory when YAZ++ is installed (via make install). If you don't supply this option, configure will look for yaz++-config in directories of the PATH environment - which is nearly always what you want. --with-xslt directory Specifies prefix for libxslt (and libxml2). configure must be able to locate xslt-config in PREFIX/bin. If this option is omitted, configure looks for xslt-config in the current PATH. For the whole list of configure options, refer to the help: ./configure --help. Configure uses GCC's C/C++ compiler if available. To specify another compiler, set CXX. To use other compiler flags, specify CXXFLAGS. To use CC with debugging you could use: CXXFLAGS="-g" CXX=CC ./configure This is what you have after successful compilation: src/yazproxy The YAZ Z39.50 Proxy. This program gets installed in your binaries directory (prefix/bin). src/libyazproxy.la The YAZ proxy library. This library gets installed in your libraries directory (prefix/lib). include/yazproxy/*.h Various C++ header files, which you'll need for YAZ proxy development. All these are installed in your header files area (prefix/include/yazproxy).
Building on Windows YAZ++ is shipped with "makefiles" for the NMAKE tool that comes with Microsoft Visual Studio. Version 6 and .NET has been tested. We expect that YAZ++ compiles with version 5 as well. Start a command prompt and switch the sub directory WIN where the file makefile is located. Customize the installation by editing the makefile file (for example by using notepad). The following summarizes the most important settings in that file: DEBUG 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). HAVE_XSLT, LIBXSLT_DIR If HAVE_LIBXSLT is set to 1, the proxy is compiled with XSLT and XML support. In this configuration, set LIBXSLT_DIR to the libxslt source directory. If you enable libXSLT you have to enable libxml2 and its sub components zlib and iconv as well. Windows versions of libxslt, libxml2, zlib and iconv can be found here. HAVE_ICONV, ICONV_DIR If HAVE_ICONV is set to 1, the proxy is compiled with iconv support. In this configuration, set ICONV_DIR to the iconv source directory. HAVE_LIBXML2, LIBXML2_DIR If HAVE_LIBXML2 is set to 1, the proxy is compiled with XML support. In this configuration, set LIBXML2_DIR to the libxml2 source directory and ZLIB_DIR to the zlib directory. YAZ++ is not using ZLIB. But libxml2 is. When satisfied with the settings in the makefile, type nmake If the nmake 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 vcvars32.bat. You need to run it from within the command prompt or set the environment variables "globally"; otherwise it doesn't work. If you wish to recompile YAZ++ - for example if you modify settings in the makefile you can delete object files, etc by running. nmake clean The following files are generated upon successful compilation: bin/yazproxy.dll YAZ proxy DLL. lib/yazproxy.lib Import library for yazproxy.dll. bin/yazproxy.exe YAZ proxy. It's a WIN32 console application. See for more information.