let require_env log w =
let env = w.po_env in
once env
(fun () ->
let file = file_for_env env 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)