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