Carry the amalgamated sqlite3 around with volta, rather than requiring
it to be installed on the system -- making volta a zero dependency
compile. Add some more Makefile hacks to get things consistently
building across OSX, FreeBSD, and Ubuntu. (There may be more later, but
I'll deal with those then.)
Building volta
===============
Volta should build with minimal effort and without external dependencies, except for
GNU make. (http://www.gnu.org/software/make/)
Compiling
---------
Just type 'make'. Depending on your platform, GNU make may have been
installed as 'gmake' If you get any errors, try 'gmake' first.
It should build without warnings.
Installation
------------
Volta doesn't contain any installation targets. You can put the binary
wherever makes sense on your system. Note that it should be in a
directory that is writable to Squid, unless you plan to store the
database separately. An example:
mv volta /usr/local/bin
mkdir -p /var/db/squid
chown squid:squid /var/db/squid
volta -f /var/db/squid/volta.db
I usually just drop it into the squid configuration directory and run it
from there.
For usage information, see the README.
Development
-----------
Volta source can be cloned via Mercurial. The repo is found at:
http://code.martini.nu/volta
You can use the 'debug' make target to compile a (very noisy) binary
that contains gdb symbols and perftool hooks. Set the CPUPROFILE
environment variable to "cpu.prof" to generate a profile.
If you're hacking, you'll want these dependencies installed too.
- ragel (http://www.complang.org/ragel/)
- mercurial (http://mercurial.selenic.com/)
- google-perftools (http://code.google.com/p/google-perftools/)
- graphviz (http://www.graphviz.org/)
- ctags (http://ctags.sourceforge.net/)