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. To get more info on installing on *Windows*, please read the INSTALL_WIN file. For specific information on how to build Sablotron with JavaScript engine (to enable extensions) see the README_JS file. 1. Intro 2. Building 3. Preinstalled Expat 4. Binary distributions 5. Environment 6. Documentation 7. More info 1. Intro ======================================== Sablotron is based on Expat XML parser. There is a significant change of how Expat is used since version 0.50. Sablotron _never_ looks for Expat under its own source tree, but it supposes, that you have installed Expat library (1.95.1 or later) in your system. To get Expat, visit http://sourceforge.net/projects/expat/ and download/install source/binary package. Sablotron should be able to find and link older expat libraries (libxmlparse, libxmltok), but this feature is not tested and is deprecated. 2. Building (sources) ======================================== If you have downloaded the binary distribution, you can skip reading this section and go to the Environment section. Sablotron compiles e.g. on the following platforms: - Linux (RH 5.2 - 7.0, gcc 2.95.2 or later) - Windows (NT 4.0, 9x, 2000, VC++ 4.2/6.0) - Solaris (Solaris 2.5.1, 2.6, 7, gcc 2.91.57) - FreeBSD (FreeBSD 3.4, 4.1) - OpenBSD (OpenBSD 2.8 beta) - HP-UX - Irix - MacOS X 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) These switches can be passed to ./configure --enable-javascript enables JS extension functions --enable-perlconnect required when installed with Charlie application framework --enable-debugger enables XSLT debugger --with-readline links the debugger with the readline library to make its command-line interface more comfortable (SABLOT_GPL=1 must be exported) These are some other useful switches you may want to pass to the configure script: --help display all switches available --prefix='path where to install' specifies the installation path (/usr/local on most systems) --enable-warnings force compilation with the -Wall switch (for curious people) --disable-adding-meta disables adding of the META tag (html output method) --disable-static static library is not created to make compilation faster 3. Preinstalled Expat ======================================== This chapter is obsolete, but may contain some useful info for people running older configuration. 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. Binary distributions ======================================== Binaries are available for Linux Intel (rpm) and Windows32. 5. Environment ======================================== No environment changes are needed (finally!). That's, of course, true only if you've used standard 'make install' procedure. The list of environment variables, you may possibly need modify: LIBRARY_PATH: set this variable to the directory, where the Expat XML parser is installed. Do it in the case the configure/linker couldn't find the expat libraries. 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_PATH: 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") On some systems (UnixWare, NetBSD...) the compiler is unable to find headers in /usr/local/include. Consequently the 'configure' script doesn't find the expat header and compilation fails. To avoid this problem, set CPPFLAGS environment to '-I/usr/local/include'. CPLUS_INCLUDE_PATH is not enough. If want to link Sablotron with GNU readline library you need set SABLOT_GPL environment variable to 1 to declare you are going to use this software under the GPL. 6. Documentation ======================================== The source package contains XML sources of three guides: Sablotron Guide and Reference Sablotron Extensions API Reference SXP Reference These guides are translated to HTML during the building of the package. By default, you can find the HTML guides in $(distdir)/doc/apidoc/[sablot|jsdom-ref|sxp] and $(datadir)/doc/html/[sablot|jsdom-ref|sxp] directories. The building of documentation requires Perl and XML::Parser to be installed; otherwise the building is skipped. 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.org Enjoy Sablotron!! GA