Ocaml_utils.Load_path
SourceManagement of include directories.
This module offers a high level interface to locating files in the load path, which is constructed from -I
and -H
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.
Add a directory to the end of the load path (i.e. at lowest priority.)
Remove a directory from the load path
Remove all directories
The type of callback functions on for init ~auto_include
No automatic directory inclusion: misses in the load path raise Not_found
as normal.
val init :
auto_include:auto_include_callback ->
visible:string list ->
hidden:string list ->
unit
init ~visible ~hidden
is the same as reset (); List.iter add_dir (List.rev hidden); List.iter add_dir (List.rev visible)
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
.
Return the list of directories passed to add_dir
so far.
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.
Same as find
, but search also for normalized unit name (see Misc.normalized_unit_filename
), i.e. if name is Foo.ml
, allow /path/Foo.ml
and /path/foo.ml
to match.
Same as find_normalized
, but also reports whether the cmi was found in a -I directory (Visible) or a -H directory (Hidden)
Old name for append_dir
append_dir d
adds d
to the end of the load path (i.e. at lowest priority.
prepend_dir d
adds d
to the start of the load path (i.e. at highest priority.