package ocamlbuild

  1. Overview
  2. Docs
module Pathname : sig ... end
module Tags : sig ... end
module Command : sig ... end
module Outcome : sig ... end
module StringSet : sig ... end
module Options : sig ... end
module Findlib : sig ... end
val opt_print : (Stdlib.Format.formatter -> 'a -> unit) -> Stdlib.Format.formatter -> 'a option -> unit
val the : 'a option -> 'a
val getenv : ?default:string -> string -> string
val with_input_file : ?bin:bool -> string -> (Stdlib.in_channel -> 'a) -> 'a
val with_output_file : ?bin:bool -> string -> (Stdlib.out_channel -> 'a) -> 'a
val with_temp_file : string -> string -> (string -> 'a) -> 'a
val read_file : string -> string
val copy_chan : Stdlib.in_channel -> Stdlib.out_channel -> unit
val copy_file : string -> string -> unit
val print_string_list : Stdlib.Format.formatter -> string list -> unit
val (!*) : 'a Stdlib.Lazy.t -> 'a
val (&) : ('a -> 'b) -> 'a -> 'b
val (|>) : 'a -> ('a -> 'b) -> 'b
val (@:=) : 'a list Stdlib.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 =
  1. | Seq of command list
  2. | Cmd of spec
  3. | Echo of string list * Pathname.t
  4. | Nop
and spec = Command.spec =
  1. | N
  2. | S of spec list
  3. | A of string
  4. | P of string
  5. | Px of string
  6. | Sh of string
  7. | T of Tags.t
  8. | V of string
  9. | Quote of spec
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 rm_f : 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 =
  1. | Before_hygiene
  2. | After_hygiene
  3. | Before_options
  4. | After_options
  5. | Before_rules
  6. | After_rules
val dispatch : (hook -> unit) -> unit