The Findlib Library : Fl_package_base

`sig
type package = {
package_name : string;
package_dir : string;
package_defs : Fl_metascanner.pkg_definition list;
package_priv : Fl_package_base.package_priv;
}
and package_priv
val init : string list -> string -> string option -> unit
exception No_such_package of string * string
exception Package_loop of string
val query : string -> Fl_package_base.package
val requires : preds:string list -> string -> string list
val requires_deeply : preds:string list -> string list -> string list
val package_conflict_report : ?identify_dir:(string -> 'a) -> unit -> unit
val module_conflict_report :
?identify_dir:(string -> 'a) -> string list -> unit
val load_base : unit -> unit
val list_packages : unit -> string list
val package_users : preds:string list -> string list -> string list
val packages_in_meta_file :
?directory_required:bool ->
name:string ->
dir:string -> meta_file:string -> unit -> Fl_package_base.package list
val package_definitions : search_path:string list -> string -> string list
end`