author | Mahlon E. Smith <mahlon@martini.nu> |
Wed, 28 Sep 2011 09:04:16 -0700 | |
changeset 8 | 8d0f25ef038e |
child 11 | 9aa5114326e8 |
permissions | -rw-r--r-- |
8
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
1 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
2 |
Building volta |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
3 |
=============== |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
4 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
5 |
Volta should build with minimal effort. First, make sure you have |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
6 |
dependencies installed. |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
7 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
8 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
9 |
Dependencies |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
10 |
------------ |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
11 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
12 |
Currently, volta requires the following to compile: |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
13 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
14 |
Regular dependencies: |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
15 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
16 |
- GNU make (http://www.gnu.org/software/make/) |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
17 |
- sqlite3 (http://www.sqlite.org/) |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
18 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
19 |
Development dependencies (optional): |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
20 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
21 |
- ragel (http://www.complang.org/ragel/) |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
22 |
- mercurial (http://mercurial.selenic.com/) |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
23 |
- google-perftools (http://code.google.com/p/google-perftools/) |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
24 |
- graphviz (http://www.graphviz.org/) |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
25 |
- ctags (http://ctags.sourceforge.net/) |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
26 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
27 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
28 |
Compiling |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
29 |
--------- |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
30 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
31 |
Just type 'make'. Depending on your platform, GNU make may have been |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
32 |
installed as 'gmake' If you get any errors, try 'gmake' first. |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
33 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
34 |
It should build without warnings. |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
35 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
36 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
37 |
Installation |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
38 |
------------ |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
39 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
40 |
Volta doesn't contain any installation targets. You can put the binary |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
41 |
wherever makes sense on your system. Note that it should be in a |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
42 |
directory that is writable to Squid, unless you plan to store the |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
43 |
database separately. An example: |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
44 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
45 |
mv volta /usr/local/bin |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
46 |
mkdir -p /var/db/squid |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
47 |
chown squid:squid /var/db/squid |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
48 |
volta -f /var/db/squid/volta.db |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
49 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
50 |
I usually just drop it into the squid configuration directory and run it |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
51 |
from there. |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
52 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
53 |
For usage information, see the README. |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
54 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
55 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
56 |
Development |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
57 |
----------- |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
58 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
59 |
Volta source can be cloned via Mercurial. The repo is found at: |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
60 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
61 |
http://code.martini.nu/volta |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
62 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
63 |
You can use the 'debug' make target to compile a (very noisy) binary |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
64 |
that contains gdb symbols and perftool hooks. Set the CPUPROFILE |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
65 |
environment variable to "cpu.prof" to generate a profile. |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
66 |