module Conf: sig
.. end
Build configuration.
Build configuration
type
t
The type for configurations.
include Assemblage.Conf
Keys
module Key: sig
.. end
Configuration keys.
Configurations
val empty : t
empty
is the empty configuration.
val is_empty : t -> bool
is_empty c
is true
iff c
is empty.
val mem : t -> 'a key -> bool
mem c k
is true
iff k
is in c
.
val add : t -> 'a key -> t
add c k
is c
with k
bindings to its default value.
val set : t -> 'a key -> 'a value -> t
set c k v
is c
with k
binding to v
.
val rem : t -> 'a key -> t
rem c k
is c
without k
's binding.
val merge : t ->
t -> t
merge c c'
merge the configuration c
and c'
. If a key is
defined in both c
and c'
the value of the key in c'
takes
over.
val find : t -> 'a key -> 'a value option
find c k
is the binding of k
in c
(if any).
val get : t -> 'a key -> 'a value
get c k
is the binding of k
in c
.
Raises Invalid_argument
if k
is not in c
.
val pp : Format.formatter -> t -> unit
pp ppf c
prints an unspecified representation of c
on ppf
.
val of_keys : Key.Set.t -> t
of_keys ks
is a configuration where each key in ks
binds to
its default value.
val domain : t -> Key.Set.t
domain c
is the configuration keys of c
.
Configuration error messages
val pp_key_dup : Format.formatter -> Key.t -> unit
pp_key_dup ppf k
prints a message that says that the name of
k
is not unique in a configuration.
Configuration value dependencies and evaluation
val deps : 'a value -> Key.Set.t
deps v
is the set of configuration keys which may be needed
for evaluating v
.
val eval : t -> 'a value -> 'a
eval c v
evaluates v
in the configuration c
.
Raises Invalid_argument
if c
is not a subset of deps c
.
Builtin key sections documentation
val doc_project : string
val doc_build_properties : string
val doc_build_directories : string
val doc_ocaml_system : string
val doc_c_system : string
val doc_machine_information : string
val doc_system_utilities : string