# This file is part of the APRON Library, released under LGPL license, except # files requiring the PPL library (in ppl and products subdirectories) # Please read the COPYING file packaged in the distribution NOTE: If you do not already have MLGMPIDL, you can use the apron-dist directory in SVN repository. The developpers are using INTEL/linux machines. Look at README.windows and README.mac for additional specific informations. PREREQUISITES ------------- - C API (required) * GCC * GMP 5.x.y and MPFR 3.x.y or up * Optionally, * PPL library (PARMA Polyhedra library, http://www.cs.unipr.it/ppl/) - patch to apply before compiling it (see ./ppl/README) - GMPXX (GMP compiled with configuration option --enable-cxx) - OCaml API (optional) * MLGMPIDL (http://www.inrialpes.fr/pop-art/people/bjeannet/mlxxxidl-forge/mlgmpidl, SVN: svn://scm.gforge.inria.fr/svn/mlxxxidl/mlgmpidl/) * OCaml 3.11 or up (http://www.caml.org) * CamlIDL 1.05 (http://caml.inria.fr/camlidl) * GNU sed 4.1 or up, GNU m4 (not necessary if you download an archive, but strongly recommended) - C++ API (optional) * GCC 4.1.2 or up - Documentation (optional) * latex, dvipdf, makeinfo, texi2html, texi2dvi CONFIGURATION and COMPILATION ----------------------------- 1. Copy Makefile.config.model into Makefile.config and edit the _PREFIX paths to suit your installation (you might want to set APRON_PREFIX, MLGMPIDL_PREFIX, CAMLIDL_PREFIX and CAML_PREFIX to some of your directory instead of the default /tmp). 2. If you download via subversion repository, and you want the OCaml API: 'make rebuild' 3. 'make' 'make install' 4. Other targets: make c (C and possibly C++ version) make ml (OCaml stuff) make doc (not useful for a normal user) make clean (clean things, with the exception of generated files) make mostlyclean (clean all it can clean, implies clean) make rebuild (rebuild generated files, mainly for OCaml interface) make distclean (clean the distribution directories) make install (installs in directories specified in Makefile.config) ORGANISATION IN DIRECTORIES --------------------------- The main directory contain the following subpackages of the APRON project: apron: apron interface, C version apronxx: apron interface, C++ version (compiled if HAS_CPP defined) mlapronidl: apron interface, OCaml version (compiled if HAS_OCAML defined) box: interval library octagons: octagon library newpolka: convex polyhedra and linear equalities library ppl: wrapper to call the Parma Polyhedra Library from APRON under GPL (instead of LGPL) license. (compiled if HAS_PPL defined) products: - reduced product of NewPolka convex polyhedra and PPL linear congruences (compiled if HAS_PPL defined) examples: some examples (C and OCaml) tests: some (manual) tests mlgmpidl: OCaml interface for the GMP and MPFR libraries, used by mlapronidl. (compiled if HAS_OCAML defined) num: manipulating "generic" numbers (used by intervals, newpolka, octagons, linearisation, etc...). itv: built on top of num: intervals, interval linear expressions and constraints, linearisation