Module B00_ocaml.Lib


Represents OCaml libraries. An OCaml library is a directory with interface and object files. OCaml libraries are found by name using a Lib_resolver.

Library names

module Name : sig ... end

Library names


type t

The type for libraries.

val v : ?⁠installed:bool -> ?⁠archive:string -> B00.Memo.t -> name:Name.t -> requires:Name.t list -> dir:B00_std.Fpath.t -> t

v ~installed ~archive ~name ~dir ~requires is a library named name whose directory is dir and which requires libraries requires at link time. archive is the base name of the library archive, defaults to "lib". installed indicates whether the library is installed.

val name : t -> Name.t

name l is the library name of l.

val requires : t -> Name.t list

requires l are the libraries that are required by l.

val dir : t -> B00_std.Fpath.t

dir l is the path to the library directory. Incidentally this is also the path to the library includes.

val archive : code:Cobj.code -> t -> B00_std.Fpath.t

archive ~code l is the path to the library archive for code c. Not checked for existence.

val installed : t -> bool

installed l is true if l is an installed library. FIXME this should not be needed.

val cmis : t -> B00_std.Fpath.t list

cmis l is the list of cmis for the library.