Brzo_ocaml_beOCaml domain best-effort helpers.
The type for ambiguous external resolutions. The module name and the list of files that could match.
val resolve_intf_deps :
Brzo_b0_ocaml.Mod_resolver.t ->
local_mods:B0_ocaml.Modsrc.t B0_ocaml.Modname.Map.t ->
in_dir:B0_std.Fpath.t ->
B0_ocaml.Modname.Set.t ->
(B0_std.Fpath.t list * B0_std.Fpath.t list * B0_ocaml.Modname.Set.t * ambs)
B0_std.Fut.tresolve_intf_deps is like resolve_impl_deps but for compiling and interface.
val resolve_impl_deps :
Brzo_b0_ocaml.Mod_resolver.t ->
code:B0_ocaml.Code.t ->
local_mods:B0_ocaml.Modsrc.t B0_ocaml.Modname.Map.t ->
in_dir:B0_std.Fpath.t ->
B0_ocaml.Modname.Set.t ->
(B0_std.Fpath.t list * B0_std.Fpath.t list * B0_ocaml.Modname.Set.t * ambs)
B0_std.Fut.tresolve_comp_deps r ~code ~local_mods ~in_dir deps resolve deps for compiling an implementation to code assuming local module local_mods are compiled in in_dir. This results in local_objs, ext_objs, unresolved, amb with:
local_deps are path to compilation objects that corresponds to local_mods.ext_objs are external compilatino objects as resolved by r and its constraints.unresolved are the elements of deps that couldn't be resolved.amb are the external resolutions that were ambiguous.val handle_amb_deps :
Brzo_b0_ocaml.Mod_resolver.t ->
B0_std.Fpath.t ->
unresolved:B0_ocaml.Modname.Set.t ->
ambs ->
unit B0_std.Fut.thandle_amb_deps file ~unresolved ambs continues if ambs is empty and otherwise fails the fiber (* FIXME *) with help on how to restrict the resolver or getting unresolved dependencies. file is the file for which amibguities were reported.
val handle_miss_user_deps :
Brzo_b0_ocaml.Mod_resolver.t ->
[ `Miss_deps of Brzo_b0_ocaml.Mod_resolver.dep list ] ->
unit B0_std.Fut.thandle_miss_user_deps r miss k continues with k if miss is empty and otherwise fails the Fut.t with help on how to try to get the missing dependencies.