################################################# # # # Heptagon/BZR : compilation and installation # # # ################################################# Required tools -------------- The use of the Heptagon compiler by itself does not require any additional tools. However, the usual use involves a compiler for the generated code (e.g., gcc for C generated code, or javac for Java). The tools below are optional or are related to some subparts of Heptagon: - The graphical display tool sim2chro can be obtained from Verimag [1]. It can be used together with the graphical simulator hepts. - Alternatively to sim2chro, the GTKWave [2] wave/chronograms viewer can be used with hepts. - The Sigali tool [3] for model-checking and discrete controller synthesis is mandatory for the use of contracts. Sigali can be downloaded on the BZR website : http://bzr.inria.fr. Compilation and installation ---------------------------- * Required libraries and tools for the compilation The compilation of the Heptagon compiler requires: - OCaml [4] (version >= 3.11), and the ocamlbuild and ocamlfind tools - the Menhir [5] parser generator - the ocamlgraph [6] library. The compilation of the Heptagon simulator (optional) requires the LablGTK2 [7] library. * Compilation Once the compiler is downloaded and untarred, go into the heptagon/ directory and type : $ ./configure && make This command will build the compiler, optionally the simulator (if the LablGTK2 library is found), and the standard library. * Installation After the compilation, or the download and untar of the binary distribution, go into the heptagon/ directory and type : $ make install By default, this will install the binaries (heptc and hepts) into /usr/local/bin and the standard library into /usr/local/lib. Consider the configure script options (./configure --help) for other specific needs. URLs ---- [1] sim2chro : http://www-verimag.imag.fr/DIST-TOOLS/SYNCHRONE/lustre-v4/distrib/ [2] GTKWave : http://gtkwave.sourceforge.net [3] Sigali : http://www.irisa.fr/vertecs/Logiciels/sigali.html [4] OCaml : http://caml.inria.fr [5] Menhir : http://gallium.inria.fr/~fpottier/menhir/ [6] ocamlgraph : http://ocamlgraph.lri.fr [7] LablGTK2 : http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/lablgtk.html