]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/matitac.ml
update in basic_2
[helm.git] / matita / matita / matitac.ml
index 67a1742f07dc4efbdd3daaa0f421e1c580a1742e..d0f5603e58a347655379f812d378fa34fb9483ee 100644 (file)
@@ -44,7 +44,14 @@ let main_compiler () =
          prerr_endline ("Too many roots found:\n\t" ^ String.concat "\n\t" roots);
          prerr_endline ("\nEnter one of these directories and retry");
          exit 1);
-    | _ -> targets
+    | _ ->
+      let map targets file =
+          if HExtlib.is_dir file then
+             let files = HExtlib.find ~test:(fun path -> Filename.check_suffix path ".ma") file in
+             files @ targets
+          else file :: targets
+      in
+      List.fold_left map [] (List.rev targets)
   in
   (* must be called after init since args are set by cmdline parsing *)
   let system_mode =  Helm_registry.get_bool "matita.system" in
@@ -56,8 +63,9 @@ let main_compiler () =
      (try
        ignore (MatitaEngine.assert_ng ~include_paths:[] t); true
       with
-       MatitaEngine.FailureCompiling _ -> false) && b
-     ) true targets
+       MatitaEngine.FailureCompiling (_,exn) ->
+        HLog.error (snd (MatitaExcPp.to_string exn)); false) && b
+   ) true targets
   then 
     (HLog.message "Compilation successful"; 0)
   else