let load_template name =
let file =
let cma = Dynlink.adapt_filename (Printf.sprintf "%s.cma" name) in
let filepath = path // cma in
if Sys.file_exists filepath
then filepath
else if Sys.file_exists name
then name
else if Sys.file_exists cma
then cma
else template_not_found name
in
try
Dynlink.loadfile file
with Dynlink.Error e ->
Benl_error.raise (Dynlink_error e)