The Findlib Library : Findlib

`sig
exception No_such_package of string * string
exception Package_loop of string
val init :
?env_ocamlpath:string ->
?env_ocamlfind_destdir:string ->
?env_ocamlfind_metadir:string ->
?env_ocamlfind_commands:string ->
?env_ocamlfind_ignore_dups_in:string ->
?env_camllib:string ->
?env_ldconf:string -> ?config:string -> ?toolchain:string -> unit -> unit
val init_manually :
?ocamlc_command:string ->
?ocamlopt_command:string ->
?ocamlcp_command:string ->
?ocamlmklib_command:string ->
?ocamlmktop_command:string ->
?ocamldep_command:string ->
?ocamlbrowser_command:string ->
?ocamldoc_command:string ->
?ignore_dups_in:string ->
?stdlib:string ->
?ldconf:string ->
install_dir:string ->
meta_dir:string -> search_path:string list -> unit -> unit
val default_location : unit -> string
val meta_directory : unit -> string
val search_path : unit -> string list
val command :
[ `ocamlbrowser
| `ocamlc
| `ocamlcp
| `ocamldep
| `ocamldoc
| `ocamlmklib
| `ocamlmktop
| `ocamlopt ] -> string
val ocaml_stdlib : unit -> string
val ocaml_ldconf : unit -> string
val package_directory : string -> string
val ignore_dups_in : unit -> string option
val package_property : string list -> string -> string -> string
val package_ancestors : string list -> string -> string list
val package_deep_ancestors : string list -> string list -> string list
val resolve_path : ?base:string -> string -> string
val list_packages :
?tab:int -> ?descr:bool -> Pervasives.out_channel -> unit
end`