package rmlbuild

  1. Overview
  2. Docs
type tags = Tags.t
type pathname = string
type t =
  1. | Seq of t list
  2. | Cmd of spec
  3. | Echo of string list * pathname
  4. | Nop
and spec =
  1. | N
  2. | S of spec list
  3. | A of string
  4. | P of pathname
  5. | Px of pathname
  6. | Sh of string
  7. | T of tags
  8. | V of string
  9. | Quote of spec
val atomize : string list -> spec
val atomize_paths : string list -> spec
val execute : ?quiet:bool -> ?pretend:bool -> t -> unit
val execute_many : ?quiet:bool -> ?pretend:bool -> t list -> (bool list * exn) option
val setup_virtual_command_solver : string -> (unit -> spec) -> unit
val search_in_path : string -> string
val reduce : spec -> spec
val print : Format.formatter -> t -> unit
val to_string : t -> string
val string_of_command_spec : spec -> string
val string_target_and_tags_of_command_spec : spec -> string * string * Tags.t
val iter_tags : (Tags.t -> unit) -> t -> unit
val fold_pathnames : (pathname -> 'a -> 'a) -> t -> 'a -> 'a
val digest : t -> Digest.t
val jobs : int ref
val tag_handler : (Tags.t -> spec) ref
val dump_parallel_stats : unit -> unit
val deps_of_tags : Tags.t -> pathname list
val dep : Tags.elt list -> pathname list -> unit
val pdep : Tags.elt list -> Tags.elt -> (string -> pathname list) -> unit
val list_all_deps : unit -> (Tags.t * pathname list) list
val file_or_exe_exists : string -> bool