2016-12-02 13:54:32 +00:00
|
|
|
(** Build rules *)
|
|
|
|
|
2016-12-15 13:00:30 +00:00
|
|
|
open! Import
|
2016-12-02 13:54:32 +00:00
|
|
|
|
2016-12-15 11:20:46 +00:00
|
|
|
type t
|
2016-12-02 13:54:32 +00:00
|
|
|
|
2016-12-31 15:12:39 +00:00
|
|
|
val create : file_tree:File_tree.t -> rules:(unit, unit) Build.t list -> t
|
2016-12-02 13:54:32 +00:00
|
|
|
|
|
|
|
module Build_error : sig
|
|
|
|
type t
|
|
|
|
|
|
|
|
val backtrace : t -> Printexc.raw_backtrace
|
|
|
|
val dependency_path : t -> Path.t list
|
|
|
|
val exn : t -> exn
|
|
|
|
|
|
|
|
exception E of t
|
|
|
|
end
|
|
|
|
|
|
|
|
(** Do the actual build *)
|
2016-12-15 11:20:46 +00:00
|
|
|
val do_build : t -> Path.t list -> (unit Future.t, Build_error.t) result
|
|
|
|
val do_build_exn : t -> Path.t list -> unit Future.t
|
2016-12-02 13:54:32 +00:00
|
|
|
|
|
|
|
(** Return all the library dependencies (as written by the user) needed to build these
|
|
|
|
targets *)
|
2016-12-15 13:00:30 +00:00
|
|
|
val all_lib_deps : t -> Path.t list -> Build.lib_deps Path.Map.t
|