module Unit:sig..end
Defines a compilation unit's build products in
a build directory defined by an enclosing Assemblage.Lib or Assemblage.Bin part.
typeocaml_interface =[ `Hidden | `Normal | `Opaque ]
Adds additional information about how the interface of a compilation unit should be treated.
`Normal is for regular compilation units.`Opaque is for compilation units with cross-module optimizations
disabled.`Hidden is for regular compilation units whose
cmi files are hidden (implies `Opaque).typeocaml_unit =[ `Both | `Ml | `Mli ]
typec_unit =[ `Both | `C | `H ]
typekind =[ `C of c_unit
| `Js
| `OCaml of ocaml_unit * ocaml_interface ]
val pp_kind : Format.formatter -> kind -> unitpp_kind ppf k prints an unspecified representation of k on
ppf.val kind : [< `Unit ] Assemblage.part -> kindkind u is the kind of u.val dir : [< `Unit ] Assemblage.part -> Assemblage.Path.t Assemblage.Conf.valuedir u is the directory where the unit u is located.val ocaml : [< Assemblage.part_kind ] Assemblage.part ->
[< Assemblage.part_kind > `Unit ] Assemblage.part optionocaml p is Some p iff p is an OCaml compilation unit.val c : [< Assemblage.part_kind ] Assemblage.part ->
[< Assemblage.part_kind > `Unit ] Assemblage.part optionc p is Some p iff p is a C compilation unit.val js : [< Assemblage.part_kind ] Assemblage.part ->
[< Assemblage.part_kind > `Unit ] Assemblage.part optionjs p is Some p iff p is a JavaScript compilation unit.val v : ?usage:Assemblage.Part.usage ->
?exists:bool Assemblage.Conf.value ->
?args:Assemblage.Args.t ->
?needs:[< `Lib | `Pkg ] Assemblage.part list ->
?dir:Assemblage.Path.t Assemblage.Conf.value ->
string ->
kind -> [< Assemblage.part_kind > `Unit ] Assemblage.partv ~needs ~dir name kind is a compilation unit named name,
the name of the file without the suffix located in directory
dir (defaults to Assemblage.root) of kind kind. needs indicate the
project libraries and packages that are needed to compile the
unit. The args bundle is used by the unit's actions according
to context.