Modules
module Deps : sig ... endSource dependencies.
val v : mod_name:Mod_name.t -> opaque:bool -> mli:B00_std.Fpath.t option -> mli_deps:Mod_name.Set.t -> ml:B00_std.Fpath.t option -> ml_deps:Mod_name.Set.t -> tv ~mod_name ~opaque ~mli ~mli_deps ~ml ~ml_deps is a module whose name is name, interface file is mli (if any), interface file module dependencies is mli_deps, implementation is ml (if any) and implementation file module dependencies ml_deps. For opaque see opaque.
val mod_name : t -> Mod_name.tmod_name m is m's name.
val opaque : t -> boolopaque m indicates whether the module should be treated as opaque for compilation. See the -opaque option in the OCaml manual.
val mli : t -> B00_std.Fpath.t optionmli m is m's interface file (if any).
val mli_deps : t -> Mod_name.Set.tmli_deps m are m's interface file dependencies.
val ml : t -> B00_std.Fpath.t optionml m is m's implementation file (if any).
val ml_deps : t -> Mod_name.Set.tml_deps m are m's implementation file dependencies.
Constructing file paths
val file : in_dir:B00_std.Fpath.t -> t -> ext:string -> B00_std.Fpath.tfile ~in_dir m ~ext is a file for module m with extension ext in directory in_dir.
val cmi_file : in_dir:B00_std.Fpath.t -> t -> B00_std.Fpath.tcmi_file ~in_dir m is file ~in_dir m ext:".cmi".
val cmo_file : in_dir:B00_std.Fpath.t -> t -> B00_std.Fpath.tcmx_file ~in_dir m is fil_ ~in_dir m ext:".cmo".
val cmx_file : in_dir:B00_std.Fpath.t -> t -> B00_std.Fpath.tcmx_file ~in_dir m is file ~in_dir m ext:".cmx".
val impl_file : code:Cobj.code -> in_dir:B00_std.Fpath.t -> t -> B00_std.Fpath.tval as_intf_dep_files : ?init:B00_std.Fpath.t list -> in_dir:B00_std.Fpath.t -> t -> B00_std.Fpath.t listas_intf_dep_files ~init ~in_dir m adds to init (defaults to []) the files that are read by the OCaml compiler if module source m is compiled in in_dir and used as an interface compilation dependency.
val as_impl_dep_files : ?init:B00_std.Fpath.t list -> code:Cobj.code -> in_dir:B00_std.Fpath.t -> t -> B00_std.Fpath.t listas_impl_dep_files ~init ~code ~in_dir m adds to init (defaults to []) the files that are read by the OCaml compiler if module source m is compiled in in_dir and used an implementation file dependency for code code.
Module name maps
val of_srcs : B00.Memo.t -> src_deps:Mod_name.Set.t B00_std.Fpath.Map.t -> srcs:B00_std.Fpath.t list -> t Mod_name.Map.tof_srcs ~src_deps deps ~srcs determines source modules (mapped by their names) given sources srcs and their dependencies src_deps (e.g. obtainted via Deps.read. If there's more than one mli or ml file for a given module name a warning is notified on m and a single one is kept.
val find_local_deps : t Mod_name.Map.t -> Mod_name.Set.t -> t list * Mod_name.Set.tfind_local_deps ms deps is (mods, remain) with mods the modules of ms whose name is in deps and remain the names of deps which cannot be found in ms.