Note: these instructions refer to an older release of Frama-C; for the latest stable release, click here
Installation instructions for Frama-C Helium (released on 2008-07-01)
Assuming OCaml (and the LablGtk2 bindings for the GUI) are installed, the following commands should be enough to compile Frama-C:
tar zxvf frama-c-Helium-20080701.tar.gz cd frama-c-Helium-20080701 ./configure make make install
The binaries frama-c (and frama-c-gui if you have LablGtk2) are installed in /usr/local/bin. See below for more detailed instructions.
Requirements
The following environments have been verified to compile Frama-C as soon as proper OCaml and LablGTK version are installed:
- Ubuntu Linux 7.10 and 8.04 (x86 and AMD64)
- Windows XP x86 with the Mingw version of ocaml
- MacOS X 5.2 on Intel and PowerPC
Other distributions may also be able to compile Frama-C provided they have the following tools:
- GNU make version 3.81
- Objective Caml 3.10.2 (other versions of OCaml are not supported)
- LablGtk2 2.10.1 (gtksourceview must be installed and have been detected by lablgtk's configure).
You may use Godi to install Frama-C and the appropriate Ocaml and LablGtk versions.
Ocamlgraph and the Why platform are included in this distribution. Note that the Why platform is installed together with Frama-C (if the jessie plug-in is enabled), and might overwrite an existing why installation. The Why version prior to 2.13 included are not compatible with Frama-C.
Configuration
Frama-C is configured by ./configure [options]
The configure file is generated by autoconf, so that the standard options for setting installation directories are available, in particular --prefix=/path. A plugin can be enabled by --enable-plugin and disabled by --disable-plugin. By default, all distributed plugins are enabled. See ./configure --help for the current list of plugins. Those who defaults to 'no' are not part of the Frama-C distribution (usually because they are currently too experimental to be released).
If you have a compatible Why platform version (> 2.13) installed, using ./configure --with-why-dir=no
will not overwrite your Why platform installation.
Compilation
make
Interesting Makefile targets are:
- doc: generates the API documentation
- ptests: generates the executable that takes care of running Frama-C's tests
- oracles: set up the tests oracle of Frama-C test suite for your own configuration.
- tests: performs Frama-C's tests (use it after oracles)
Installation
make install
Depending on the installation directory, this may require superuser privileges. This installs the following binary files:
- frama-c
- frama-c-gui if available
- frama-c.byte (bytecode version of frama-c)
Shared files are installed into the directory share/frama-c. It contains some .h files used as prelude by Frama-C.
As stated above, the Why platform is installed if you have enabled the jessie plug-in.