this repo has no description
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
9val pp_intf : Format.formatter -> intf -> unit
10
11(** {2 Implementation part} *)
12
13type src_info = { src_path : Fpath.t }
14
15type impl = {
16 mip_path : Fpath.t;
17 mip_src_info : src_info option;
18 mip_deps : dep list;
19}
20
21val pp_impl : Format.formatter -> impl -> unit
22
23(** {2 OCaml Compilation unit} *)
24
25type modulety = {
26 m_name : string;
27 m_intf : intf;
28 m_impl : impl option;
29 m_hidden : bool;
30}
31
32(** {1 Standalone pages units} *)
33
34type mld = { mld_path : Fpath.t; mld_rel_path : Fpath.t }
35
36type md = { md_path : Fpath.t; md_rel_path : Fpath.t }
37
38val pp_mld : Format.formatter -> mld -> unit
39
40val pp_md : Format.formatter -> md -> unit
41
42(** {1 Asset units} *)
43
44type asset = { asset_path : Fpath.t; asset_rel_path : Fpath.t }
45
46val pp_asset : Format.formatter -> asset -> unit
47
48(** {1 Packages} *)
49
50(** Compilation units are associated to libraries, while documentation are
51 associated to package *)
52
53type libty = {
54 lib_name : string;
55 dir : Fpath.t;
56 archive_name : string option;
57 lib_deps : Util.StringSet.t;
58 modules : modulety list;
59 id_override : string option;
60}
61
62module Lib : sig
63 val v :
64 libname_of_archive:string Fpath.Map.t ->
65 pkg_name:string ->
66 dir:Fpath.t ->
67 cmtidir:Fpath.t option ->
68 all_lib_deps:Util.StringSet.t Util.StringMap.t ->
69 cmi_only_libs:(Fpath.t * string) list ->
70 id_override:string option ->
71 libty list
72
73 val pp : Format.formatter -> libty -> unit
74end
75
76type t = {
77 name : string;
78 version : string;
79 libraries : libty list;
80 mlds : mld list;
81 assets : asset list;
82 selected : bool;
83 remaps : (string * string) list;
84 other_docs : md list;
85 pkg_dir : Fpath.t;
86 doc_dir : Fpath.t;
87 config : Global_config.t;
88}
89
90val pp : Format.formatter -> t -> unit
91
92val fix_missing_deps : t list -> t list
93
94val mk_mlds : Opam.doc_file list -> mld list * asset list * md list
95
96val of_libs : packages_dir:Fpath.t option -> Util.StringSet.t -> t list
97(** Turns a set of libraries into a map from package name to package *)
98
99val of_packages : packages_dir:Fpath.t option -> string list -> t list
100
101val remap_virtual : t list -> t list