opam-version: "2.0"
maintainer: "francois.bobot@cea.fr"
authors: [
  "Patrick Baudin"
  "François Bobot"
  "Richard Bonichon"
  "Loïc Correnson"
  "Pascal Cuoq"
  "Zaynah Dargaye"
  "Jean-Christophe Filliâtre"
  "Philippe Herrmann"
  "Florent Kirchner"
  "Matthieu Lemerre"
  "Claude Marché"
  "Benjamin Monate"
  "Yannick Moy"
  "Anne Pacalet"
  "Virgile Prevosto"
  "Julien Signoles"
  "Boris Yakobowski"
]
homepage: "http://frama-c.com/"
license: "LGPL-2.1-only"
dev-repo: "git+https://github.com/Frama-C/Frama-C-snapshot.git"
doc: ["http://frama-c.com/download/user-manual-Sodium-20150201.pdf"]
bug-reports: "https://bts.frama-c.com/"
tags: [
  "deductive"
  "program verification"
  "formal specification"
  "automated theorem prover"
  "interactive theorem prover"
  "C"
  "plugins"
  "abstract interpretation"
  "slicing"
  "weakest precondition"
  "ACSL"
  "dataflow analysis"
]

build: [
  [
    "./configure"
    "--prefix"
    prefix
    "--disable-gui"
      {!conf-gtksourceview:installed | !conf-gnomecanvas:installed}
  ]
  [make]
  [make "-C" "doc" "download"] {with-doc}
]
install: [
  [make "install"]
  [make "-C" "doc" "FRAMAC_DOCDIR=%{frama-c:doc}%" "install"] {with-doc}
]
remove: [
  ["./configure" "--prefix" prefix "--disable-local-ocamlgraph"
                 "--disable-gui" { !conf-gtksourceview:installed | !conf-gnomecanvas:installed }
]
  [make "uninstall"]
  ["rm" "-rf" frama-c:doc]
]

depends: [
  "ocaml" {>= "4.0" & != "4.02.0" & < "4.04.0"}
  "ocamlgraph" {= "1.8.5" | = "1.8.6"}
  "ocamlfind"
  "num"
]
depopts: [
  "zarith"
  "lablgtk"
  "conf-gtksourceview"
  "conf-gnomecanvas"
  "coq" { build }
]


conflicts: [
  "why3" { < "0.85" }
  "lablgtk" { < "2.18.2" } #for ocaml >= 4.02.1
]

synopsis:
  "Platform dedicated to the static analysis of source code written in C"
description: """
Frama-C is a suite of tools dedicated to the analysis of the source
code of software written in C. Sodium version.

Frama-C gathers several static analysis techniques in a single
collaborative framework. The collaborative approach of Frama-C allows
static analyzers to build upon the results already computed by other
analyzers in the framework. Thanks to this approach, Frama-C provides
sophisticated tools, such as a slicer and dependency analysis.

This package depends on the minimal number of dependencies (look for
frama-c for a more complete set of dependencies)."""
url {
  src: "http://frama-c.com/download/frama-c-Sodium-20150201.tar.gz"
  checksum: "md5=7719bccdd319523da508e818e8e34fee"
}
