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)