• en

Module Ocamlbuild_pack

module Loc : sig
type location = (Lexing.position * Lexing.position)
val print_loc : Format.formatter -> location -> unit
val print_loc_option : Format.formatter -> location option -> unit
val of_lexbuf : Lexing.lexbuf -> location
end
module Discard_printf : sig
val discard_printf : ('a, Format.formatter, unit) Pervasives.format -> 'a
end
module Signatures : sig
module type OrderedTypePrintable = sig
type t
val compare : t -> t -> int
val print : Format.formatter -> t -> unit
end
module type SET = sig
type elt
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : elt -> unit -> t -> unit
val fold : elt -> 'a -> 'a -> t -> 'a -> 'a
val for_all : elt -> bool -> t -> bool
val exists : elt -> bool -> t -> bool
val filter : elt -> bool -> t -> t
val partition : elt -> bool -> t -> (t * t)
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val max_elt : t -> elt
val choose : t -> elt
val split : elt -> t -> (t * bool * t)
val find : elt -> t -> elt
val find_elt : elt -> bool -> t -> elt
val map : elt -> elt -> t -> t
val of_list : elt list -> t
val print : Format.formatter -> t -> unit
end
module type LIST = sig
val print : Format.formatter -> 'a -> 'b -> Format.formatter -> 'a list -> unit
val filter_opt : 'a -> 'b option -> 'a list -> 'b list
val union : 'a list -> 'a list -> 'a list
val ordered_unique : 'a list -> 'a list
val length : 'a list -> int
val hd : 'a list -> 'a
val tl : 'a list -> 'a list
val nth : 'a list -> int -> 'a
val rev : 'a list -> 'a list
val append : 'a list -> 'a list -> 'a list
val rev_append : 'a list -> 'a list -> 'a list
val concat : 'a list list -> 'a list
val flatten : 'a list list -> 'a list
val iter : 'a -> unit -> 'a list -> unit
val iteri : int -> 'a -> unit -> 'a list -> unit
val map : 'a -> 'b -> 'a list -> 'b list
val mapi : int -> 'a -> 'b -> 'a list -> 'b list
val rev_map : 'a -> 'b -> 'a list -> 'b list
val fold_left : 'a -> 'b -> 'a -> 'a -> 'b list -> 'a
val fold_right : 'a -> 'b -> 'b -> 'a list -> 'b -> 'b
val iter2 : 'a -> 'b -> unit -> 'a list -> 'b list -> unit
val map2 : 'a -> 'b -> 'c -> 'a list -> 'b list -> 'c list
val rev_map2 : 'a -> 'b -> 'c -> 'a list -> 'b list -> 'c list
val fold_left2 : 'a -> 'b -> 'c -> 'a -> 'a -> 'b list -> 'c list -> 'a
val fold_right2 : 'a -> 'b -> 'c -> 'c -> 'a list -> 'b list -> 'c -> 'c
val for_all : 'a -> bool -> 'a list -> bool
val exists : 'a -> bool -> 'a list -> bool
val for_all2 : 'a -> 'b -> bool -> 'a list -> 'b list -> bool
val exists2 : 'a -> 'b -> bool -> 'a list -> 'b list -> bool
val mem : 'a -> 'a list -> bool
val memq : 'a -> 'a list -> bool
val find : 'a -> bool -> 'a list -> 'a
val filter : 'a -> bool -> 'a list -> 'a list
val find_all : 'a -> bool -> 'a list -> 'a list
val partition : 'a -> bool -> 'a list -> ('a list * 'a list)
val assoc : 'a -> ('a * 'b) list -> 'b
val assq : 'a -> ('a * 'b) list -> 'b
val mem_assoc : 'a -> ('a * 'b) list -> bool
val mem_assq : 'a -> ('a * 'b) list -> bool
val remove_assoc : 'a -> ('a * 'b) list -> ('a * 'b) list
val remove_assq : 'a -> ('a * 'b) list -> ('a * 'b) list
val split : ('a * 'b) list -> ('a list * 'b list)
val combine : 'a list -> 'b list -> ('a * 'b) list
val sort : 'a -> 'a -> int -> 'a list -> 'a list
val stable_sort : 'a -> 'a -> int -> 'a list -> 'a list
val fast_sort : 'a -> 'a -> int -> 'a list -> 'a list
val sort_uniq : 'a -> 'a -> int -> 'a list -> 'a list
val merge : 'a -> 'a -> int -> 'a list -> 'a list -> 'a list
end
module type STRING = sig
val print : Format.formatter -> string -> unit
val chomp : string -> string
val before : string -> int -> string
val after : string -> int -> string
val first_chars : string -> int -> string
val last_chars : string -> int -> string
val eq_sub_strings : string -> int -> string -> int -> int -> bool
val is_prefix : string -> string -> bool
val is_suffix : string -> string -> bool
val contains_string : string -> int -> string -> int option
val subst : string -> string -> string -> string
val tr : char -> char -> string -> string
val rev : string -> string
val implode : char list -> string
val explode : string -> char list
val length : string -> int
val get : string -> int -> char
val set : bytes -> int -> char -> unit
val create : int -> bytes
val make : int -> char -> string
val init : int -> int -> char -> string
val copy : string -> string
val sub : string -> int -> int -> string
val fill : bytes -> int -> int -> char -> unit
val blit : string -> int -> bytes -> int -> int -> unit
val concat : string -> string list -> string
val iter : char -> unit -> string -> unit
val iteri : int -> char -> unit -> string -> unit
val map : char -> char -> string -> string
val mapi : int -> char -> char -> string -> string
val trim : string -> string
val escaped : string -> string
val index : string -> char -> int
val rindex : string -> char -> int
val index_from : string -> int -> char -> int
val rindex_from : string -> int -> char -> int
val contains : string -> char -> bool
val contains_from : string -> int -> char -> bool
val rcontains_from : string -> int -> char -> bool
val uppercase : string -> string
val lowercase : string -> string
val capitalize : string -> string
val uncapitalize : string -> string
type t = string
val compare : t -> t -> int
val unsafe_get : string -> int -> char
val unsafe_set : bytes -> int -> char -> unit
val unsafe_blit : string -> int -> bytes -> int -> int -> unit
val unsafe_fill : bytes -> int -> int -> char -> unit
end
module type TAGS = sig
type elt = string
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : elt -> unit -> t -> unit
val fold : elt -> 'a -> 'a -> t -> 'a -> 'a
val for_all : elt -> bool -> t -> bool
val exists : elt -> bool -> t -> bool
val filter : elt -> bool -> t -> t
val partition : elt -> bool -> t -> (t * t)
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val max_elt : t -> elt
val choose : t -> elt
val split : elt -> t -> (t * bool * t)
val find : elt -> t -> elt
val of_list : string list -> t
val print : Format.formatter -> t -> unit
val does_match : t -> t -> bool
module Operators : sig
val (/) : t -> t -> t
val (-.-) : t -> string -> t
end
end
module type PATHNAME = sig
type t = string
val concat : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val exists : t -> bool
val mk : string -> t
val define_context : string -> string list -> unit
val include_dirs_of : string -> string list
val copy : t -> t -> unit
val to_string : t -> string
val print : Format.formatter -> t -> unit
val current_dir_name : t
val parent_dir_name : t
val read : t -> string
val same_contents : t -> t -> bool
val basename : t -> t
val dirname : t -> t
val is_relative : t -> bool
val readdir : t -> t array
val is_directory : t -> bool
val add_extension : string -> t -> t
val check_extension : t -> string -> bool
val get_extension : t -> string
val remove_extension : t -> t
val update_extension : string -> t -> t
val get_extensions : t -> string
val remove_extensions : t -> t
val update_extensions : string -> t -> t
val print_path_list : Format.formatter -> t list -> unit
val pwd : t
val parent : t -> t
val is_prefix : t -> t -> bool
val is_implicit : t -> bool
module Operators : sig
val (/) : t -> t -> t
val (-.-) : t -> string -> t
end
end
module type COMMAND = sig
type tags
type pathname
type t =
| Seq of t list
| Cmd of spec
| Echo of string list * pathname
| Nop
type spec =
| N
| S of spec list
| A of string
| P of pathname
| Px of pathname
| Sh of string
| T of tags
| V of string
| Quote of spec
val atomize : string list -> spec
val atomize_paths : string list -> spec
val execute : ?quiet:bool -> ?pretend:bool -> t -> unit
val execute_many : ?quiet:bool -> ?pretend:bool -> t list -> (bool list * exn) option
val setup_virtual_command_solver : string -> unit -> spec -> unit
val search_in_path : string -> string
val reduce : spec -> spec
val print : Format.formatter -> t -> unit
val to_string : t -> string
val string_of_command_spec : spec -> string
end
module type GLOB = sig
type globber
val parse : ?dir:string -> string -> globber
exception Parse_error of string
val eval : globber -> string -> bool
end
module type LOG = sig
val level : int Pervasives.ref
val dprintf : int -> ('a, Format.formatter, unit) Pervasives.format -> 'a
val eprintf : ('a, Format.formatter, unit) Pervasives.format -> 'a
val raw_dprintf : int -> ('a, Format.formatter, unit) Pervasives.format -> 'a
end
module type OUTCOME = sig
type ('a, 'b) t =
| Good of 'a
| Bad of 'b
val wrap : 'a -> 'b -> 'a -> ('b, exn) t
val ignore_good : ('a, exn) t -> unit
val good : ('a, exn) t -> 'a
end
module type MISC = sig
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
end
module type OPTIONS = sig
type command_spec
val build_dir : string Pervasives.ref
val include_dirs : string list Pervasives.ref
val exclude_dirs : string list Pervasives.ref
val nothing_should_be_rebuilt : bool Pervasives.ref
val ocamlc : command_spec Pervasives.ref
val ocamlopt : command_spec Pervasives.ref
val ocamldep : command_spec Pervasives.ref
val ocamldoc : command_spec Pervasives.ref
val ocamlyacc : command_spec Pervasives.ref
val ocamllex : command_spec Pervasives.ref
val ocamlrun : command_spec Pervasives.ref
val ocamlmklib : command_spec Pervasives.ref
val ocamlmktop : command_spec Pervasives.ref
val hygiene : bool Pervasives.ref
val sanitize : bool Pervasives.ref
val sanitization_script : string Pervasives.ref
val ignore_auto : bool Pervasives.ref
val plugin : bool Pervasives.ref
val just_plugin : bool Pervasives.ref
val native_plugin : bool Pervasives.ref
val nostdlib : bool Pervasives.ref
val program_to_execute : bool Pervasives.ref
val must_clean : bool Pervasives.ref
val catch_errors : bool Pervasives.ref
val use_menhir : bool Pervasives.ref
val show_documentation : bool Pervasives.ref
val recursive : bool Pervasives.ref
val use_ocamlfind : bool Pervasives.ref
val targets : string list Pervasives.ref
val ocaml_libs : string list Pervasives.ref
val ocaml_mods : string list Pervasives.ref
val ocaml_pkgs : string list Pervasives.ref
val ocaml_syntax : string option Pervasives.ref
val ocaml_cflags : string list Pervasives.ref
val ocaml_lflags : string list Pervasives.ref
val ocaml_ppflags : string list Pervasives.ref
val ocaml_docflags : string list Pervasives.ref
val ocaml_yaccflags : string list Pervasives.ref
val ocaml_lexflags : string list Pervasives.ref
val program_args : string list Pervasives.ref
val ignore_list : string list Pervasives.ref
val tags : string list Pervasives.ref
val tag_lines : string list Pervasives.ref
val show_tags : string list Pervasives.ref
val ext_obj : string Pervasives.ref
val ext_lib : string Pervasives.ref
val ext_dll : string Pervasives.ref
val exe : string Pervasives.ref
val add : (string * Arg.spec * string) -> unit
end
module type ARCH = sig
type 'a arch =
| Arch_dir of string * 'a * 'a arch list
| Arch_dir_pack of string * 'a * 'a arch list
| Arch_file of string * 'a
val dir : string -> unit arch list -> unit arch
val dir_pack : string -> unit arch list -> unit arch
val file : string -> unit arch
type info = {
current_path : string;
include_dirs : string list;
for_pack : string;
}
val annotate : 'a arch -> info arch
val print : Format.formatter -> 'a -> unit -> Format.formatter -> 'a arch -> unit
val print_include_dirs : Format.formatter -> string list -> unit
val print_info : Format.formatter -> info -> unit
val iter_info : 'a -> unit -> 'a arch -> unit
val fold_info : 'a -> 'b -> 'b -> 'a arch -> 'b -> 'b
val iter_include_dirs : info arch -> string -> unit -> unit
val mk_tables : info arch -> ((string, string list) Hashtbl.t * (string, string) Hashtbl.t)
val print_table : Format.formatter -> 'a -> unit -> Format.formatter -> (string, 'a) Hashtbl.t -> unit
end
module type FINDLIB = sig
type command_spec
type error =
| Cannot_run_ocamlfind
| Dependency_not_found of string * string
| Package_not_found of string
| Cannot_parse_query of string * string
exception Findlib_error of error
val string_of_error : error -> string
val report_error : error -> 'a
type package = {
name : string;
description : string;
version : string;
archives_byte : string;
archives_native : string;
link_options : string;
location : string;
dependencies : package list;
}
val query : string -> package
val list : unit -> string list
val topological_closure : package list -> package list
val compile_flags_byte : package list -> command_spec
val compile_flags_native : package list -> command_spec
end
module type PLUGIN = sig
module Pathname : PATHNAME
module Tags : TAGS
module Command : sig
type tags = Tags.t
type pathname = Pathname.t
type t =
| Seq of t list
| Cmd of spec
| Echo of string list * pathname
| Nop
type spec =
| N
| S of spec list
| A of string
| P of pathname
| Px of pathname
| Sh of string
| T of tags
| V of string
| Quote of spec
val atomize : string list -> spec
val atomize_paths : string list -> spec
val execute : ?quiet:bool -> ?pretend:bool -> t -> unit
val execute_many : ?quiet:bool -> ?pretend:bool -> t list -> (bool list * exn) option
val setup_virtual_command_solver : string -> unit -> spec -> unit
val search_in_path : string -> string
val reduce : spec -> spec
val print : Format.formatter -> t -> unit
val to_string : t -> string
val string_of_command_spec : spec -> string
end
module Outcome : OUTCOME
module String : STRING
module List : LIST
module StringSet : sig
type elt = String.t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : elt -> unit -> t -> unit
val fold : elt -> 'a -> 'a -> t -> 'a -> 'a
val for_all : elt -> bool -> t -> bool
val exists : elt -> bool -> t -> bool
val filter : elt -> bool -> t -> t
val partition : elt -> bool -> t -> (t * t)
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val max_elt : t -> elt
val choose : t -> elt
val split : elt -> t -> (t * bool * t)
val find : elt -> t -> elt
val of_list : elt list -> t
end
module Options : sig
type command_spec = Command.spec
val build_dir : string Pervasives.ref
val include_dirs : string list Pervasives.ref
val exclude_dirs : string list Pervasives.ref
val nothing_should_be_rebuilt : bool Pervasives.ref
val ocamlc : command_spec Pervasives.ref
val ocamlopt : command_spec Pervasives.ref
val ocamldep : command_spec Pervasives.ref
val ocamldoc : command_spec Pervasives.ref
val ocamlyacc : command_spec Pervasives.ref
val ocamllex : command_spec Pervasives.ref
val ocamlrun : command_spec Pervasives.ref
val ocamlmklib : command_spec Pervasives.ref
val ocamlmktop : command_spec Pervasives.ref
val hygiene : bool Pervasives.ref
val sanitize : bool Pervasives.ref
val sanitization_script : string Pervasives.ref
val ignore_auto : bool Pervasives.ref
val plugin : bool Pervasives.ref
val just_plugin : bool Pervasives.ref
val native_plugin : bool Pervasives.ref
val nostdlib : bool Pervasives.ref
val program_to_execute : bool Pervasives.ref
val must_clean : bool Pervasives.ref
val catch_errors : bool Pervasives.ref
val use_menhir : bool Pervasives.ref
val show_documentation : bool Pervasives.ref
val recursive : bool Pervasives.ref
val use_ocamlfind : bool Pervasives.ref
val targets : string list Pervasives.ref
val ocaml_libs : string list Pervasives.ref
val ocaml_mods : string list Pervasives.ref
val ocaml_pkgs : string list Pervasives.ref
val ocaml_syntax : string option Pervasives.ref
val ocaml_cflags : string list Pervasives.ref
val ocaml_lflags : string list Pervasives.ref
val ocaml_ppflags : string list Pervasives.ref
val ocaml_docflags : string list Pervasives.ref
val ocaml_yaccflags : string list Pervasives.ref
val ocaml_lexflags : string list Pervasives.ref
val program_args : string list Pervasives.ref
val ignore_list : string list Pervasives.ref
val tags : string list Pervasives.ref
val tag_lines : string list Pervasives.ref
val show_tags : string list Pervasives.ref
val ext_obj : string Pervasives.ref
val ext_lib : string Pervasives.ref
val ext_dll : string Pervasives.ref
val exe : string Pervasives.ref
val add : (string * Arg.spec * string) -> unit
end
module Arch : ARCH
module Findlib : sig
type command_spec = Command.spec
type error =
| Cannot_run_ocamlfind
| Dependency_not_found of string * string
| Package_not_found of string
| Cannot_parse_query of string * string
exception Findlib_error of error
val string_of_error : error -> string
val report_error : error -> 'a
type package = {
name : string;
description : string;
version : string;
archives_byte : string;
archives_native : string;
link_options : string;
location : string;
dependencies : package list;
}
val query : string -> package
val list : unit -> string list
val topological_closure : package list -> package list
val compile_flags_byte : package list -> command_spec
val compile_flags_native : package list -> command_spec
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:TODO: a -> ?doc:string -> action -> unit
val copy_rule : string -> ?insert:TODO: a -> 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
end
end
module My_std : sig
exception Exit_OK
exception Exit_usage of string
exception Exit_system_error of string
exception Exit_with_code of int
exception Exit_silently_with_code of int
module Outcome : Signatures.OUTCOME
val ksbprintf : string -> 'a -> ('b, Format.formatter, unit, 'a) Pervasives.format4 -> 'b
val sbprintf : ('a, Format.formatter, unit, string) Pervasives.format4 -> 'a
module Set : sig
module type OrderedTypePrintable = Signatures.OrderedTypePrintable
module type S = Signatures.SET
TODO: functor:ocamlfind.1.5.2/ocamlbuild/Ocamlbuild_pack.My_std.Set.Make
end
module List : Signatures.LIST
module String : Signatures.STRING
module Digest : sig
type t = string
val string : string -> t
val substring : string -> int -> int -> t
val channel : Pervasives.in_channel -> int -> t
val file : string -> t
val output : Pervasives.out_channel -> t -> unit
val input : Pervasives.in_channel -> t
val to_hex : t -> string
end
module StringSet : sig
type elt = String.t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : elt -> unit -> t -> unit
val fold : elt -> 'a -> 'a -> t -> 'a -> 'a
val for_all : elt -> bool -> t -> bool
val exists : elt -> bool -> t -> bool
val filter : elt -> bool -> t -> t
val partition : elt -> bool -> t -> (t * t)
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val max_elt : t -> elt
val choose : t -> elt
val split : elt -> t -> (t * bool * t)
val find : elt -> t -> elt
val find_elt : elt -> bool -> t -> elt
val map : elt -> elt -> t -> t
val of_list : elt list -> t
val print : Format.formatter -> t -> unit
end
val sys_readdir : string -> (string array, exn) Outcome.t
val sys_remove : string -> unit
val reset_readdir_cache : unit -> unit
val reset_filesys_cache : unit -> unit
val reset_filesys_cache_for_file : string -> unit
val sys_file_exists : string -> bool
val sys_command : string -> int
val filename_concat : string -> string -> string
val invalid_arg' : ('a, Format.formatter, unit, 'b) Pervasives.format4 -> 'a
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
end
module My_unix : sig
type file_kind =
| FK_dir
| FK_file
| FK_link
| FK_other
type stats = {
stat_file_kind : file_kind;
stat_key : string;
}
val is_degraded : bool Lazy.t
val run_and_open : string -> Pervasives.in_channel -> 'a -> 'a
val run_and_read : string -> string
val execute_many : ?max_jobs:int -> ?ticker:unit -> unit -> ?period:float -> ?display:Pervasives.out_channel -> unit -> unit -> unit -> string list list -> (bool list * exn) option
val report_error : Format.formatter -> exn -> unit
val at_exit_once : unit -> unit -> unit
val gettimeofday : unit -> float
val stdout_isatty : unit -> bool
val stat : string -> stats
val lstat : string -> stats
type implem = {
is_degraded : bool;
is_link : string -> bool;
run_and_open : TODO: a;
readlink : string -> string;
execute_many : ?max_jobs:int -> ?ticker:unit -> unit -> ?period:float -> ?display:Pervasives.out_channel -> unit -> unit -> unit -> string list list -> (bool list * exn) option;
report_error : Format.formatter -> exn -> unit;
at_exit_once : unit -> unit -> unit;
gettimeofday : unit -> float;
stdout_isatty : unit -> bool;
stat : string -> stats;
lstat : string -> stats;
}
val implem : implem
end
module Tags : sig
type elt = string
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : elt -> unit -> t -> unit
val fold : elt -> 'a -> 'a -> t -> 'a -> 'a
val for_all : elt -> bool -> t -> bool
val exists : elt -> bool -> t -> bool
val filter : elt -> bool -> t -> t
val partition : elt -> bool -> t -> (t * t)
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val max_elt : t -> elt
val choose : t -> elt
val split : elt -> t -> (t * bool * t)
val find : elt -> t -> elt
val of_list : string list -> t
val print : Format.formatter -> t -> unit
val does_match : t -> t -> bool
module Operators : sig
val (++) : t -> elt -> t
val (--) : t -> elt -> t
val (+++) : t -> elt option -> t
val (---) : t -> elt option -> t
end
end
module Display : sig
type display
type tagline_description = (string * char) list
val create : ?channel:Pervasives.out_channel -> ?mode:TODO: a -> ?columns:int -> ?description:tagline_description -> ?log_file:string -> ?log_level:int -> unit -> display
val finish : ?how:TODO: a -> display -> unit
val event : display -> ?pretend:bool -> string -> string -> Tags.t -> unit
val display : display -> Pervasives.out_channel -> unit -> unit
val update : display -> unit
val dprintf : ?log_level:int -> display -> ('a, Format.formatter, unit) Pervasives.format -> 'a
end
module Log : sig
val level : int Pervasives.ref
val dprintf : int -> ('a, Format.formatter, unit) Pervasives.format -> 'a
val eprintf : ('a, Format.formatter, unit) Pervasives.format -> 'a
val raw_dprintf : int -> ('a, Format.formatter, unit) Pervasives.format -> 'a
val classic_display : bool Pervasives.ref
val event : ?pretend:bool -> string -> string -> Tags.t -> unit
val init : string option -> unit
val finish : ?how:TODO: a -> unit -> unit
val display : Pervasives.out_channel -> unit -> unit
val update : unit -> unit
val mode : string -> bool
val at_end : TODO: a -> unit -> unit
val at_failure : TODO: a -> unit -> unit
end
module Shell : sig
val is_simple_filename : string -> bool
val quote_filename_if_needed : string -> string
val chdir : string -> unit
val rm : string -> unit
val rm_f : string -> unit
val rm_rf : string -> unit
val mkdir : string -> unit
val try_mkdir : string -> unit
val mkdir_p : string -> unit
val cp : string -> string -> unit
val mv : string -> string -> unit
end
module Bool : sig
type 'a boolean =
| And of 'a boolean list
| Or of 'a boolean list
| Not of 'a boolean
| Atom of 'a
| True
| False
val eval : 'a -> bool -> 'a boolean -> bool
val iter : 'a -> unit -> 'a boolean -> unit
val map : 'a -> 'b -> 'a boolean -> 'b boolean
end
module Glob_ast : sig
exception Parse_error of string
type pattern =
| Epsilon
| Star of pattern
| Class of character_class
| Concat of pattern * pattern
| Union of pattern list
| Word of string
type character_class = (char * char) Bool.boolean
type 'pattern atom =
| Constant of string
| Pattern of 'pattern
end
module Glob_lexer : sig
type token =
| ATOM of Glob_ast.pattern Glob_ast.atom
| AND
| OR
| NOT
| LPAR
| RPAR
| TRUE
| FALSE
| EOF
val token : Lexing.lexbuf -> token
end
module Glob : sig
type fast_pattern
type globber = fast_pattern Glob_ast.atom Bool.boolean
val parse : ?dir:string -> string -> globber
exception Parse_error of string
val eval : globber -> string -> bool
val fast_pattern_of_pattern : Glob_ast.pattern -> fast_pattern
end
module Lexers : sig
exception Error of (string * Loc.location)
type conf_values = {
plus_tags : (string * Loc.location) list;
minus_tags : (string * Loc.location) list;
}
type conf = (Glob.globber * conf_values) list
val ocamldep_output : Lexing.lexbuf -> (string * string list) list
val space_sep_strings : Lexing.lexbuf -> string list
val blank_sep_strings : Lexing.lexbuf -> string list
val comma_sep_strings : Lexing.lexbuf -> string list
val comma_or_blank_sep_strings : Lexing.lexbuf -> string list
val trim_blanks : Lexing.lexbuf -> string
val parse_environment_path : Lexing.lexbuf -> string list
val parse_environment_path_w : Lexing.lexbuf -> string list
val conf_lines : string option -> Lexing.lexbuf -> conf
val path_scheme : bool -> Lexing.lexbuf -> TODO: a list
val ocamlfind_query : Lexing.lexbuf -> (string * string * string * string * string * string)
val tag_gen : Lexing.lexbuf -> (string * string option)
end
module Param_tags : sig
val declare : string -> string -> unit -> unit
val acknowledge : Loc.location option -> string -> unit
val init : unit -> unit
val partial_init : ?quiet:bool -> Tags.t -> unit
val make : Tags.elt -> string -> Tags.elt
end
module Command : sig
type tags = Tags.t
type pathname = string
type t =
| Seq of t list
| Cmd of spec
| Echo of string list * pathname
| Nop
type spec =
| N
| S of spec list
| A of string
| P of pathname
| Px of pathname
| Sh of string
| T of tags
| V of string
| Quote of spec
val atomize : string list -> spec
val atomize_paths : string list -> spec
val execute : ?quiet:bool -> ?pretend:bool -> t -> unit
val execute_many : ?quiet:bool -> ?pretend:bool -> t list -> (bool list * exn) option
val setup_virtual_command_solver : string -> unit -> spec -> unit
val search_in_path : string -> string
val reduce : spec -> spec
val print : Format.formatter -> t -> unit
val to_string : t -> string
val string_of_command_spec : spec -> string
val string_target_and_tags_of_command_spec : spec -> (string * string * Tags.t)
val iter_tags : Tags.t -> unit -> t -> unit
val fold_pathnames : pathname -> 'a -> 'a -> t -> 'a -> 'a
val digest : t -> Digest.t
val jobs : int Pervasives.ref
val tag_handler : Tags.t -> spec Pervasives.ref
val dump_parallel_stats : unit -> unit
val deps_of_tags : Tags.t -> pathname list
val dep : Tags.elt list -> pathname list -> unit
val pdep : Tags.elt list -> Tags.elt -> string -> pathname list -> unit
val file_or_exe_exists : string -> bool
end
module Ocamlbuild_config : sig
val bindir : string
val libdir : string
val supports_shared_libraries : bool
val a : string
val o : string
val so : string
val exe : string
end
module Ocamlbuild_where : sig
val bindir : string Pervasives.ref
val libdir : string Pervasives.ref
end
module Slurp : sig
type 'a entry =
| Dir of string * string * My_unix.stats Lazy.t * 'a * 'a entry list Lazy.t
| File of string * string * My_unix.stats Lazy.t * 'a
| Error of exn
| Nothing
val slurp : string -> unit entry
val filter : string -> string -> 'a -> bool -> 'a entry -> 'a entry
val map : string -> string -> 'a -> 'b -> 'a entry -> 'b entry
val fold : string -> string -> 'b -> 'a -> 'a -> 'b entry -> 'a -> 'a
val force : 'a entry -> unit
end
module Options : sig
type command_spec = Command.spec
val build_dir : string Pervasives.ref
val include_dirs : string list Pervasives.ref
val exclude_dirs : string list Pervasives.ref
val nothing_should_be_rebuilt : bool Pervasives.ref
val ocamlc : command_spec Pervasives.ref
val ocamlopt : command_spec Pervasives.ref
val ocamldep : command_spec Pervasives.ref
val ocamldoc : command_spec Pervasives.ref
val ocamlyacc : command_spec Pervasives.ref
val ocamllex : command_spec Pervasives.ref
val ocamlrun : command_spec Pervasives.ref
val ocamlmklib : command_spec Pervasives.ref
val ocamlmktop : command_spec Pervasives.ref
val hygiene : bool Pervasives.ref
val sanitize : bool Pervasives.ref
val sanitization_script : string Pervasives.ref
val ignore_auto : bool Pervasives.ref
val plugin : bool Pervasives.ref
val just_plugin : bool Pervasives.ref
val native_plugin : bool Pervasives.ref
val nostdlib : bool Pervasives.ref
val program_to_execute : bool Pervasives.ref
val must_clean : bool Pervasives.ref
val catch_errors : bool Pervasives.ref
val use_menhir : bool Pervasives.ref
val show_documentation : bool Pervasives.ref
val recursive : bool Pervasives.ref
val use_ocamlfind : bool Pervasives.ref
val targets : string list Pervasives.ref
val ocaml_libs : string list Pervasives.ref
val ocaml_mods : string list Pervasives.ref
val ocaml_pkgs : string list Pervasives.ref
val ocaml_syntax : string option Pervasives.ref
val ocaml_cflags : string list Pervasives.ref
val ocaml_lflags : string list Pervasives.ref
val ocaml_ppflags : string list Pervasives.ref
val ocaml_docflags : string list Pervasives.ref
val ocaml_yaccflags : string list Pervasives.ref
val ocaml_lexflags : string list Pervasives.ref
val program_args : string list Pervasives.ref
val ignore_list : string list Pervasives.ref
val tags : string list Pervasives.ref
val tag_lines : string list Pervasives.ref
val show_tags : string list Pervasives.ref
val ext_obj : string Pervasives.ref
val ext_lib : string Pervasives.ref
val ext_dll : string Pervasives.ref
val exe : string Pervasives.ref
val add : (string * Arg.spec * string) -> unit
val plugin_tags : string list Pervasives.ref
val ocamlbuild_project_heuristic : unit -> bool
val entry : bool Slurp.entry option Pervasives.ref
val init : unit -> unit
end
module Pathname : sig
type t = string
val concat : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val exists : t -> bool
val mk : string -> t
val define_context : string -> string list -> unit
val include_dirs_of : string -> string list
val copy : t -> t -> unit
val to_string : t -> string
val print : Format.formatter -> t -> unit
val current_dir_name : t
val parent_dir_name : t
val read : t -> string
val same_contents : t -> t -> bool
val basename : t -> t
val dirname : t -> t
val is_relative : t -> bool
val readdir : t -> t array
val is_directory : t -> bool
val add_extension : string -> t -> t
val check_extension : t -> string -> bool
val get_extension : t -> string
val remove_extension : t -> t
val update_extension : string -> t -> t
val get_extensions : t -> string
val remove_extensions : t -> t
val update_extensions : string -> t -> t
val print_path_list : Format.formatter -> t list -> unit
val pwd : t
val parent : t -> t
val is_prefix : t -> t -> bool
val is_implicit : t -> bool
module Operators : sig
val (/) : t -> t -> t
val (-.-) : t -> string -> t
end
val normalize : t -> t
end
module Configuration : sig
val parse_string : string -> unit
val parse_file : ?dir:string -> string -> unit
val tags_of_filename : string -> Tags.t
val has_tag : string -> bool
val tag_file : Pathname.t -> Tags.elt list -> unit
val tag_any : Tags.elt list -> unit
val global_tags : unit -> Tags.t
val check_tags_usage : Tags.t -> unit
end
module Flags : sig
val of_tags : Tags.t -> Command.spec
val of_tag_list : Tags.elt list -> Command.spec
val flag : ?deprecated:bool -> Tags.elt list -> Command.spec -> unit
val pflag : Tags.elt list -> string -> string -> Command.spec -> unit
val add : 'a -> 'a list -> 'a list
val remove : 'a -> 'a list -> 'a list
val show_documentation : unit -> unit
val get_used_tags : unit -> Tags.t
val mark_tag_used : Tags.elt -> unit
end
module Hygiene : sig
type rule =
| Implies_not of pattern * pattern
| Not of pattern
type pattern = suffix
type suffix = string
type penalty =
| Warn
| Fail
type law = {
law_name : string;
law_rules : rule list;
law_penalty : penalty;
}
val check : ?sanitize:string -> law list -> bool Slurp.entry -> (law * string list) list
end
module Digest_cache : sig
val init : unit -> unit
val get : string -> string
val put : string -> string -> unit
end
module Resource : sig
type resource_pattern
type env
module Resources : sig
type elt = Pathname.t
type t
val empty : t
val is_empty : t -> bool
val mem : elt -> t -> bool
val add : elt -> t -> t
val singleton : elt -> t
val remove : elt -> t -> t
val union : t -> t -> t
val inter : t -> t -> t
val diff : t -> t -> t
val compare : t -> t -> int
val equal : t -> t -> bool
val subset : t -> t -> bool
val iter : elt -> unit -> t -> unit
val fold : elt -> 'a -> 'a -> t -> 'a -> 'a
val for_all : elt -> bool -> t -> bool
val exists : elt -> bool -> t -> bool
val filter : elt -> bool -> t -> t
val partition : elt -> bool -> t -> (t * t)
val cardinal : t -> int
val elements : t -> elt list
val min_elt : t -> elt
val max_elt : t -> elt
val choose : t -> elt
val split : elt -> t -> (t * bool * t)
val find : elt -> t -> elt
val find_elt : elt -> bool -> t -> elt
val map : elt -> elt -> t -> t
val of_list : elt list -> t
val print : Format.formatter -> t -> unit
end
module Cache : sig
type cache_entry
type suspension
type build_status =
| Bbuilt
| Bcannot_be_built
| Bnot_built_yet
| Bsuspension of suspension
val clean : unit -> unit
val resource_state : Pathname.t -> build_status
val resource_changed : Pathname.t -> unit
val resource_has_changed : Pathname.t -> bool
val resource_built : Pathname.t -> unit
val resource_failed : Pathname.t -> unit
val import_in_build_dir : Pathname.t -> unit
val suspend_resource : Pathname.t -> Command.t -> unit -> unit -> Pathname.t list -> unit
val resume_resource : Pathname.t -> unit
val resume_suspension : suspension -> unit
val get_optional_resource_suspension : Pathname.t -> (Command.t * unit -> unit) option
val clear_resource_failed : Pathname.t -> unit
val add_dependency : Pathname.t -> Pathname.t -> unit
val fold_dependencies : string -> string -> 'a -> 'a -> 'a -> 'a
val external_is_up_to_date : Pathname.t -> bool
val dependencies : Pathname.t -> Resources.t
val print_cache : Format.formatter -> unit -> unit
val print_dependencies : Format.formatter -> unit -> unit
end
val digest : Pathname.t -> string
val exists_in_source_dir : Pathname.t -> bool
val exists_in_build_dir : Pathname.t -> bool
val in_build_dir : Pathname.t -> Pathname.t
val in_source_dir : Pathname.t -> Pathname.t
val compare : Pathname.t -> Pathname.t -> int
val print : Format.formatter -> Pathname.t -> unit
val print_pattern : Format.formatter -> resource_pattern -> unit
val clean : Pathname.t -> unit
val import : string -> Pathname.t
val import_pattern : string -> resource_pattern
val matchit : resource_pattern -> Pathname.t -> env option
val subst : env -> Pathname.t -> Pathname.t
val subst_any : env -> Pathname.t -> Pathname.t
val subst_pattern : env -> resource_pattern -> Pathname.t
val print_env : Format.formatter -> env -> unit
end
module Rule : sig
type env = Pathname.t -> Pathname.t
type builder = Pathname.t list list -> (Pathname.t, exn) My_std.Outcome.t list
type action = env -> builder -> Command.t
type 'a gen_rule
type rule = Pathname.t gen_rule
type rule_scheme = Resource.resource_pattern gen_rule
type 'a rule_printer = Format.formatter -> 'a -> unit -> Format.formatter -> 'a gen_rule -> unit
exception Failed
val name_of_rule : 'a gen_rule -> string
val deps_of_rule : 'a gen_rule -> Pathname.t list
val prods_of_rule : 'a gen_rule -> 'a list
val doc_of_rule : 'a gen_rule -> string option
val rule : string -> ?tags:string list -> ?prods:string list -> ?deps:string list -> ?prod:string -> ?dep:string -> ?stamp:string -> ?insert:TODO: a -> ?doc:string -> action -> unit
val copy_rule : string -> ?insert:TODO: a -> string -> string -> unit
module Common_commands : sig
val mv : Pathname.t -> Pathname.t -> Command.t
val cp : Pathname.t -> Pathname.t -> Command.t
val cp_p : 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
end
val print : Format.formatter -> rule -> unit
val pretty_print : 'a rule_printer
val subst : Resource.env -> rule_scheme -> rule
val can_produce : Pathname.t -> rule_scheme -> rule option
val compare : 'a gen_rule -> 'a gen_rule -> int
val print_rule_name : Format.formatter -> 'a gen_rule -> unit
val print_rule_contents : 'a rule_printer
val get_rules : unit -> rule_scheme list
val clear_rules : unit -> unit
val call : builder -> rule -> unit
val build_deps_of_tags : builder -> Tags.t -> Pathname.t list
val show_documentation : unit -> unit
end
module Solver : sig
type backtrace =
| Leaf of Pathname.t
| Choice of backtrace list
| Depth of Pathname.t * backtrace
| Target of string * backtrace
exception Failed of backtrace
exception Circular of Pathname.t * Pathname.t list
val solve : Pathname.t -> unit
val solve_target : string -> Pathname.t list -> Pathname.t
end
module Report : sig
val print_backtrace_analyze : Format.formatter -> Solver.backtrace -> unit
val print_backtrace : Format.formatter -> Solver.backtrace -> unit
end
module Tools : sig
val tags_of_pathname : Pathname.t -> Tags.t
val path_and_context_of_string : Pathname.t -> Pathname.t list
val pp_l : Format.formatter -> string list -> unit
end
module Fda : sig
exception Exit_hygiene_failed
val inspect : bool Slurp.entry -> unit
end
module Findlib : sig
type command_spec = Command.spec
type error =
| Cannot_run_ocamlfind
| Dependency_not_found of string * string
| Package_not_found of string
| Cannot_parse_query of string * string
exception Findlib_error of error
val string_of_error : error -> string
val report_error : error -> 'a
type package = {
name : string;
description : string;
version : string;
archives_byte : string;
archives_native : string;
link_options : string;
location : string;
dependencies : package list;
}
val query : string -> package
val list : unit -> string list
val topological_closure : package list -> package list
val compile_flags_byte : package list -> command_spec
val compile_flags_native : package list -> command_spec
end
module Ocaml_arch : sig
type 'a arch =
| Arch_dir of string * 'a * 'a arch list
| Arch_dir_pack of string * 'a * 'a arch list
| Arch_file of string * 'a
val dir : string -> unit arch list -> unit arch
val dir_pack : string -> unit arch list -> unit arch
val file : string -> unit arch
type info = {
current_path : string;
include_dirs : string list;
for_pack : string;
}
val annotate : 'a arch -> info arch
val print : Format.formatter -> 'a -> unit -> Format.formatter -> 'a arch -> unit
val print_include_dirs : Format.formatter -> string list -> unit
val print_info : Format.formatter -> info -> unit
val iter_info : 'a -> unit -> 'a arch -> unit
val fold_info : 'a -> 'b -> 'b -> 'a arch -> 'b -> 'b
val iter_include_dirs : info arch -> string -> unit -> unit
val mk_tables : info arch -> ((string, string list) Hashtbl.t * (string, string) Hashtbl.t)
val print_table : Format.formatter -> 'a -> unit -> Format.formatter -> (string, 'a) Hashtbl.t -> unit
val forpack_flags_of_pathname : string -> Command.spec
end
module Ocaml_utils : sig
val stdlib_dir : Pathname.t Lazy.t
val module_name_of_filename : Pathname.t -> string
val module_name_of_pathname : Pathname.t -> string
val ignore_stdlib : string -> bool
val non_dependency : string -> string -> unit
val expand_module : Pathname.t list -> Pathname.t -> string list -> Pathname.t list
val string_list_of_file : string -> string list
val ocaml_ppflags : Tags.t -> Command.spec
val ocaml_include_flags : Pathname.t -> Command.spec
val libraries_of : Pathname.t -> Pathname.t list
val use_lib : Pathname.t -> Pathname.t -> unit
val cmi_of : Pathname.t -> Pathname.t
val ocaml_add_include_flag : string -> Command.spec list -> Command.spec list
val flag_and_dep : Tags.elt list -> Command.spec -> unit
val pflag_and_dep : Tags.elt list -> Tags.elt -> string -> Command.spec -> unit
exception Ocamldep_error of string
val path_dependencies_of : Pathname.t -> (TODO: a * string) list
val info_libraries : (string, (string * bool)) Hashtbl.t
val ocaml_lib : ?extern:bool -> ?byte:bool -> ?native:bool -> ?dir:Pathname.t -> ?tag_name:string -> Pathname.t -> unit
end
module Ocaml_dependencies : sig
exception Circular_dependencies of string list * string
module type INPUT = sig
val fold_dependencies : string -> string -> 'a -> 'a -> 'a -> 'a
val fold_libraries : string -> string list -> 'a -> 'a -> 'a -> 'a
val fold_packages : string -> string list -> 'a -> 'a -> 'a -> 'a
end
TODO: functor:ocamlfind.1.5.2/ocamlbuild/Ocamlbuild_pack.Ocaml_dependencies.Make
end
module Ocaml_compiler : sig
val forpack_flags : string -> Tags.t -> Command.spec
val ocamlc_c : Tags.t -> Pathname.t -> Pathname.t -> Command.t
val ocamlc_p : Tags.t -> Pathname.t list -> Pathname.t -> Command.t
val ocamlopt_c : Tags.t -> Pathname.t -> Pathname.t -> Command.t
val ocamlopt_p : Tags.t -> Pathname.t list -> Pathname.t -> Command.t
val ocamlmklib : Tags.t -> Pathname.t list -> Pathname.t -> Command.t
val ocamlmktop : Tags.t -> Pathname.t list -> Pathname.t -> Command.t
val prepare_compile : Rule.builder -> Pathname.t -> unit
val compile_ocaml_interf : string -> string -> Rule.action
val byte_compile_ocaml_interf : string -> string -> Rule.action
val byte_compile_ocaml_implem : ?tag:string -> string -> string -> Rule.action
val native_compile_ocaml_implem : ?tag:string -> ?cmx_ext:string -> string -> Rule.action
val prepare_libs : string -> string -> Pathname.t -> Rule.builder -> Pathname.t list
val byte_output_obj : string -> string -> Rule.action
val native_output_obj : string -> string -> Rule.action
val pack_modules : (Pathname.t * string list) list -> string -> string -> string -> Tags.t -> Pathname.t list -> Pathname.t -> Command.t -> Tags.t -> Tags.t -> string list -> string -> Rule.action
val byte_pack_modules : string list -> string -> Rule.action
val byte_pack_mlpack : string -> string -> Rule.action
val byte_debug_pack_modules : string list -> string -> Rule.action
val byte_debug_pack_mlpack : string -> string -> Rule.action
val native_pack_modules : string list -> string -> Rule.action
val native_pack_mlpack : string -> string -> Rule.action
val native_profile_pack_modules : string list -> string -> Rule.action
val native_profile_pack_mlpack : string -> string -> Rule.action
val hide_package_contents : string -> unit
end
module Ocaml_tools : sig
val ocamldoc_c : Tags.t -> string -> string -> Command.t
val ocamldoc_l_dir : Tags.t -> string list -> string -> string -> Command.t
val ocamldoc_l_file : Tags.t -> string list -> string -> string -> Command.t
val ocamldep_command : string -> string -> Rule.action
val menhir_ocamldep_command : string -> string -> Rule.action
val menhir_modular_ocamldep_command : string -> string -> Rule.action
val menhir_modular : string -> string -> string -> Rule.action
val ocamlyacc : string -> Rule.action
val ocamllex : string -> Rule.action
val menhir : string -> Rule.action
val infer_interface : string -> string -> Rule.action
val document_ocaml_interf : string -> string -> Rule.action
val document_ocaml_implem : string -> string -> Rule.action
val document_ocaml_project : ?ocamldoc:Tags.t -> string list -> string -> string -> Command.t -> string -> string -> string -> Rule.action
val camlp4 : ?default:Command.spec -> Tags.elt -> Pathname.t -> Pathname.t -> Rule.action
end
module Ocaml_specific : sig
val init : unit -> unit
end
module Plugin : sig
val execute_plugin_if_needed : unit -> unit
val we_need_a_plugin : unit -> bool
end
module Exit_codes : sig
val rc_ok : int
val rc_usage : int
val rc_failure : int
val rc_invalid_argument : int
val rc_system_error : int
val rc_hygiene : int
val rc_circularity : int
val rc_solver_failed : int
val rc_ocamldep_error : int
val rc_lexing_error : int
val rc_build_error : int
val rc_executor_subcommand_failed : int
val rc_executor_subcommand_got_signal : int
val rc_executor_io_error : int
val rc_executor_excetptional_condition : int
end
module Hooks : sig
type message =
| Before_hygiene
| After_hygiene
| Before_options
| After_options
| Before_rules
| After_rules
val setup_hooks : message -> unit -> unit
val call_hook : message -> unit
end
module Main : sig
val main : unit -> unit
end