let require_model log w =
let model = w.po_model in
once model
(fun () ->
let file = Wpo.file_for_model ~model Coq in
let s = Config.datadir in
let framac_dir = Format.sprintf "%s/wp" s in
let args = [| "-noglob";"-I"; framac_dir;file |] 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 ~echo:true log stdout
>>= result_compile file)