let csw_load_list dll =
let pkglist = List.flatten dll in
let tables = Csw.Cswcudf.init_tables pkglist in
let from_cudf (p,i) = (p, Csw.Cswcudf.get_real_version tables (p,i)) in
let to_cudf (p,v) = (p, Csw.Cswcudf.get_cudf_version tables (p,v)) in
let cll =
List.map (fun l ->
List.map (Csw.Cswcudf.tocudf tables) l
) dll
in
let preamble = Csw.Cswcudf.preamble in
(preamble,cll,from_cudf,to_cudf)