Module Ocamlbuild_plugin


module Ocamlbuild_plugin: sig .. end

include Ocamlbuild_pack.My_std
module Arch: Ocamlbuild_pack.Ocaml_arch
module Command: Ocamlbuild_pack.Command
module Pathname: Ocamlbuild_pack.Pathname
module Tags: Ocamlbuild_pack.Tags
include Pathname.Operators
include Tags.Operators
module Rule: Ocamlbuild_pack.Rule
module Options: Ocamlbuild_pack.Options
module Findlib: Ocamlbuild_pack.Findlib
type command = Command.t = 
| Seq of command list
| Cmd of spec
| Echo of string list * string
| 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
include Rule.Common_commands
type env = Pathname.t -> Pathname.t 
type builder = Pathname.t list list ->
(Pathname.t, exn) Ocamlbuild_pack.My_std.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 ] ->
Rule.action -> unit
val clear_rules : unit -> unit
val dep : Ocamlbuild_pack.Tags.elt list ->
Command.pathname list -> unit
val pdep : Ocamlbuild_pack.Tags.elt list ->
Ocamlbuild_pack.Tags.elt ->
(string -> Command.pathname list) -> unit
val copy_rule : string ->
?insert:[ `after of string | `before of string | `bottom | `top ] ->
string -> string -> unit
val ocaml_lib : ?extern:bool ->
?byte:bool ->
?native:bool ->
?dir:Ocamlbuild_pack.Pathname.t ->
?tag_name:string -> Ocamlbuild_pack.Pathname.t -> unit
val flag : Ocamlbuild_pack.Tags.elt list -> Ocamlbuild_pack.Command.spec -> unit
val pflag : Ocamlbuild_pack.Tags.elt list ->
string -> (string -> Ocamlbuild_pack.Command.spec) -> unit
val flag_and_dep : Ocamlbuild_pack.Tags.elt list -> Ocamlbuild_pack.Command.spec -> unit
val pflag_and_dep : Ocamlbuild_pack.Tags.elt list ->
Ocamlbuild_pack.Tags.elt -> (string -> Ocamlbuild_pack.Command.spec) -> unit
val non_dependency : string -> string -> unit
val use_lib : Ocamlbuild_pack.Pathname.t -> Ocamlbuild_pack.Pathname.t -> unit
val module_name_of_pathname : Ocamlbuild_pack.Pathname.t -> string
val string_list_of_file : string -> string list
val expand_module : Ocamlbuild_pack.Pathname.t list ->
Ocamlbuild_pack.Pathname.t -> string list -> Ocamlbuild_pack.Pathname.t list
val tags_of_pathname : Ocamlbuild_pack.Pathname.t -> Ocamlbuild_pack.Tags.t
val hide_package_contents : string -> unit
val tag_file : Ocamlbuild_pack.Pathname.t -> Ocamlbuild_pack.Tags.elt list -> unit
val tag_any : Ocamlbuild_pack.Tags.elt list -> unit
val run_and_read : string -> string
type hook = Ocamlbuild_pack.Hooks.message = 
| Before_hygiene
| After_hygiene
| Before_options
| After_options
| Before_rules
| After_rules
val dispatch : (Ocamlbuild_pack.Hooks.message -> unit) -> unit