Coccinelle release 1.0.0-rc1
[bpt/coccinelle.git] / install.txt
dissimilarity index 71%
index f7b736a..d42adee 100644 (file)
-You must first install a recent version of 
- - OCaml (at least 3.09.2), 
-   see http://caml.inria.fr/download.en.html
- - the Menhir parser generator (at least 20080912),
-   see http://cristal.inria.fr/~fpottier/menhir/
-   (unless you got a version of the coccinelle source with
-   the SmPL parser pre-generated)
- - Python and its development files (python-dev)
-   (unless you run configure with the --without-python option)
- - pdftk and graphviz (with PDF support) if you want to use
-   the -graphical_trace option   
-
-Then simply type 
- ./configure
- make depend
- make
- make install
-
-
-
-
-
-'make' will compile the bytecode version by default.
-You could use 'make all.opt' to have the optimized version.
-If you compile both, 'make install' will take care of that
-and install both, spatch and spatch.opt.
-If you use only one of them, 'make install' will install
-the one you have compiled, either spatch ou spatch.opt,
-under the front-end spatch. You could use 'make world' to
-compile the bytecode and the optimized code version.
-
-We provide the files generated by menhir in the tarball.
-However, 'make distclean' will remove them. You could
-either restore them from the tarball or install menhir.
-Using 'make clean' should be safe with regards to these files.
+
+ ** Compilation **
+
+You must first install a recent version of
+ - OCaml (at least 3.09.2),
+   see http://caml.inria.fr/download.en.html
+   At least, OCaml 3.11 is required to use the OCaml scripting
+   feature in the SmPL code.
+ - The Menhir parser generator (at least 20080912),
+   see http://cristal.inria.fr/~fpottier/menhir/
+   (unless you got a version of the coccinelle source with
+   the SmPL parser pre-generated)
+ - Python and its development files (python-dev)
+   (unless you run configure with the --without-python option)
+
+On Debian/Ubuntu, install the following packages
+ - ocaml-native-compilers (or alternatively ocaml) 
+ - ocaml-findlib
+ - libpycaml-ocaml-dev
+ - libsexplib-camlp4-dev
+ - menhir and libmenhir-ocaml-dev
+
+On Fedora, install the following packages
+ - ocaml
+ - ocaml-findlib
+ - ocaml-sexplib-devel
+
+Note that on Fedora, there is currently not
+package for menhir and pycaml.
+
+Then simply type
+ ./configure
+ make depend
+ make
+ make install
+
+
+
+
+
+'make' will compile the bytecode version by default.  You could use
+'make all.opt' to have the optimized version.  If you compile both,
+'make install' will take care of that and install both, spatch and
+spatch.opt.  If you use only one of them, 'make install' will install
+the one you have compiled, either spatch ou spatch.opt, under the
+front-end spatch. You could use 'make world' to compile the bytecode
+and the optimized code version.
+
+We provide the files generated by menhir in the tarball.  However,
+'make distclean' will remove them. You could either restore them from
+the tarball or install menhir.  Using 'make clean' should be safe with
+regards to these files.
+
+Note: The test target is intended for developers. In particular, you
+      should not expect that every test will pass.
+
+
+ In order to use the OCaml scripting feature in SmPL, you must compile
+Coccinelle with at least OCaml version 3.11.
+
+
+
+ ** Bash integration **
+
+ To have completion under Bash, you can execute the following command:
+
+    make install-bash
+
+ It will install the shell script 'scripts/spatch.bash_completion'
+ in /etc/bash_completion.d/spatch
+
+ You can manually copy that file elsewhere if you have a different
+ bash_completion directory.
+
+
+
+ ** Runtime dependencies **
+
+ - Basic shell commands:
+   - ls, cat, cp, mv, rm, grep, mkdir, find
+ - Developper tool: diff
+
+
+ ** Optional runtime dependencies **
+
+ - To quickly apply the semantic patches
+   - glimpse indexer
+
+ - To use OCaml scripting feature in SmPL
+   - ocaml-native-compilers or ocaml-nox
+   - ocaml-findlib
+
+ - To generate a PDF of the control flow graph with '-graphical_trace'
+   - pdftk and graphviz (with PDF support)
+
+
+
+ ** Dependencies for additional tools **
+
+    git, pushd, popd, sed, diffstat, cpp
+
+ ** Uninstall **
+
+    To uninstall Coccinelle, you should use the following command
+
+    make uninstall
+
+
+    To also remove the bash completion script, run
+
+    make uninstall-bash