Odoc docs
0

Configure Feed

Select the types of activity you want to include in your feed.

odd / driver / packages.mli
1.9 kB 81 lines
1(** {1 OCaml compilation unit} *) 2 3(** {2 Interface part} *) 4 5type dep = string * Digest.t 6 7type intf = { mif_hash : string; mif_path : Fpath.t; mif_deps : dep list } 8 9(** {2 Implementation part} *) 10 11type src_info = { src_path : Fpath.t } 12 13type impl = { 14 mip_path : Fpath.t; 15 mip_src_info : src_info option; 16 mip_deps : dep list; 17} 18 19(** {2 OCaml Compilation unit} *) 20 21type modulety = { 22 m_name : string; 23 m_intf : intf; 24 m_impl : impl option; 25 m_hidden : bool; 26} 27 28(** {1 Standalone pages units} *) 29 30type mld = { mld_path : Fpath.t; mld_rel_path : Fpath.t } 31 32type md = { md_path : Fpath.t; md_rel_path : Fpath.t } 33 34(** {1 Asset units} *) 35 36type asset = { asset_path : Fpath.t; asset_rel_path : Fpath.t } 37 38(** {1 Packages} *) 39 40(** Compilation units are associated to libraries, while documentation are 41 associated to package *) 42 43type libty = { 44 lib_name : string; 45 dir : Fpath.t; 46 archive_name : string option; 47 lib_deps : Util.StringSet.t; 48 modules : modulety list; 49} 50 51module Lib : sig 52 val v : 53 libname_of_archive:string Fpath.Map.t -> 54 pkg_name:string -> 55 dir:Fpath.t -> 56 all_lib_deps:Util.StringSet.t Util.StringMap.t -> 57 cmi_only_libs:(Fpath.t * string) list -> 58 libty list 59end 60 61type t = { 62 name : string; 63 version : string; 64 libraries : libty list; 65 mlds : mld list; 66 assets : asset list; 67 other_docs : md list; 68 pkg_dir : Fpath.t; 69 doc_dir : Fpath.t; 70 config : Global_config.t; 71} 72 73val mk_mlds : Opam.doc_file list -> mld list * asset list * md list 74 75val use_virtual_interfaces : t list -> t list 76(** For each module documented from a [.cmt], look for a same-name [.cmti] 77 with the same interface digest in the directories of its library's 78 findlib dependency cone, and swap it in as the input: a virtual library's 79 implementation ships only the [.cmt], while the [.mli] and its 80 documentation live with the virtual library, which the implementation's 81 META requires. *)