Module B0_build

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