Release coccinelle-0.2.3rc4
[bpt/coccinelle.git] / install.txt
1
2 ** Compilation **
3
4 You must first install a recent version of
5 - OCaml (at least 3.09.2),
6 see http://caml.inria.fr/download.en.html
7 At least, OCaml 3.11 is required to use the OCaml scripting
8 feature in the SmPL code.
9 - The Menhir parser generator (at least 20080912),
10 see http://cristal.inria.fr/~fpottier/menhir/
11 (unless you got a version of the coccinelle source with
12 the SmPL parser pre-generated)
13 - Python and its development files (python-dev)
14 (unless you run configure with the --without-python option)
15
16 Then simply type
17 ./configure
18 make depend
19 make
20 make install
21
22
23
24
25
26 'make' will compile the bytecode version by default. You could use
27 'make all.opt' to have the optimized version. If you compile both,
28 'make install' will take care of that and install both, spatch and
29 spatch.opt. If you use only one of them, 'make install' will install
30 the one you have compiled, either spatch ou spatch.opt, under the
31 front-end spatch. You could use 'make world' to compile the bytecode
32 and the optimized code version.
33
34 We provide the files generated by menhir in the tarball. However,
35 'make distclean' will remove them. You could either restore them from
36 the tarball or install menhir. Using 'make clean' should be safe with
37 regards to these files.
38
39 Note: The test target is intended for developers. In particular, you
40 should not expect that every test will pass.
41
42
43 In order to use the OCaml scripting feature in SmPL, you must compile
44 Coccinelle with at least OCaml version 3.11.
45
46
47
48 ** Bash integration **
49
50 To have completion under Bash, you can execute the following command:
51
52 make install-bash
53
54 It will install the shell script 'scripts/spatch.bash_completion'
55 in /etc/bash_completion.d/spatch
56
57 You can manually copy that file elsewhere if you have a different
58 bash_completion directory.
59
60
61
62 ** Runtime dependencies **
63
64 - Basic shell commands:
65 - ls, cat, cp, mv, rm, grep, mkdir, find
66 - Developper tool: diff
67
68
69 ** Optional runtime dependencies **
70
71 - To quickly apply the semantic patches
72 - glimpse indexer
73
74 - To use OCaml scripting feature in SmPL
75 - ocaml-native-compilers or ocaml-nox
76 - ocaml-findlib
77
78 - To generate a PDF of the control flow graph with '-graphical_trace'
79 - pdftk and graphviz (with PDF support)
80
81
82
83 ** Dependencies for additional tools **
84
85 git, pushd, popd, sed, diffstat, cpp
86
87 ** Uninstall **
88
89 To uninstall Coccinelle, you should use the following command
90
91 make uninstall
92
93
94 To also remove the bash completion script, run
95
96 make uninstall-bash