The BT library is distributed as a tar file, which contains
a set of C source and header files, a
Makefile
and a set of testcases.
First, unpack the tar file into a convenient directory. cd to
the directory containing the source files and issue the command
make clean;make. This will compile each BT
library file, and create the UNIX static library
libbt.a
in the lib
sub-directory. make will also built the BT
test harness bt, a utility,
kcp, which performs intelligent copies of BT
index files, a BTree index recovery tool btr
and two additional testing utilities, bigt
and bigtdel, for large file handling.
The default BT library build will create a 32-bit version, in which the maximum size of the index file is 2GiB. A version of BT with Large File Support can be built with the command make clean;make LFS=1.
When compiling programs against a LFS version of BT, if you need to manipulate the BTint value associated with a key, ensure you set the compile-time flag _FILE_OFFSET_BITS=64, e.g:
$ gcc -o yak yak.c -Iinc -Llib -lbt -D_FILE_OFFSET_BITS=64
This is not necessary if you are just using the in-built data
record functions (btsel
etc).
In order to test the newly created BT library, you can use the
bt test harness for ad-hoc testing.
Alternatively, the Makefile
provides a
means of automated testing. make test_run
will run a set of testcases, held in the
Testcases
sub-directory. These testcases
use bt scripts to test key components of the
BT library, comparing the results against known, good, output
templates. The output templates distributed with BT should
suffice for most standard Linux and FreeBSD builds.