let require_model logs w =
let model = w.po_model in
once model
(fun () ->
let file = Wpo.file_for_model ~model L_coq in
let fcoq = Wpo.coqc_for_model ~model in
Command.copy file fcoq ;
(* not added ! -> incremental compilation *)
let denv = Wp_parameters.get_output () in
let args = [| "-noglob" ; "-I" ; denv ; fcoq |] in
let stdout = Buffer.create 512 in
let timeout = Wp_parameters.Timeout.get() in
Logs.command logs "coqc" args ;
Task.command ~timeout ~stdout "coqc" args
>>? Logs.output logs stdout
>>= result_compile fcoq)