
                     Ragel State Machine Compiler -- README
                     ======================================

1. Build Requirements
---------------------

 * GNU Make
 * Flex 
 * Bison (not bison++, see below)

To build the user guide the following extra programs are needed:

 * fig2dev
 * docbook2tex
 * jadetex
 * dvips
 * ps2pdf


2. Compilation
--------------

To configure type './configure'. The makefiles honour the --prefix option to
specify where the program is to be installed to.

To build the ragel program type 'make'.

To build all the documentation cd to 'doc' and type 'make'. If you don't have
all of the programs to build the user guide and just want the man page use
'make ragel.1'.


3. Installing
-------------

The command 'make install' will build and install the program to $PREFIX/bin/.
A 'make install' in the doc directory will make and install all the
documentation.  The man page installs to $PREFIX/man/man1/ and the user guide
and ChangeLog install to $PREFIX/share/doc/ragel/. To install just the man page
use 'make man-install'.


4. Known to Compile on
----------------------

 * Debian GNU/Linux 2.2, gcc 2.95.2
 * Redhat 7.1, gcc 2.96
 * Solaris 5.6, gcc 2.95.2
 * Solaris 5.8, SUNWspro 6 (auto dependencies don't work, take them out)


5. Why Ragel is not buildable with Bison++
------------------------------------------
Ragel is written in C++ using a C-style parser. Bison++ sees that we
are using a C++ compiler and generates classes. As of this writing,
this can't be stopped. In essence, Bison++ is only compatible
with Bison if you are using pure C.
