This file describes the installation procedure of Sablotron. To know
more on Sablotron, please read the README file in the same directory 
as this file.


1. Intro
2. Building
3. Preinstalled Expat
4. Windows specials
5. Binary distributions
6. Environment
7. More info


1. Intro
========================================

Sablotron is based on an excellent XML parser - Expat. Since the
version 0.41 the Expat sources are _NOT_ included in the Sablotron
distribution, but you may download the Expat sources compatible with
Sablotron from our site (www.gingerall.com). The Expat source package
contains only unchanged parser sources in the `distribution'
directory. If you want to upgrade Sablotron to a new version (newer
than 0.41), there is no need to download Expat again. If the Expat
libraries (libxmlparse.so and libxmltok.so) are not installed in your
system yet, extract the Expat source package and copy the Expat
directory into the Sablot-x.xx directory before building.

Unfortunately due the change of the build process, you need new
version of Expat (Sablot-Expat-1.1.2) for Sablotron version of 0.43
and higher.

2. Building (sources)
========================================

If you have downloaded the binary distribution, you can skip reading this
section and go to the Environment section.

Sablotron compiles on the following platforms:

- Linux (tested on RH 6.1, gcc 2.95.2)
- Windows NT (tested on NT 4.0 + SP 5, VC++ 4.2)
- Solaris (tested on Solaris 2.5.1, 2.6, 7, gcc 2.91.57)
- FreeBSD (tested on FreeBSD 3.4)

If you need any other port, please contact us.

We use GNU autoconf since the version 0.41. So the following steps 
should work on any UNIX platform:

  ./configure
  make
  make install (may require the root privileges)

Of course, we're not able to test it on all Unix machines, so if you
meet any problem, fell free to contact us.

Under Win32, you need to type

  nmake -f Makefile.nt


3. Preinstalled Expat
========================================

This version of the build process on all Unix platforms respects the 
presence of Expat sources. If you have installed Sablotron and Expat in 
the past (with `make install'), the configure script writes makefiles, so 
they link Expat from your system directories (the sources win, if present).

If you have installed Expat in some non-system directories in the
past, configure script won't find headers, and build process will
fail, even if you specify include path with --includedir switch. To
fix this problem, set CPLUS_INCLUDE_PATH environment variable to point
to Expat headers.


4. Windows specials
========================================

Installation:
The NT makefile doesn't support installation process. So it is your
business to copy executable files somewhere on you path, or set up the
environment variables properly. 

This is true also for LIB and INCLUDE environment, if want to link
Sablotron with previously installed Expat. In this case you need
extract the Sablotron sources always into the same folder (or modify
the makefile).


5. Binary distributions
========================================

In the time of writing, a binaries are available for Linux Intel
platforms, for Win32 platforms and for Solaris.

In all cases, you have to copy files into appropriate locations
manually. We're sorry for this inconvenience. Some form of setup should
be solved in the near future.


6. Environment
========================================

Unix platforms: 
---------------
No environment changes are needed (finally!). That's,
of course, true only if you've used standard 'make install'
procedure. 

List of environment variables, you may possibly need modify:

LD_LIBRARY_PATH: add lib directory to this variable, if sabcmd reports
"Can't load shared library libsablot.0.xx" or such thing.

CPLUS_INCLUDE_DIR: is needed if you didn't install Sablotron (and
mainly Expat) into system directories and you're going compile new
version against older version of Expat. (see "Preinstalled Expat")


NT: 
---
You need include the bin directory into your path. If you'd like
to link Sablotron with a previously installed Expat, you need set the 
INCLUDE and LIB variables for your compiler.


7. More info
========================================

We suppose you have read the README file. If you haven't, read it now.
If it is not enough, take a look at our website:

http://www.gingerall.com


Enjoy Sablotron!!

GA





