B00_ocaml.LibLibrary information and lookup.
An OCaml library is a directory with interfaces and object files. OCaml libraries are resolved by name using a Resolver.
module Name : sig ... endLibrary names.
val v : name:Name.t -> requires:Name.t list -> dir:B00_std.Fpath.t -> cmis:B00_std.Fpath.t list -> cmxs:B00_std.Fpath.t list -> cma:B00_std.Fpath.t option ->
cmxa:B00_std.Fpath.t option -> c_archive:B00_std.Fpath.t option -> c_stubs:B00_std.Fpath.t list -> tv ~name ~cmis ~cmxs ~cma ~cmxa is a library named name which requires libraries requires, and library directory dir, has cmis cmi files, cmxs cmx files, cma bytecode archive, cmxa native code archive and it's companion c_archive as well as c_stubs archives. Theoretically all files should be in dir.
val of_dir : B00.Memo.t -> clib_ext:B00_std.Fpath.ext -> name:Name.t -> requires:Name.t list -> dir:B00_std.Fpath.t -> archive:string option ->
(t, string) result B00_std.Fut.tof_dir m ~clib_ext ~name ~requires ~dir ~archive is a library named name which requires libraries requires, with library directory dir and library archive name archive (without extension and if any). This looks up all files other files in dir and makes them ready in m. clib_ext is the platform specific extension for C libraries.
Note. If dir doesn't follow the one library per directory convention this over-approximate cmis, cmxs and c_stubs files.
val dir : t -> B00_std.Fpath.tdir l is l's library directory.
val cmis : t -> B00_std.Fpath.t listcmis l is the list of cmis for the library.
val cmxs : t -> B00_std.Fpath.t listcmxs l is the list of cmxs for the library.
val cma : t -> B00_std.Fpath.t optioncma l is the library's cma file (if any).
val cmxa : t -> B00_std.Fpath.t optioncmxa l is the library's cmxa file (if any).
val c_archive : t -> B00_std.Fpath.t optionc_archive l is the library's cmxa's companion C archive. Must exist if the cmxa exists.
val c_stubs : t -> B00_std.Fpath.t listc_stubs l is the library's C stubs archives (if any).
module Resolver : sig ... endLibrary resolvers.