author | Mahlon E. Smith <mahlon@martini.nu> |
Sun, 23 Oct 2011 22:59:59 -0700 | |
changeset 12 | 191b3c25974a |
parent 11 | 9aa5114326e8 |
child 14 | 51eb85ae4de4 |
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 |
|
11
9aa5114326e8
Carry the amalgamated sqlite3 around with volta, rather than requiring
Mahlon E. Smith <mahlon@martini.nu>
parents:
8
diff
changeset
|
5 |
Volta should build with minimal effort and without external dependencies, except for |
9aa5114326e8
Carry the amalgamated sqlite3 around with volta, rather than requiring
Mahlon E. Smith <mahlon@martini.nu>
parents:
8
diff
changeset
|
6 |
GNU make. (http://www.gnu.org/software/make/) |
8
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 |
Compiling |
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 |
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
|
13 |
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
|
14 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
15 |
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
|
16 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
17 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
18 |
Installation |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
19 |
------------ |
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 |
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
|
22 |
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
|
23 |
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
|
24 |
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
|
25 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
26 |
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
|
27 |
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
|
28 |
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
|
29 |
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
|
30 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
31 |
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
|
32 |
from there. |
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 |
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
|
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 |
Development |
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 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
|
41 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
42 |
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
|
43 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
44 |
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
|
45 |
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
|
46 |
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
|
47 |
|
11
9aa5114326e8
Carry the amalgamated sqlite3 around with volta, rather than requiring
Mahlon E. Smith <mahlon@martini.nu>
parents:
8
diff
changeset
|
48 |
If you're hacking, you'll want these dependencies installed too. |
9aa5114326e8
Carry the amalgamated sqlite3 around with volta, rather than requiring
Mahlon E. Smith <mahlon@martini.nu>
parents:
8
diff
changeset
|
49 |
|
9aa5114326e8
Carry the amalgamated sqlite3 around with volta, rather than requiring
Mahlon E. Smith <mahlon@martini.nu>
parents:
8
diff
changeset
|
50 |
- ragel (http://www.complang.org/ragel/) |
9aa5114326e8
Carry the amalgamated sqlite3 around with volta, rather than requiring
Mahlon E. Smith <mahlon@martini.nu>
parents:
8
diff
changeset
|
51 |
- mercurial (http://mercurial.selenic.com/) |
9aa5114326e8
Carry the amalgamated sqlite3 around with volta, rather than requiring
Mahlon E. Smith <mahlon@martini.nu>
parents:
8
diff
changeset
|
52 |
- google-perftools (http://code.google.com/p/google-perftools/) |
9aa5114326e8
Carry the amalgamated sqlite3 around with volta, rather than requiring
Mahlon E. Smith <mahlon@martini.nu>
parents:
8
diff
changeset
|
53 |
- graphviz (http://www.graphviz.org/) |
9aa5114326e8
Carry the amalgamated sqlite3 around with volta, rather than requiring
Mahlon E. Smith <mahlon@martini.nu>
parents:
8
diff
changeset
|
54 |
- ctags (http://ctags.sourceforge.net/) |
9aa5114326e8
Carry the amalgamated sqlite3 around with volta, rather than requiring
Mahlon E. Smith <mahlon@martini.nu>
parents:
8
diff
changeset
|
55 |