Signatures.PLUGIN
module Command : sig ... end
module StringSet : sig ... end
module Options : sig ... end
module Findlib : sig ... end
val opt_print : (Format.formatter -> 'a -> unit) -> Format.formatter -> 'a option -> unit
val with_input_file : ?bin:bool -> string -> (in_channel -> 'a) -> 'a
val with_output_file : ?bin:bool -> string -> (out_channel -> 'a) -> 'a
val copy_chan : in_channel -> out_channel -> unit
val print_string_list : Format.formatter -> string list -> unit
val (!*) : 'a Lazy.t -> 'a
val (@:=) : 'a list ref -> 'a list -> unit
type command = Command.t =
| Seq of command list |
| Cmd of spec |
| Echo of string list * Pathname.t |
| Nop |
and spec = Command.spec =
| N |
| S of spec list |
| A of string |
| P of string |
| Px of string |
| Sh of string |
| T of Tags.t |
| V of string |
| Quote of spec |
val (/) : Pathname.t -> Pathname.t -> Pathname.t
val (-.-) : Pathname.t -> string -> Pathname.t
type env = Pathname.t -> Pathname.t
type builder = Pathname.t list list -> (Pathname.t, exn) Outcome.t list
val rule : string -> ?tags:string list -> ?prods:string list -> ?deps:string list ->
?prod:string -> ?dep:string -> ?stamp:string ->
?insert:[ `after of string | `before of string | `bottom | `top ] ->
?doc:string -> action -> unit
val dep : Tags.elt list -> Pathname.t list -> unit
val pdep : Tags.elt list -> Tags.elt -> (string -> Pathname.t list) -> unit
val flag : Tags.elt list -> Command.spec -> unit
val pflag : Tags.elt list -> Tags.elt -> (string -> Command.spec) -> unit
val flag_and_dep : Tags.elt list -> Command.spec -> unit
val pflag_and_dep : Tags.elt list -> Tags.elt -> (string -> Command.spec) -> unit
val mark_tag_used : Tags.elt -> unit
val non_dependency : Pathname.t -> string -> unit
val use_lib : Pathname.t -> Pathname.t -> unit
val ocaml_lib : ?extern:bool -> ?byte:bool -> ?native:bool -> ?dir:Pathname.t ->
?tag_name:string -> Pathname.t -> unit
val expand_module : Pathname.t list -> Pathname.t -> string list -> Pathname.t list
val string_list_of_file : Pathname.t -> string list
val module_name_of_pathname : Pathname.t -> string
val mv : Pathname.t -> Pathname.t -> Command.t
val cp : Pathname.t -> Pathname.t -> Command.t
val ln_f : Pathname.t -> Pathname.t -> Command.t
val ln_s : Pathname.t -> Pathname.t -> Command.t
val rm_f : Pathname.t -> Command.t
val chmod : Command.spec -> Pathname.t -> Command.t
val cmp : Pathname.t -> Pathname.t -> Command.t
val tag_file : Pathname.t -> Tags.elt list -> unit
val tag_any : Tags.elt list -> unit
val tags_of_pathname : Pathname.t -> Tags.t
val dispatch : (hook -> unit) -> unit