package b0
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=dba2fc571f39f3b8e87ee55c77bdec7ec6a5ddc7d99b8b20aeda848af546be04
md5=51ee1d66acc4d7f87bdceac1341b7711
doc/b00_kit/B00_ocaml/Mod_src/index.html
Module B00_ocaml.Mod_src
Module sources.
Modules
module Deps : sig ... end
Source 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 ->
t
v ~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.t
mod_name m
is m
's name.
val opaque : t -> bool
opaque 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 option
mli m
is m
's interface file (if any).
val mli_deps : t -> Mod_name.Set.t
mli_deps m
are m
's interface file dependencies.
val ml : t -> B00_std.Fpath.t option
ml m
is m
's implementation file (if any).
val ml_deps : t -> Mod_name.Set.t
ml_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.t
file ~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.t
cmi_file ~in_dir m
is file ~in_dir m ext:".cmi"
.
val cmo_file : in_dir:B00_std.Fpath.t -> t -> B00_std.Fpath.t
cmx_file ~in_dir m
is fil_ ~in_dir m ext:".cmo"
.
val cmx_file : in_dir:B00_std.Fpath.t -> t -> B00_std.Fpath.t
cmx_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.t
val as_intf_dep_files :
?init:B00_std.Fpath.t list ->
in_dir:B00_std.Fpath.t ->
t ->
B00_std.Fpath.t list
as_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 list
as_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.t
of_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.t
find_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
.