let f =
open_out
(Filename.dirname fname ^ "/" ^ mangled_baseuri ^ ".ml") in
- LibrarySync.set_object_declaration_hook
- (fun _ obj ->
+ LibrarySync.add_object_declaration_hook
+ (fun ~add_obj ~add_coercion _ obj ->
output_string f (CicExportation.ppobj baseuri obj);
- flush f);
+ flush f; []);
;;
let compile options fname =
with Unix.Unix_error (Unix.ENOENT, "stat", f) when f = s -> None
;;
+(* FG: a problem was noticed in relising memory between subsequent *)
+(* invocations of the compiler. The following might help *)
+ let compact r = Gc.compact (); r
+
let build options fname =
let matita_debug = Helm_registry.get_bool "matita.debug" in
let compile opts fname =
let generated = Filename.chop_suffix fname ".mma" ^ ".ma" in
let atexit = dump generated in
let res = compile options fname in
- let r = atexit res in
+ let r = compact (atexit res) in
if r then r else begin
- Sys.remove generated;
- Printf.printf "rm %s\n" generated; flush stdout; r
+ Sys.remove generated;
+ Printf.printf "rm %s\n" generated; flush stdout; r
end
else
compile options fname