Module Assemblage.Private.Conf

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