Module Odig

module Odig: sig .. end
Mining OCaml package installs.

Consult the toplevel helpers and the Odig API.

Warning. Odig is a work in progress. Do not expect these APIs to be stable.

v0.0.3 — homepage

Toplevel helpers

WARNING. Proof of concepts do not start using this in your scripts. For now only available in the bytecode toplevel.

To use the toplevel helpers simply bring the Odig module in your scope: type or add the following line to your ~/.ocamlinit file.

#use ""

Load semantics and effects

Take into account the following points:

Local search

Some functions take a ~dir argument that specifies a directory where objects can be looked up in addition to packages. This directory defaults to _build or the value of the environment value ODIG_TOP_LOCAL_DIR. These load functions always first look up for objects locally and then in packages.


val help : unit -> unit
help () shows help about odig's toplevel support.
val status : unit -> unit
status outputs information about Odig's toplevel loads.
val reset : unit -> unit
reset removes odig included directories and pretend all odig loaded objects were not.
val load : ?force:bool -> ?deps:bool -> ?init:bool -> ?dir:Fpath.t -> string -> unit
load ~force ~deps ~init ~dir "Mod" loads and setups include directories for the module Mod found in dir or in any package.

Warning. Do not use this function in scripts, its outcome depends on the package install state.

val load_libs : ?force:bool -> ?deps:bool -> ?init:bool -> ?dir:Fpath.t -> unit -> unit
load_libs ~force ~deps ~init ~dir () loads and setups include directories for libraries found in dir.
val load_pkg : ?silent:bool -> ?force:bool -> ?deps:bool -> ?init:bool -> string -> unit
load_pkg ~silent ~force ~deps ~init name loads all the libraries of the package named name.

Odig API

module Cobj: sig .. end
OCaml compilation objects.
module Conf: sig .. end
Odig configuration.
module Pkg: sig .. end

Package documentation generation

module Odoc: sig .. end
odoc API documentation generation.
module Ocamldoc: sig .. end
ocamldoc API documentation generation.


module Private: sig .. end
Private definitions.