treedb is designed from the beginning to be able to manipulate arbitrary
structures in memory while that memory is backed by a real file using mmap.
In other words a really low level network database.
See the pathfinders Andromeda, Cartwheel and Comet for examples.
You will need GNU gcc/g++ 4.4.5 or later - earlier versions don't support
the stdcall calling convention.
I got gcc version 4.4.5 (Debian 4.4.5-8) from the Squeeze repository on Debian
(I'm using Debian Lenny amd64), but I don't know how to get the equivalent
in Ubuntu 10.04 LTS (Lucid).
gcc/g++ 4.5.1 also works.
treedb (you are here)
|-build (everything created goes here, as far as the tools will allow)
\-v3c (the source)
This is a sub-project of v3c so you'll need that for the build framework and
some header files.
If you run
the build system will compile and distcheck v3c/treedb before creating a .tar.gz
This tar ball is then used by the build system to build the debian packages.
You will need a gpg public/private key pair if you want to to sign these
packages - more info can be found in the "maint-guide" debian package.
I've cobbled together a doxygen "documentation chain" so that other projects can
layer their doxygen documentation on top of their provider packages easily.
Then to install the documentation
make doxygen-doc && sudo make install-doxygen-doc
You'll need graphviz and mscgen for the doxygen diagrams.
On debian this is accomplished with
apt-get install doxygen graphviz mscgen
Please note that I also got mscgen from Debian Squeeze.
v3c provides basic build functionality used by treedb.
Once v3c is installed, treedb can use the v3c "build boilerplate" as follows
As automake doesn't know how to include/reference "external" automake files,
these are linked from those that v3c installs.
doxygen.am -> $(prefix)/include/v3c/doxygen.am
$(prefix)/include/v3c/v3c.mak and $(prefix)/include/v3c/v3c_mak.sh are used
through the "make" path. Why can't regular paths work that way?
All feedback should be through this projects support web page
I've added a help, open discussion and a mantis bug tracker there.
Finally, do send me an email to let me know what your thoughts are on