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.
The YAZ proxy has never been used in production on Windows. Although it compiles and runs, doesn't mean it scale on that platform. Furthermore the YAZ proxy currently doesn't run as a Service - only as a Console application.
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).
YAZ_DIR
This must be set to the home of the YAZ source directory.
YAZPP_DIR
This must be set to the home of the YAZ++ source directory.
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.