diff --git a/nix/frama-c.nix b/nix/frama-c.nix index 31ecb0a1f1b3a969014fa89c00b3093d357f00f7..fa49766e55efef725e54c30bf93215d422e72d10 100644 --- a/nix/frama-c.nix +++ b/nix/frama-c.nix @@ -24,6 +24,7 @@ , mlmpfr , ocaml , ocamlgraph +, ocamlgraph_gtk , ppx_deriving , ppx_deriving_yojson , ppx_import @@ -71,6 +72,7 @@ stdenvNoCC.mkDerivation rec { mlmpfr ocaml ocamlgraph + ocamlgraph_gtk ppx_deriving ppx_deriving_yojson ppx_import diff --git a/src/plugins/aorai/dune b/src/plugins/aorai/dune index 32c897cb7ea6cf63fbd4842c6e11c36a8da14033..f58f1a489e26b9ca1311abe662e7c5cfb4bbb147 100644 --- a/src/plugins/aorai/dune +++ b/src/plugins/aorai/dune @@ -1,3 +1,13 @@ +(rule + (alias frama-c-configure) + (deps (universe)) + (action (progn + (echo "Aorai:" %{lib-available:frama-c-aorai.core} "\n") + (echo " - (optional) Eva:" %{lib-available:frama-c-eva.core} "\n") + ) + ) +) + ( library (name aorai) (public_name frama-c-aorai.core) diff --git a/src/plugins/callgraph/callgraph.mli b/src/plugins/callgraph/callgraph.mli index 6cb4ac6abb6ec76cc0d8283bfa86b19546868eef..175a4de16183527c9262b04efc96d80ba66ed6e9 100644 --- a/src/plugins/callgraph/callgraph.mli +++ b/src/plugins/callgraph/callgraph.mli @@ -23,11 +23,13 @@ (** Callgraph plugin. *) module Options: sig + include Plugin.S module Filename: Parameter_sig.Filepath module Service_roots: Parameter_sig.Kernel_function_set module Uncalled: Parameter_sig.Bool module Uncalled_leaf: Parameter_sig.Bool module Services: Parameter_sig.Bool + module Roots : Parameter_sig.Kernel_function_set end module Cg: module type of Cg diff --git a/src/plugins/callgraph/dune b/src/plugins/callgraph/dune index c4b119b08e65fd875a514d5eee8a62b9d986cf9b..6e54b6cbe74100c909aa268943aa04af553f9cc5 100644 --- a/src/plugins/callgraph/dune +++ b/src/plugins/callgraph/dune @@ -1,22 +1,18 @@ +(rule + (alias frama-c-configure) + (deps (universe)) + (action (progn + (echo "Callgraph:" %{lib-available:frama-c-callgraph.core} "\n") + (echo " - Eva:" %{lib-available:frama-c-eva.core} "\n") + ) + ) +) + ( library (name callgraph) (public_name frama-c-callgraph.core) - (modules Options Journalize Cg Services Uses Register Callgraph_api Callgraph Subgraph) -; (private_modules Options Journalize Cg Uses Register) (flags -open Frama_c_kernel :standard -w -9) (libraries frama-c.kernel frama-c-eva.core) ) (plugin (optional) (name callgraph) (libraries frama-c-callgraph.core) (site (frama-c plugins))) - -( library - (name callgraph_gui) - (public_name frama-c-callgraph.gui) - (optional) - (modules Cg_viewer) -; (private_modules Cg_viewer) - (flags -open Frama_c_kernel -open Frama_c_gui -open Callgraph :standard) - (libraries callgraph frama-c.kernel frama-c.gui ocamlgraph.dgraph) -) - -(plugin (optional) (name callgraph) (libraries frama-c-callgraph.gui) (site (frama-c plugins_gui))) diff --git a/src/plugins/callgraph/cg_viewer.ml b/src/plugins/callgraph/gui/cg_viewer.ml similarity index 99% rename from src/plugins/callgraph/cg_viewer.ml rename to src/plugins/callgraph/gui/cg_viewer.ml index 7885f9f43dab46a5e8934f5633c4168bfb423d79..c3f460858deff77aa07ad0e1f66bd5dfce731a7c 100644 --- a/src/plugins/callgraph/cg_viewer.ml +++ b/src/plugins/callgraph/gui/cg_viewer.ml @@ -20,7 +20,7 @@ (* *) (**************************************************************************) -open DGRAPH_MODULE +open Graph.S let ($) f x = f x diff --git a/src/plugins/callgraph/cg_viewer.mli b/src/plugins/callgraph/gui/cg_viewer.mli similarity index 100% rename from src/plugins/callgraph/cg_viewer.mli rename to src/plugins/callgraph/gui/cg_viewer.mli diff --git a/src/plugins/callgraph/gui/dune b/src/plugins/callgraph/gui/dune new file mode 100644 index 0000000000000000000000000000000000000000..6e322df4b31d990ad512c56d5f4a4d708fee5d3d --- /dev/null +++ b/src/plugins/callgraph/gui/dune @@ -0,0 +1,28 @@ +(rule + (alias frama-c-configure) + (deps (universe)) + (action (progn + (echo "Callgraph GUI:" %{lib-available:frama-c-callgraph.gui} "\n") + (echo " - Frama-C GUI:" %{lib-available:frama-c.gui} "\n") + (echo " - Callgraph:" %{lib-available:frama-c-callgraph.core} "\n") + (echo " - Ocamlgraph_gtk:" %{lib-available:ocamlgraph_gtk} "\n") + (echo " - Ocamlgraph Dgraph:" %{lib-available:ocamlgraph.dgraph} "\n") + ) + ) +) + +( library + (name callgraph_gui) + (public_name frama-c-callgraph.gui) + (optional) + (flags -open Frama_c_kernel -open Frama_c_gui -open Callgraph :standard -w -9) + (libraries + frama-c.kernel frama-c.gui frama-c-callgraph.core + (select graph.ml from + (ocamlgraph.dgraph -> graph.dgraph.ml) + (ocamlgraph_gtk -> graph.gtk.ml) + ) + ) +) + +(plugin (optional) (name callgraph-gui) (libraries frama-c-callgraph.gui) (site (frama-c plugins_gui))) diff --git a/src/plugins/callgraph/gui/graph.dgraph.ml b/src/plugins/callgraph/gui/graph.dgraph.ml new file mode 100644 index 0000000000000000000000000000000000000000..bddad430e95fa7b2af53e840cea3e2cf9d6e7aa2 --- /dev/null +++ b/src/plugins/callgraph/gui/graph.dgraph.ml @@ -0,0 +1 @@ +module S = Dgraph diff --git a/src/plugins/callgraph/gui/graph.gtk.ml b/src/plugins/callgraph/gui/graph.gtk.ml new file mode 100644 index 0000000000000000000000000000000000000000..699872d749365dc2175f1bd2debef14e7ddd2b87 --- /dev/null +++ b/src/plugins/callgraph/gui/graph.gtk.ml @@ -0,0 +1 @@ +module S = Graph_gtk diff --git a/src/plugins/constant_propagation/dune b/src/plugins/constant_propagation/dune index 8a790f823343c49d7e53ed4ca55294d89eab91f2..b9b677a4a8653b1ce368e91ceef88044e85355b1 100644 --- a/src/plugins/constant_propagation/dune +++ b/src/plugins/constant_propagation/dune @@ -1,3 +1,13 @@ +(rule + (alias frama-c-configure) + (deps (universe)) + (action (progn + (echo "Constant Propagation:" %{lib-available:frama-c-constant_propagation.core} "\n") + (echo " - Eva:" %{lib-available:frama-c-eva.core} "\n") + ) + ) +) + ( library (name Constant_Propagation) (public_name frama-c-constant_propagation.core) diff --git a/src/plugins/dive/dune b/src/plugins/dive/dune index d1dd9bd48ebe47c630bcdb16482fbb5e51d401a2..c161bc03e536a9ca5766f7d3d3353108cc038111 100644 --- a/src/plugins/dive/dune +++ b/src/plugins/dive/dune @@ -1,3 +1,14 @@ +(rule + (alias frama-c-configure) + (deps (universe)) + (action (progn + (echo "Dive:" %{lib-available:frama-c-dive.core} "\n") + (echo " - Studia:" %{lib-available:frama-c-studia.core} "\n") + (echo " - Server:" %{lib-available:frama-c-server.core} "\n") + ) + ) +) + ( library (name dive) (public_name frama-c-dive.core) diff --git a/src/plugins/e-acsl/src/dune b/src/plugins/e-acsl/src/dune index 1be5622aaa95f24df367dbd58048e82790510e63..2b14fb84aac448d13533399f106a03022f455ddf 100644 --- a/src/plugins/e-acsl/src/dune +++ b/src/plugins/e-acsl/src/dune @@ -1,3 +1,12 @@ +(rule + (alias frama-c-configure) + (deps (universe)) + (action (progn + (echo "E-ACSL:" %{lib-available:frama-c-e-acsl.core} "\n") + ) + ) +) + (library (name E_ACSL) (public_name frama-c-e-acsl.core) diff --git a/src/plugins/from/dune b/src/plugins/from/dune index 7d1942b794b58501b763e0dc3a24e2da816279de..e355e70e3ace5ccc27666eefcb3b161746ef0a48 100644 --- a/src/plugins/from/dune +++ b/src/plugins/from/dune @@ -3,6 +3,9 @@ (deps (universe)) (action (progn (echo "From:" %{lib-available:frama-c-from.core} "\n") + (echo " - Callgraph:" %{lib-available:frama-c-callgraph.core} "\n") + (echo " - Eva:" %{lib-available:frama-c-eva.core} "\n") + (echo " - Postdominators:" %{lib-available:frama-c-postdominators.core} "\n") ) ) ) diff --git a/src/plugins/impact/dune b/src/plugins/impact/dune index 50da6c3d60e3dd5dfebfc4aaed3c6b9a96de05f1..341ebf7b8202b22746c13ad1eec45e14f224681b 100644 --- a/src/plugins/impact/dune +++ b/src/plugins/impact/dune @@ -1,3 +1,16 @@ +(rule + (alias frama-c-configure) + (deps (universe)) + (action (progn + (echo "Impact:" %{lib-available:frama-c-impact.core} "\n") + (echo " - Callgraph:" %{lib-available:frama-c-callgraph.core} "\n") + (echo " - Slicing:" %{lib-available:frama-c-slicing.core} "\n") + (echo " - Inout:" %{lib-available:frama-c-inout.core} "\n") + ) + ) +) + + ( library (name impact) (public_name frama-c-impact.core) diff --git a/src/plugins/inout/dune b/src/plugins/inout/dune index eedb6e2fbfd600b548b2bac642d30928b9a56e49..a0795192acf0373a656a0a3882dbbfc070693e0a 100644 --- a/src/plugins/inout/dune +++ b/src/plugins/inout/dune @@ -1,3 +1,15 @@ +(rule + (alias frama-c-configure) + (deps (universe)) + (action (progn + (echo "Inout:" %{lib-available:frama-c-inout.core} "\n") + (echo " - Callgraph:" %{lib-available:frama-c-callgraph.core} "\n") + (echo " - Eva:" %{lib-available:frama-c-eva.core} "\n") + (echo " - From:" %{lib-available:frama-c-from.core} "\n") + ) + ) +) + ( library (name inout) (public_name frama-c-inout.core) diff --git a/src/plugins/instantiate/dune b/src/plugins/instantiate/dune index 1e0ab048901bd5bb3cffc38bd2eb01bfe5966b52..855f71317f3524df0abe47c789c1f9fa82243b8f 100644 --- a/src/plugins/instantiate/dune +++ b/src/plugins/instantiate/dune @@ -1,3 +1,12 @@ +(rule + (alias frama-c-configure) + (deps (universe)) + (action (progn + (echo "Instantiate:" %{lib-available:frama-c-instantiate.core} "\n") + ) + ) +) + ( library (name instantiate) (public_name frama-c-instantiate.core) diff --git a/src/plugins/loop_analysis/dune b/src/plugins/loop_analysis/dune index 6883b813274e2c81f1d98a5baa37a183fc442f84..b7023aab4712b0a5822d9e46cfec2d2982d7f2d1 100644 --- a/src/plugins/loop_analysis/dune +++ b/src/plugins/loop_analysis/dune @@ -1,7 +1,16 @@ +(rule + (alias frama-c-configure) + (deps (universe)) + (action (progn + (echo "Loop-Analysis:" %{lib-available:frama-c-loop-analysis.core} "\n") + (echo " - Eva:" %{lib-available:frama-c-eva.core} "\n") + ) + ) +) + ( library (name LoopAnalysis) (public_name frama-c-loop-analysis.core) - (modules options region_analysis_sig region_analysis region_analysis_stmt loop_analysis register LoopAnalysis) (private_modules region_analysis_sig region_analysis region_analysis_stmt loop_analysis register) (flags -open Frama_c_kernel :standard) (libraries frama-c.kernel frama-c-eva.core) diff --git a/src/plugins/metrics/dune b/src/plugins/metrics/dune index 18609c7e6971dca3a2b25030a7a5ecc315df974d..9d4deca66b4275bc8d548d778c75582d99714f68 100644 --- a/src/plugins/metrics/dune +++ b/src/plugins/metrics/dune @@ -1,22 +1,19 @@ +(rule + (alias frama-c-configure) + (deps (universe)) + (action (progn + (echo "Metrics:" %{lib-available:frama-c-metrics.core} "\n") + (echo " - Eva:" %{lib-available:frama-c-eva.core} "\n") + (echo " - Server:" %{lib-available:frama-c-server.core} "\n") + ) + ) +) + ( library (name metrics) (public_name frama-c-metrics.core) - (modules metrics metrics_parameters css_html metrics_base metrics_acsl - metrics_cabs metrics_cilast metrics_coverage - register) (flags -open Frama_c_kernel :standard -w -9) (libraries frama-c.kernel frama-c-eva.core frama-c-server.core) ) (plugin (optional) (name metrics) (libraries frama-c-metrics.core) (site (frama-c plugins))) - -( library - (name metrics_gui) - (public_name frama-c-metrics.gui) - (optional) - (modules metrics_gui_panels register_gui) - (flags -open Frama_c_kernel -open Frama_c_gui -open Metrics :standard -w -9) - (libraries metrics frama-c.kernel frama-c.gui) -) - -(plugin (optional) (name metrics) (libraries frama-c-metrics.gui) (site (frama-c plugins_gui))) diff --git a/src/plugins/metrics/gui/dune b/src/plugins/metrics/gui/dune new file mode 100644 index 0000000000000000000000000000000000000000..b65c898ff9c56ea6ffb2e7e19b1be277db495901 --- /dev/null +++ b/src/plugins/metrics/gui/dune @@ -0,0 +1,9 @@ +( library + (name metrics_gui) + (public_name frama-c-metrics.gui) + (optional) + (flags -open Frama_c_kernel -open Frama_c_gui -open Metrics :standard -w -9) + (libraries frama-c.kernel frama-c.gui frama-c-metrics.core) +) + +(plugin (optional) (name metrics-gui) (libraries frama-c-metrics.gui) (site (frama-c plugins_gui))) diff --git a/src/plugins/metrics/metrics_gui_panels.ml b/src/plugins/metrics/gui/metrics_gui_panels.ml similarity index 100% rename from src/plugins/metrics/metrics_gui_panels.ml rename to src/plugins/metrics/gui/metrics_gui_panels.ml diff --git a/src/plugins/metrics/metrics_gui_panels.mli b/src/plugins/metrics/gui/metrics_gui_panels.mli similarity index 100% rename from src/plugins/metrics/metrics_gui_panels.mli rename to src/plugins/metrics/gui/metrics_gui_panels.mli diff --git a/src/plugins/metrics/register_gui.ml b/src/plugins/metrics/gui/register_gui.ml similarity index 100% rename from src/plugins/metrics/register_gui.ml rename to src/plugins/metrics/gui/register_gui.ml diff --git a/src/plugins/metrics/register_gui.mli b/src/plugins/metrics/gui/register_gui.mli similarity index 100% rename from src/plugins/metrics/register_gui.mli rename to src/plugins/metrics/gui/register_gui.mli diff --git a/src/plugins/nonterm/dune b/src/plugins/nonterm/dune index 957d8c944d3c843a08d0db5b1dc2a125d8996038..567480f1dead559e16e8cce9dd4c36de3e1406f4 100644 --- a/src/plugins/nonterm/dune +++ b/src/plugins/nonterm/dune @@ -1,3 +1,13 @@ +(rule + (alias frama-c-configure) + (deps (universe)) + (action (progn + (echo "NonTerm:" %{lib-available:frama-c-nonterm.core} "\n") + (echo " - Eva:" %{lib-available:frama-c-eva.core} "\n") + ) + ) +) + ( library (name nonterm) (public_name frama-c-nonterm.core) diff --git a/src/plugins/obfuscator/dune b/src/plugins/obfuscator/dune index 15334ae210e72257a075ff10fdcfe912a4ddb355..6bab90b1ec57723938674c4b3c8e5ae3fe302759 100644 --- a/src/plugins/obfuscator/dune +++ b/src/plugins/obfuscator/dune @@ -1,3 +1,12 @@ +(rule + (alias frama-c-configure) + (deps (universe)) + (action (progn + (echo "Obfuscator:" %{lib-available:frama-c-obfuscator.core} "\n") + ) + ) +) + ( library (name obfuscator) (public_name frama-c-obfuscator.core) diff --git a/src/plugins/occurrence/Occurrence.ml b/src/plugins/occurrence/Occurrence.ml index 451f7f806e3b46459c96df360cb88bd081663135..d7961a9f07fe6ce58ced320bd71862a8d8609fd7 100644 --- a/src/plugins/occurrence/Occurrence.ml +++ b/src/plugins/occurrence/Occurrence.ml @@ -36,6 +36,12 @@ module Register: sig val print_all: (unit -> unit) (** Print all the occurrence of each variable declarations. *) + + (* {2 Internal Use Only}*) + + type access_type = Read | Write | Both + + val classify_accesses: kernel_function option * kinstr *lval -> access_type end = Register (* diff --git a/src/plugins/occurrence/dune b/src/plugins/occurrence/dune index 53b96ae805fd962e5a687414307b7734c82fb804..032769c4025c79080348719aa083d9903f3cbaf7 100644 --- a/src/plugins/occurrence/dune +++ b/src/plugins/occurrence/dune @@ -1,20 +1,18 @@ +(rule + (alias frama-c-configure) + (deps (universe)) + (action (progn + (echo "Occurrence:" %{lib-available:frama-c-occurrence.core} "\n") + (echo " - Eva:" %{lib-available:frama-c-eva.core} "\n") + ) + ) +) + ( library (name occurrence) - (public_name frama-c-occurrence.core) - (modules options register) + (public_name frama-c-occurrence.core) (flags -open Frama_c_kernel :standard -w -9) (libraries frama-c.kernel frama-c-eva.core) ) (plugin (optional) (name occurrence) (libraries frama-c-occurrence.core) (site (frama-c plugins))) - -( library - (name occurrence_gui) - (public_name frama-c-occurrence.gui) - (optional) - (modules register_gui) - (flags -open Frama_c_kernel -open Frama_c_gui -open Occurrence :standard -w -9) - (libraries occurrence frama-c.kernel frama-c.gui) -) - -(plugin (optional) (name occurrence) (libraries frama-c-occurrence.gui) (site (frama-c plugins_gui))) diff --git a/src/plugins/occurrence/gui/dune b/src/plugins/occurrence/gui/dune new file mode 100644 index 0000000000000000000000000000000000000000..f2fe4f573f6c0bc8b6d2670e4d2a5dae4de705c1 --- /dev/null +++ b/src/plugins/occurrence/gui/dune @@ -0,0 +1,20 @@ +(rule + (alias frama-c-configure) + (deps (universe)) + (action (progn + (echo "Occurrence GUI:" %{lib-available:frama-c-occurrence.gui} "\n") + (echo " - Frama-C GUI:" %{lib-available:frama-c.gui} "\n") + (echo " - Occurrence:" %{lib-available:frama-c-occurrence.core} "\n") + ) + ) +) + +( library + (name occurrence_gui) + (public_name frama-c-occurrence.gui) + (optional) + (flags -open Frama_c_kernel -open Frama_c_gui -open Occurrence :standard -w -9) + (libraries frama-c.kernel frama-c.gui frama-c-occurrence.core) +) + +(plugin (optional) (name occurrence) (libraries frama-c-occurrence.gui) (site (frama-c plugins_gui))) diff --git a/src/plugins/occurrence/register_gui.ml b/src/plugins/occurrence/gui/register_gui.ml similarity index 100% rename from src/plugins/occurrence/register_gui.ml rename to src/plugins/occurrence/gui/register_gui.ml diff --git a/src/plugins/occurrence/register_gui.mli b/src/plugins/occurrence/gui/register_gui.mli similarity index 100% rename from src/plugins/occurrence/register_gui.mli rename to src/plugins/occurrence/gui/register_gui.mli diff --git a/src/plugins/pdg/dune b/src/plugins/pdg/dune index 1e9523549c5c25d56186f4100eead94946b69982..af7a614abc8c23ca915949729e914cd1936f083a 100644 --- a/src/plugins/pdg/dune +++ b/src/plugins/pdg/dune @@ -3,6 +3,9 @@ (deps (universe)) (action (progn (echo "PDG:" %{lib-available:frama-c-pdg.core} "\n") + (echo " - Callgraph:" %{lib-available:frama-c-callgraph.core} "\n") + (echo " - Eva:" %{lib-available:frama-c-eva.core} "\n") + (echo " - From:" %{lib-available:frama-c-from.core} "\n") ) ) ) diff --git a/src/plugins/postdominators/dune b/src/plugins/postdominators/dune index cef2bbaa639ee6eff0df5420147f08b3fa5510a0..3dfd1bf662cf6998c6e735514f1ad908c607ca51 100644 --- a/src/plugins/postdominators/dune +++ b/src/plugins/postdominators/dune @@ -1,3 +1,13 @@ +(rule + (alias frama-c-configure) + (deps (universe)) + (action (progn + (echo "Postdominators:" %{lib-available:frama-c-postdominators.core} "\n") + (echo " - Eva:" %{lib-available:frama-c-eva.core} "\n") + ) + ) +) + ( library (name postdominators) (public_name frama-c-postdominators.core) diff --git a/src/plugins/qed/dune b/src/plugins/qed/dune index e0b6b678474f7f4383b14b7f031747e39b3f84de..edd33d5fe328ec84973b1d520cf7fd6193e0d8ae 100644 --- a/src/plugins/qed/dune +++ b/src/plugins/qed/dune @@ -1,3 +1,13 @@ +(rule + (alias frama-c-configure) + (deps (universe)) + (action (progn + (echo "Qed:" %{lib-available:qed} "\n") + (echo " - Zarith:" %{lib-available:zarith} "\n") + ) + ) +) + (library (name qed) (public_name qed) diff --git a/src/plugins/reduc/dune b/src/plugins/reduc/dune index d78631cb2e67812edd266260ad5a4c0f4c351f56..b0acc0cdf6e62da14dea109ce868868a4af4bf0c 100644 --- a/src/plugins/reduc/dune +++ b/src/plugins/reduc/dune @@ -3,6 +3,8 @@ (deps (universe)) (action (progn (echo "Reduc:" %{lib-available:frama-c-reduc.core} "\n") + (echo " - Eva:" %{lib-available:frama-c-eva.core} "\n") + (echo " - Inout:" %{lib-available:frama-c-inout.core} "\n") ) ) ) diff --git a/src/plugins/report/dune b/src/plugins/report/dune index f936d1327216d43b471616f722e94b5cc074337e..7603b287637db4d39a243bfec3e73adc1c685d9f 100644 --- a/src/plugins/report/dune +++ b/src/plugins/report/dune @@ -1,7 +1,15 @@ +(rule + (alias frama-c-configure) + (deps (universe)) + (action (progn + (echo "Report:" %{lib-available:frama-c-report.core} "\n") + ) + ) +) + ( library (name report) (public_name frama-c-report.core) - (modules report_parameters scan dump csv register classify Report) (private_modules report_parameters scan dump csv register classify) (flags -open Frama_c_kernel :standard -w -9) (libraries frama-c.kernel) diff --git a/src/plugins/rte/dune b/src/plugins/rte/dune index 0298b35ffeec6e2c9c95463a711675858c09a9a2..157d278dfa3947f2ca864d5d7b0ae371674f8b3f 100644 --- a/src/plugins/rte/dune +++ b/src/plugins/rte/dune @@ -1,3 +1,12 @@ +(rule + (alias frama-c-configure) + (deps (universe)) + (action (progn + (echo "Rtegen:" %{lib-available:frama-c-rtegen.core} "\n") + ) + ) +) + (library (name RteGen) (public_name frama-c-rtegen.core) diff --git a/src/plugins/scope/dune b/src/plugins/scope/dune index 46f1dcdb2bed8053903ed15e817770791c9aab68..32465234efb7ee0750ffcc5186aaefc12dd9ad16 100644 --- a/src/plugins/scope/dune +++ b/src/plugins/scope/dune @@ -1,19 +1,19 @@ +(rule + (alias frama-c-configure) + (deps (universe)) + (action (progn + (echo "Scope:" %{lib-available:frama-c-scope.core} "\n") + (echo " - Eva:" %{lib-available:frama-c-eva.core} "\n") + (echo " - Inout:" %{lib-available:frama-c-inout.core} "\n") + ) + ) +) + (library (name scope) (public_name frama-c-scope.core) - (modules scope datascope zones defs) (flags -open Frama_c_kernel :standard -w -9) (libraries frama-c.kernel frama-c-eva.core frama-c-inout.core) ) -(library - (name scope_gui) - (public_name frama-c-scope.gui) - (optional) - (modules dpds_gui) - (flags -open Frama_c_kernel -open Frama_c_gui -open Scope :standard -w -9) - (libraries frama-c.kernel frama-c.gui frama-c-scope.core) -) - (plugin (optional) (name scope) (libraries frama-c-scope.core) (site (frama-c plugins))) -(plugin (optional) (name scope) (libraries frama-c-scope.gui) (site (frama-c plugins_gui))) diff --git a/src/plugins/scope/dpds_gui.ml b/src/plugins/scope/gui/dpds_gui.ml similarity index 100% rename from src/plugins/scope/dpds_gui.ml rename to src/plugins/scope/gui/dpds_gui.ml diff --git a/src/plugins/scope/dpds_gui.mli b/src/plugins/scope/gui/dpds_gui.mli similarity index 100% rename from src/plugins/scope/dpds_gui.mli rename to src/plugins/scope/gui/dpds_gui.mli diff --git a/src/plugins/scope/gui/dune b/src/plugins/scope/gui/dune new file mode 100644 index 0000000000000000000000000000000000000000..0b3f412525bb934336306e21294b132fdd26dd61 --- /dev/null +++ b/src/plugins/scope/gui/dune @@ -0,0 +1,20 @@ +(rule + (alias frama-c-configure) + (deps (universe)) + (action (progn + (echo "Scope GUI:" %{lib-available:frama-c-scope.gui} "\n") + (echo " - Frama-C GUI:" %{lib-available:frama-c.gui} "\n") + (echo " - Scope:" %{lib-available:frama-c-scope.core} "\n") + ) + ) +) + +(library + (name scope_gui) + (public_name frama-c-scope.gui) + (optional) + (flags -open Frama_c_kernel -open Frama_c_gui -open Scope :standard -w -9) + (libraries frama-c.kernel frama-c.gui frama-c-scope.core) +) + +(plugin (optional) (name scope) (libraries frama-c-scope.gui) (site (frama-c plugins_gui))) diff --git a/src/plugins/security_slicing/Security_slicing.ml b/src/plugins/security_slicing/Security_slicing.ml index f2a7ec9e4cdbbf7c17255ba48cd6c9234804c63c..5de90590943e0b8c0bdb1ba58e32ad67b9583066 100644 --- a/src/plugins/security_slicing/Security_slicing.ml +++ b/src/plugins/security_slicing/Security_slicing.ml @@ -24,6 +24,11 @@ (** No function is directly exported: they are dynamically registered. *) +(** {2 Internal use only} *) + +module Components = Components +module Security_slicing_parameters = Security_slicing_parameters + (* Local Variables: compile-command: "make -C ../../.." diff --git a/src/plugins/security_slicing/dune b/src/plugins/security_slicing/dune index 141d22ca9dea76eb7fef23115d689fddca206888..18b641b6e8b24af3daea31314f76c6d6ea991d01 100644 --- a/src/plugins/security_slicing/dune +++ b/src/plugins/security_slicing/dune @@ -1,21 +1,18 @@ +(rule + (alias frama-c-configure) + (deps (universe)) + (action (progn + (echo "Security Slicing:" %{lib-available:frama-c-security_slicing.core} "\n") + (echo " - Eva:" %{lib-available:frama-c-eva.core} "\n") + ) + ) +) + ( library (name security_slicing) - (public_name frama-c-security_slicing.core) - (modules security_slicing_parameters components) + (public_name frama-c-security_slicing.core) (flags -open Frama_c_kernel :standard -w -9) (libraries frama-c.kernel frama-c-eva.core) ) (plugin (optional) (name security_slicing) (libraries frama-c-security_slicing.core) (site (frama-c plugins))) - - -( library - (name security_slicing_gui) - (public_name frama-c-security_slicing.gui) - (optional) - (modules register_gui) - (flags -open Frama_c_kernel -open Frama_c_gui -open Security_slicing :standard -w -9) - (libraries security_slicing frama-c.kernel frama-c.gui) -) - -(plugin (optional) (name security_slicing) (libraries frama-c-security_slicing.gui) (site (frama-c plugins_gui))) diff --git a/src/plugins/security_slicing/gui/dune b/src/plugins/security_slicing/gui/dune new file mode 100644 index 0000000000000000000000000000000000000000..d6d853294b04efea63a674cffa315b5dcb94deb4 --- /dev/null +++ b/src/plugins/security_slicing/gui/dune @@ -0,0 +1,9 @@ +( library + (name security_slicing_gui) + (public_name frama-c-security_slicing.gui) + (optional) + (flags -open Frama_c_kernel -open Frama_c_gui -open Security_slicing :standard -w -9) + (libraries frama-c.kernel frama-c.gui frama-c-security_slicing.core) +) + +(plugin (optional) (name security_slicing) (libraries frama-c-security_slicing.gui) (site (frama-c plugins_gui))) diff --git a/src/plugins/security_slicing/register_gui.ml b/src/plugins/security_slicing/gui/register_gui.ml similarity index 100% rename from src/plugins/security_slicing/register_gui.ml rename to src/plugins/security_slicing/gui/register_gui.ml diff --git a/src/plugins/security_slicing/register_gui.mli b/src/plugins/security_slicing/gui/register_gui.mli similarity index 100% rename from src/plugins/security_slicing/register_gui.mli rename to src/plugins/security_slicing/gui/register_gui.mli diff --git a/src/plugins/server/dune b/src/plugins/server/dune index 04f538b0158dc4f7e1eed3bb1fa3cfa336f7ea03..8a535d26c0bf1068da65f62ed2bea9bb793ce77d 100644 --- a/src/plugins/server/dune +++ b/src/plugins/server/dune @@ -1,3 +1,13 @@ +(rule + (alias frama-c-configure) + (deps (universe)) + (action (progn + (echo "Server:" %{lib-available:frama-c-server.core} "\n") + (echo " - (optional) Zmq:" %{lib-available:zmq} "\n") + ) + ) +) + ( library (name server) (public_name frama-c-server.core) diff --git a/src/plugins/slicing/dune b/src/plugins/slicing/dune index 5b9653b1b2d1d91350c3a38f8359a8a0f12b8984..90c29eb8d57031638fa9798c955e396335347908 100644 --- a/src/plugins/slicing/dune +++ b/src/plugins/slicing/dune @@ -1,3 +1,14 @@ +(rule + (alias frama-c-configure) + (deps (universe)) + (action (progn + (echo "Slicing:" %{lib-available:frama-c-slicing.core} "\n") + (echo " - Pdg:" %{lib-available:frama-c-pdg.core} "\n") + (echo " - Sparecode:" %{lib-available:frama-c-sparecode.core} "\n") + ) + ) +) + ( library (name slicing) (public_name frama-c-slicing.core) diff --git a/src/plugins/sparecode/dune b/src/plugins/sparecode/dune index 5728446da09aff4af62a73e0f6b4edf2352c1847..79af334305f82986a540f75d0ce876cd772c6bea 100644 --- a/src/plugins/sparecode/dune +++ b/src/plugins/sparecode/dune @@ -1,3 +1,16 @@ +(rule + (alias frama-c-configure) + (deps (universe)) + (action (progn + (echo "Sparecode:" %{lib-available:frama-c-sparecode.core} "\n") + (echo " - Users:" %{lib-available:frama-c-users.core} "\n") + (echo " - Eva:" %{lib-available:frama-c-eva.core} "\n") + (echo " - Inout:" %{lib-available:frama-c-inout.core} "\n") + (echo " - Pdg:" %{lib-available:frama-c-pdg.core} "\n") + ) + ) +) + (library (name Sparecode) (public_name frama-c-sparecode.core) diff --git a/src/plugins/studia/Studia.ml b/src/plugins/studia/Studia.ml index 4ccf8f0beffd6726f59a2b53b541500abbbbce42..b6ab1c545caf0a3bf41dd5f1175cb1cb2f890780 100644 --- a/src/plugins/studia/Studia.ml +++ b/src/plugins/studia/Studia.ml @@ -21,35 +21,41 @@ (**************************************************************************) (** Computations of the statements that write a given memory zone. *) -include (struct - module Writes = Writes - module Reads = Reads -end : sig - module Writes: sig - - (** Given an effect [e], something is directly modified by [e] (through an - affectation, or through a call to a leaf function) if [direct] holds, and - indirectly (through the effects of a call) otherwise. *) - type effects = { - direct: bool (** Direct affectation [lv = ...], or modification through - a call to a leaf function. *); - indirect: bool (** Modification inside the body of called function - [f(...)]*); - } - - val compute: Locations.Zone.t -> (Cil_types.stmt * effects) list - (** [compute z] finds all the statements that modifies [z], and for each - statement, indicates whether the modification is direct or indirect. *) - - end - - (** Computations of the statements that read a given memory zone. *) - module Reads: sig - - val compute: Locations.Zone.t -> (Cil_types.stmt * Writes.effects) list - (** [compute z] finds all the statements that read [z]. The [effects] - information indicates whether the read occur on the given statement, - or through an inner call for [Call] instructions. *) - - end - end) +include + (struct + module Writes = Writes + module Reads = Reads + end : + sig + module Writes: sig + + (** Given an effect [e], something is directly modified by [e] (through an + affectation, or through a call to a leaf function) if [direct] holds, and + indirectly (through the effects of a call) otherwise. *) + type effects = { + direct: bool (** Direct affectation [lv = ...], or modification through + a call to a leaf function. *); + indirect: bool (** Modification inside the body of called function + [f(...)]*); + } + + val compute: Locations.Zone.t -> (Cil_types.stmt * effects) list + (** [compute z] finds all the statements that modifies [z], and for each + statement, indicates whether the modification is direct or indirect. *) + + end + + (** Computations of the statements that read a given memory zone. *) + module Reads: sig + + val compute: Locations.Zone.t -> (Cil_types.stmt * Writes.effects) list + (** [compute z] finds all the statements that read [z]. The [effects] + information indicates whether the read occur on the given statement, + or through an inner call for [Call] instructions. *) + + end + end) + +(** {2 Internal use only} *) + +module Options = Options diff --git a/src/plugins/studia/dune b/src/plugins/studia/dune index fb00bf6405e9ba039eaccfeb304f2e98127fd6c2..0bcf683188eb5b8986ca319b433c105ed770c5f6 100644 --- a/src/plugins/studia/dune +++ b/src/plugins/studia/dune @@ -1,21 +1,18 @@ +(rule + (alias frama-c-configure) + (deps (universe)) + (action (progn + (echo "Studia:" %{lib-available:frama-c-studia.core} "\n") + (echo " - Eva:" %{lib-available:frama-c-eva.core} "\n") + ) + ) +) + ( library (name studia) (public_name frama-c-studia.core) - (modules options writes reads) (flags -open Frama_c_kernel :standard) (libraries frama-c.kernel frama-c-eva.core) ) (plugin (optional) (name studia) (libraries frama-c-studia.core) (site (frama-c plugins))) - - -( library - (name studia_gui) - (public_name frama-c-studia.gui) - (optional) - (modules studia_gui) - (flags -open Frama_c_kernel -open Frama_c_gui -open Studia :standard -w -9) - (libraries studia frama-c.kernel frama-c.gui frama-c-eva.gui) -) - -(plugin (optional) (name studia) (libraries frama-c-studia.gui) (site (frama-c plugins_gui))) diff --git a/src/plugins/studia/gui/dune b/src/plugins/studia/gui/dune new file mode 100644 index 0000000000000000000000000000000000000000..5d79564ddb291d339a2a3d1aaa3f29a2829d16c9 --- /dev/null +++ b/src/plugins/studia/gui/dune @@ -0,0 +1,22 @@ +(rule + (alias frama-c-configure) + (deps (universe)) + (action (progn + (echo "Studia GUI:" %{lib-available:frama-c-studia.gui} "\n") + (echo " - Frama-C GUI:" %{lib-available:frama-c.gui} "\n") + (echo " - Eva GUI:" %{lib-available:frama-c-eva.gui} "\n") + (echo " - Studia:" %{lib-available:frama-c-studia.core} "\n") + + ) + ) +) + +( library + (name studia_gui) + (public_name frama-c-studia.gui) + (optional) + (flags -open Frama_c_kernel -open Frama_c_gui -open Studia :standard -w -9) + (libraries frama-c.kernel frama-c.gui frama-c-eva.gui frama-c-studia.core) +) + +(plugin (optional) (name studia-gui) (libraries frama-c-studia.gui) (site (frama-c plugins_gui))) diff --git a/src/plugins/studia/studia_gui.ml b/src/plugins/studia/gui/studia_gui.ml similarity index 100% rename from src/plugins/studia/studia_gui.ml rename to src/plugins/studia/gui/studia_gui.ml diff --git a/src/plugins/studia/studia_gui.mli b/src/plugins/studia/gui/studia_gui.mli similarity index 100% rename from src/plugins/studia/studia_gui.mli rename to src/plugins/studia/gui/studia_gui.mli diff --git a/src/plugins/users/dune b/src/plugins/users/dune index 1b310be7de99a6a657eb25e49ea3578f1f7cd014..3a7d60dac2449a64d4a559eaa505dbf05a69d64b 100644 --- a/src/plugins/users/dune +++ b/src/plugins/users/dune @@ -1,3 +1,13 @@ +(rule + (alias frama-c-configure) + (deps (universe)) + (action (progn + (echo "Users:" %{lib-available:frama-c-users.core} "\n") + (echo " - Callgraph:" %{lib-available:frama-c-callgraph.core} "\n") + ) + ) +) + (library (name Users) (public_name frama-c-users.core) diff --git a/src/plugins/variadic/dune b/src/plugins/variadic/dune index f874d815642d057af116b6298bd7ee4b4aaeab7e..58634469eddbd5a4cc2f722843449c73710a6d53 100644 --- a/src/plugins/variadic/dune +++ b/src/plugins/variadic/dune @@ -1,3 +1,12 @@ +(rule + (alias frama-c-configure) + (deps (universe)) + (action (progn + (echo "Variadic:" %{lib-available:frama-c-variadic.core} "\n") + ) + ) +) + ( library (name variadic) (public_name frama-c-variadic.core) diff --git a/src/plugins/wp/dune b/src/plugins/wp/dune index cb1db2f1686434f2a6a03fe2c754a3c6108b2b76..6f1ec28f8e7a12bce7c84aa0e58eca17158dac51 100644 --- a/src/plugins/wp/dune +++ b/src/plugins/wp/dune @@ -3,7 +3,11 @@ (deps (universe)) (action (progn (echo "WP:" %{lib-available:frama-c-wp.core} "\n") - (echo " - why3:" %{lib-available:why3} "\n") + (echo " - Ocamlgraph:" %{lib-available:ocamlgraph} "\n") + (echo " - Qed:" %{lib-available:qed} "\n") + (echo " - Rtegen:" %{lib-available:frama-c-rtegen.core} "\n") + (echo " - Why3:" %{lib-available:why3} "\n") + (echo " - Zarith:" %{lib-available:zarith} "\n") ) ) )