From d386ccf91aa2786f65a6ace8dd242aa7788155e8 Mon Sep 17 00:00:00 2001
From: Virgile Prevosto <virgile.prevosto@m4x.org>
Date: Wed, 2 Dec 2020 16:53:07 +0100
Subject: [PATCH] [MdR] Make eva_info a proper Findlib subpackage of
 frama-c-markdown_report

---
 src/plugins/markdown-report/META.in         |  5 +++++
 src/plugins/markdown-report/mdr_register.ml | 15 ++-------------
 2 files changed, 7 insertions(+), 13 deletions(-)

diff --git a/src/plugins/markdown-report/META.in b/src/plugins/markdown-report/META.in
index 75396188206..28043759d75 100644
--- a/src/plugins/markdown-report/META.in
+++ b/src/plugins/markdown-report/META.in
@@ -5,3 +5,8 @@ archive(byte) = "top/Markdown_report.cmo"
 archive(native) = "top/Markdown_report.cmx"
 plugin(native) = "top/Markdown_report.cmxs"
 plugin(byte) = "top/Markdown_report.cmo"
+package "eva_info" (
+  requires = "frama-c-markdown_report frama-c-eva"
+  plugin(native) = "top/eva_info.cmxs"
+  plugin(byte) = "top/eva_info.cmo"
+)
diff --git a/src/plugins/markdown-report/mdr_register.ml b/src/plugins/markdown-report/mdr_register.ml
index c426fe4121e..800c08408b1 100644
--- a/src/plugins/markdown-report/mdr_register.ml
+++ b/src/plugins/markdown-report/mdr_register.ml
@@ -23,19 +23,8 @@
 let load_eva_info () =
   if not !Md_gen.Eva_info.loaded && Dynamic.is_loaded "frama-c-eva"
   then begin
-    let eva_info = "top/eva_info.cmo" in
-    try
-      List.iter
-        (fun dir ->
-           let path = dir ^ "/" ^ eva_info in
-           if Sys.file_exists path then begin
-             Dynamic.load_module (dir ^ "/" ^ eva_info);
-             (* do not try to load it twice. *)
-             raise Exit
-           end)
-        Fc_config.plugin_dir;
-      Mdr_params.warning "Impossible to load Eva-specific operations"
-    with Exit -> ()
+    let eva_info = "frama-c-markdown_report.eva_info" in
+    Dynamic.load_packages [eva_info];
   end
 
 (*  end *)
-- 
GitLab