module Load_path:sig
..end
Management of include directories.
This module offers a high level interface to locating files in the
load path, which is constructed from -I
command line flags and a few
other parameters.
It makes the assumption that the contents of include directories doesn't change during the execution of the compiler.
val add_dir : string -> unit
Add a directory to the end of the load path (i.e. at lowest priority.)
val remove_dir : string -> unit
Remove a directory from the load path
val reset : unit -> unit
Remove all directories
module Dir:sig
..end
typeauto_include_callback =
(Dir.t -> string -> string option) -> string -> string
The type of callback functions on for init ~auto_include
val no_auto_include : auto_include_callback
No automatic directory inclusion: misses in the load path raise Not_found
as normal.
val init : auto_include:auto_include_callback -> string list -> unit
init l
is the same as reset (); List.iter add_dir (List.rev l)
val auto_include_otherlibs : (string -> unit) -> auto_include_callback
auto_include_otherlibs alert
is a callback function to be passed to
Load_path.init
and automatically adds -I +lib
to the load path after
calling alert lib
.
val get_paths : unit -> string list
Return the list of directories passed to add_dir
so far.
val find : string -> string
Locate a file in the load path. Raise Not_found
if the file
cannot be found. This function is optimized for the case where the
filename is a basename, i.e. doesn't contain a directory
separator.
val find_uncap : string -> string
Same as find
, but search also for uncapitalized name, i.e. if
name is Foo.ml, allow /path/Foo.ml and /path/foo.ml to match.
val add : Dir.t -> unit
Old name for Load_path.append_dir
val append_dir : Dir.t -> unit
append_dir d
adds d
to the end of the load path (i.e. at lowest
priority.
val prepend_dir : Dir.t -> unit
prepend_dir d
adds d
to the start of the load path (i.e. at highest
priority.
val get : unit -> Dir.t list
Same as get_paths ()
, except that it returns a Dir.t list
.