sig   module Tool :     sig       val ocamldep : B0.Tool.t B0.Conf.key       val ocamlc : B0.Tool.t B0.Conf.key       val ocamlopt : B0.Tool.t B0.Conf.key       val ocamlmktop : B0.Tool.t B0.Conf.key       val ocamlmklib : B0.Tool.t B0.Conf.key       val env_vars : B0.Tool.env_vars     end   module Key :     sig       val build_byte : bool B0.Conf.key       val build_native : bool B0.Conf.key       val build_native_dynlink : bool B0.Conf.key       val build_cmtis : bool B0.Conf.key       val stacktraces : bool B0.Conf.key     end   type conf   val conf : B0.Build.t -> B0_ocaml.conf   module Conf :     sig       val build_byte : B0_ocaml.conf -> bool       val build_native : B0_ocaml.conf -> bool       val build_native_dynlink : B0_ocaml.conf -> bool       val build_cmtis : B0_ocaml.conf -> bool       val byte_compiler : B0_ocaml.conf -> B0.Cmd.t -> B0.Build.run       val native_compiler : B0_ocaml.conf -> B0.Cmd.t -> B0.Build.run       val cmi_compiler : B0_ocaml.conf -> B0.Cmd.t -> B0.Build.run       val stacktraces : B0_ocaml.conf -> B0.Cmd.t       val exe_ext : B0_ocaml.conf -> B0.Fpath.ext       val native_ext : B0_ocaml.conf -> B0.Fpath.ext       val byte_ext : B0_ocaml.conf -> B0.Fpath.ext       val cobj_ext : B0_ocaml.conf -> B0.Fpath.ext       val clib_ext : B0_ocaml.conf -> B0.Fpath.ext       val cdll_ext : B0_ocaml.conf -> B0.Fpath.ext     end   module Lib :     sig       type name = string       type t       type set       val empty : B0_ocaml.Lib.set       val is_empty : B0_ocaml.Lib.set -> bool       val root_libs : B0_ocaml.Lib.set -> B0_ocaml.Lib.t list       val libs : B0_ocaml.Lib.set -> B0_ocaml.Lib.t list       val incs_comp : B0_ocaml.Lib.set -> B0.Fpath.t list       val incs_link : B0_ocaml.Lib.set -> B0.Fpath.t list       val cmas : B0_ocaml.Lib.set -> B0.Fpath.t list       val cmxas : B0_ocaml.Lib.set -> B0.Fpath.t list       val cmxa_clibs : B0_ocaml.Lib.set -> B0.Fpath.t list       type resolver       val resolve :         B0.Build.t ->         B0_ocaml.Lib.resolver ->         B0_ocaml.conf ->         B0_ocaml.Lib.name list ->         B0.Fpath.t -> B0_ocaml.Lib.set B0.Build.fiber       val get_resolver :         B0.Build.t -> B0_ocaml.Lib.resolver option -> B0_ocaml.Lib.resolver       val ocamlfind : B0.Tool.t B0.Conf.key     end   module Deps :     sig       type t       val write :         ?opts:B0.Cmd.t ->         B0.Build.t -> srcs:B0.Fpath.t list -> B0.Fpath.t -> unit       val read :         B0.Build.t ->         B0.Fpath.t -> dst:B0.Fpath.t -> B0_ocaml.Deps.t B0.Build.fiber       val of_ocamldep_output :         src:B0.Fpath.t ->         string ->         ('-> B0.Fpath.t -> string list -> 'a) -> '-> 'B0.result     end   module Build :     sig       val srcs :         B0.Build.t -> dir:B0.Fpath.t -> B0.Fpath.t list * B0.Fpath.t list       val compile :         ?lib_deps:B0_ocaml.Lib.set ->         B0.Build.t ->         B0_ocaml.conf -> B0_ocaml.Deps.t -> dst:B0.Fpath.t -> unit       val link :         ?lib_deps:B0_ocaml.Lib.set ->         B0.Build.t ->         B0_ocaml.conf ->         B0_ocaml.Deps.t ->         cobjs:B0.Fpath.t list -> dst:B0.Fpath.t -> string -> unit       val archive :         B0.Build.t ->         B0_ocaml.conf ->         B0_ocaml.Deps.t -> cstubs:bool -> dst:B0.Fpath.t -> string -> unit       val exe :         ?csrcs:B0.Fpath.t list ->         ?lib_deps:B0_ocaml.Lib.set ->         B0.Build.t -> B0_ocaml.conf -> srcs:B0.Fpath.t list -> string -> unit       val lib :         ?csrcs:B0.Fpath.t list ->         ?lib_deps:B0_ocaml.Lib.set ->         B0.Build.t -> B0_ocaml.conf -> srcs:B0.Fpath.t list -> string -> unit       val tool :         ?internal:B0.Tool.env_vars ->         ?env_vars:B0.Tool.env_vars ->         ?name:B0.Fpath.t ->         B0.build -> B0.Unit.t -> B0_ocaml.conf -> B0.Cmd.t -> B0.Build.run     end   module Unit :     sig       type build =           [ `Func of               B0_ocaml.Lib.resolver option ->               B0_ocaml.Lib.name list -> string -> B0.Build.t -> unit           | `Src_dirs of B0.Fpath.t list           | `Srcs of B0.Fpath.t list ]       val exe :         ?loc:B0.Def.loc ->         ?src_root:B0.Fpath.t ->         ?doc:string ->         ?only_aim:B0.Env.build_aim ->         ?pkg:B0.Pkg.t ->         ?meta:B0.Meta.Unit.t ->         ?resolver:B0_ocaml.Lib.resolver ->         ?lib_deps:B0_ocaml.Lib.name list ->         ?name:string -> string -> B0_ocaml.Unit.build -> B0.Unit.t       val lib :         ?loc:B0.Def.loc ->         ?src_root:B0.Fpath.t ->         ?doc:string ->         ?only_aim:B0.Env.build_aim ->         ?pkg:B0.Pkg.t ->         ?meta:B0.Meta.Unit.t ->         ?resolver:B0_ocaml.Lib.resolver ->         ?lib_deps:B0_ocaml.Lib.name list ->         ?name:string -> string -> B0_ocaml.Unit.build -> B0.Unit.t       val tag : bool B0.Meta.Unit.key       val lib_deps : B0_ocaml.Lib.name list B0.Meta.Unit.key       val lib_name : B0_ocaml.Lib.name B0.Meta.Unit.key       val exe_meta :         lib_deps:B0_ocaml.Lib.name list -> string -> B0.Meta.Unit.t       val lib_meta :         lib_deps:B0_ocaml.Lib.name list -> string -> B0.Meta.Unit.t     end end