Module Ocamlbuild_plugin

module Pathname : sig ... end
module Tags : sig ... end
module Command : sig ... end
module Outcome : sig ... end
module String : Ocamlbuild_pack.Signatures.STRING
module List : Ocamlbuild_pack.Signatures.LIST
module StringSet : sig ... end
module Options : sig ... end
module Arch : Ocamlbuild_pack.Signatures.ARCH
module Findlib : sig ... end
val opt_print : (Format.formatter -> 'a -> unit) -> Format.formatter -> 'a option -> unit
val the : 'a option -> 'a
val getenv : ?default:string -> string -> string
val with_input_file : ?bin:bool -> string -> (Pervasives.in_channel -> 'a) -> 'a
val with_output_file : ?bin:bool -> string -> (Pervasives.out_channel -> 'a) -> 'a
val with_temp_file : string -> string -> (string -> 'a) -> 'a
val read_file : string -> string
val copy_chan : Pervasives.in_channel -> Pervasives.out_channel -> unit
val copy_file : string -> string -> unit
val print_string_list : Format.formatter -> string list -> unit
val (!*) : 'a Lazy.t -> 'a
val (&) : ('a -> 'b) -> 'a -> 'b
val (|>) : 'a -> ('a -> 'b) -> 'b
val (@:=) : 'a list Pervasives.ref -> 'a list -> unit
val memo : ('a -> 'b) -> 'a -> 'b
val memo2 : ('a -> 'b -> 'c) -> 'a -> 'b -> 'c
val memo3 : ('a -> 'b -> 'c -> 'd) -> 'a -> 'b -> 'c -> 'd
type command = Command.t =
| Seq of command list
| Cmd of spec
| Echo of string list * Pathname.t
| Nop
type 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
val (++) : Tags.t -> Tags.elt -> Tags.t
val (--) : Tags.t -> Tags.elt -> Tags.t
val (+++) : Tags.t -> Tags.elt option -> Tags.t
val (---) : Tags.t -> Tags.elt option -> Tags.t
type env = Pathname.t -> Pathname.t
type builder = Pathname.t list list -> (Pathname.t, exn) Outcome.t list
type action = env -> builder -> Command.t
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 copy_rule : string -> ?insert:[ `after of string | `before of string | `bottom | `top ] -> string -> string -> unit
val clear_rules : unit -> 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 hide_package_contents : string -> unit
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 run_and_read : string -> string
type hook =
| Before_hygiene
| After_hygiene
| Before_options
| After_options
| Before_rules
| After_rules
val dispatch : (hook -> unit) -> unit