FLAIMSQL README file
====================

NOTE: This README file covers platform-independant, and GNU/Linux and
Unix specific information. For information on building and installing
on Windows platforms, please see the README.W32 file.

Contents
--------
1. What is FLAIMSQL?
2. Building FLAIMSQL
3. Installing FLAIMSQL

What is FLAIMSQL?
-----------------

FLAIMSQL is an acronym that stands for FLexible Adaptable Information 
Management - SQL. The FLAIMSQL library provides a very fast and easy to 
use embedded SQL DBMS system, which can be linked statically or
dynamically into your application.

The FLAIMSQL library is currently experimental, and not even completely
implemented. We're soliciting help in finishing FLAIMSQL, because we
believe that an SQL DBMS built on top of FLAIM technology would provide
a "screaming fast" SQL library.

The FLAIMSQL package provides source code for the FLAIMSQL libraries in 
the "src" directory.

Building FLAIMSQL
-----------------

IMPORTANT: You must have installed Autoconf version 2.62, Automake version 
1.10 and Libtool version 2.2. These are the latest versions of these three
tools, as of this writing (July 2, 2008).

Building FLAIMSQL on Unix and Linux systems is as simple as with any other
Autotools-based project. If you're building from an SVN working directory,
enter the following command first, immediately after a clean check-out:

  $ autoreconf -i

This command will generate a configure script and Makefile.in templates. 
If you find yourself modifying the FLAIMSQL build system (eg., configure.ac
and Makefile.am files), then you may omit the "-i" option in later 
executions of the autoreconf utility. 

If you're building from a tarball, you may skip the "autoreconf" step above
and move right to the following steps:

  $ ./configure
  $ make all check 

The FLAIMSQL build system provides all the default functionality provided by 
any Autotools build system, including VPATH build support. To build from 
outside the source directory, enter the following commands (for example):

  $ mkdir build
  $ cd build
  $ ../configure
  $ make all check
 
FLAIMSQL depends on the FLAIM tool kit (ftk) library, which is another sub-
project in the flaim-projects repository. To build FLAIMSQL from the sql
directory within the flaim-projects hierarchy, or from a flaimsql tarball,
you will need to do one of three things to make the FLAIM tool kit available
to the FLAIMSQL build system:

  1. Install the ftk project source in a sub-directory beneath sql.
  2. Build ftk separately and provide FTKLIB & FTKINC variables to configure.
  3. Install the ftk project libraries and header files on your build host.

Either one of these solutions will work fine. Building ftk as a sub-project
will provide more flexibility, but will cause the build to take longer as you
are effectively building the FLAIM tool kit along with FLAIMSQL.

If you choose the third option, the FLAIMSQL build system will automatically
locate and use the libflaimtk.la and flaimtk.h files on your system.
 
Installing FLAIMSQL
-------------------

To install FLAIMSQL libraries and header files, you may type the following 
command after building FLAIMSQL:

  $ sudo make install

The default prefix for the FLAIMSQL Autotools build system is "/usr/local".
If you wish to install in a different location, then use either one of the
following commands:

  $ ./configure PREFIX=/usr
  $ make all check
  $ sudo make install

or 

  $ ./configure
  $ make prefix=/usr 
  $ sudo make prefix=/usr install

If you have questions or feedback, please send mail to one of the two user-
writeable flaim mailing lists:

  1. flaim-users@forge.novell.com
  2. flaim-devel@forge.novell.com

The flaim-announce list may be subscribed to for occasional notifications of
updates to the FLAIM projects.

Enjoy!

