let require_model log 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 ;
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
Log.command log "coqc" args ;
Task.command ~timeout ~stdout "coqc" args
>>? Log.output log stdout
>>= result_compile fcoq)