Module B0_unit.Build

type build_unit = t
type t = build
val memo : t -> B00.Memo.t
val must_build : t -> Set.t
val may_build : t -> Set.t
val require : t -> build_unit -> unit
val current : t -> build_unit
val current_meta : t -> B0_meta.t
val current_scope_dir : t -> B0_std.Fpath.t
val current_build_dir : t -> B0_std.Fpath.t
val shared_build_dir : t -> B0_std.Fpath.t
val scope_dir : t -> build_unit -> B0_std.Fpath.t
val build_dir : t -> build_unit -> B0_std.Fpath.t
val in_build_dir : t -> B0_std.Fpath.t -> B0_std.Fpath.t
val in_scope_dir : t -> B0_std.Fpath.t -> B0_std.Fpath.t
val in_shared_build_dir : t -> B0_std.Fpath.t -> B0_std.Fpath.t
val create : root_dir:B0_std.Fpath.t -> b0_dir:B0_std.Fpath.t -> variant:string -> B00.Memo.t -> may_build:Set.t -> must_build:Set.t -> t
val store : t -> B00.Store.t
val get : t -> 'a B00.Store.key -> 'a B0_std.Fut.t
val self : t B00.Store.key
val run : t -> (unit, unit) result