git-svn-id: https://svn.code.sf.net/p/flaim/code/trunk@1077 0109f412-320b-0410-ab79-c3e0c5ffbbe6
130 lines
4.4 KiB
Plaintext
130 lines
4.4 KiB
Plaintext
FLAIM 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 FLAIM?
|
|
2. Building FLAIM
|
|
3. Installing FLAIM
|
|
|
|
What is FLAIM?
|
|
--------------
|
|
|
|
FLAIM is an acronym that stands for FLexible Adaptable Information
|
|
Management. The FLAIM library provides a very fast and easy to use
|
|
embedded DBMS system, which can be linked statically or dynamically
|
|
into your application.
|
|
|
|
The FLAIM library forms the basis for two very successful commercial
|
|
products:
|
|
|
|
1. Novell eDirectory - a powerful LDAP compliant directory
|
|
2. Novell GroupWise - a world-class email and calendaring solution
|
|
|
|
Besides these commercial offerings, FLAIM has been used successfully in
|
|
several smaller Novell projects, including Novell's open source iFolder
|
|
project.
|
|
|
|
The FLAIM package provides source code for the FLAIM libraries in the "src"
|
|
directory, and several useful utilities in the "util" directory:
|
|
|
|
1. flmdbcheck - checks the integrity of a flaim database and indices
|
|
2. flmrebuild - rebuilds flaim database index files
|
|
3. flmview - view the contents of a flaim database
|
|
4. flmdbshell - perform DB operations from a shell-like command prompt
|
|
5. flmgigatest - load a FLAIM database with _billions_ of entries
|
|
|
|
These utilities have been used by Novell engineers to test the features of
|
|
FLAIM and the integrity of FLAIM databases for both eDirectory and GroupWise.
|
|
|
|
Additionally, the "util" directory supplies a unit test for the FLAIM library
|
|
called "ut_basictest", which is built and executed during "make check".
|
|
|
|
Building FLAIM
|
|
--------------
|
|
|
|
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 FLAIM 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 FLAIM 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 FLAIM 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
|
|
|
|
FLAIM depends on the FLAIM tool kit (ftk) library, which is another sub-
|
|
project in the flaim-projects repository. To build FLAIM from the flaim
|
|
directory within the flaim-projects hierarchy, or from an flaim tarball,
|
|
you will need to do one of three things to make the FLAIM tool kit available
|
|
to the FLAIM build system:
|
|
|
|
1. Install the ftk project source in a sub-directory beneath flaim.
|
|
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 FLAIM.
|
|
|
|
If you choose the third option, the FLAIM build system will automatically
|
|
locate and use the libflaimtk.la and flaimtk.h files on your system.
|
|
|
|
Installing FLAIM
|
|
----------------
|
|
|
|
To install FLAIM libraries and header files, you may type the following
|
|
command after building FLAIM:
|
|
|
|
$ sudo make install
|
|
|
|
The default prefix for the FLAIM 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!
|
|
|