Module As_conf

module As_conf: sig .. end
Build configuration.

See Assemblage.Conf for documentation.



Configuration values


type 'a value 
val const : 'a -> 'a value
val app : ('a -> 'b) value -> 'a value -> 'b value
val ($) : ('a -> 'b) value -> 'a value -> 'b value
val true_ : bool value
val false_ : bool value
val neg : bool value -> bool value
val (&&&) : bool value -> bool value -> bool value
val (|||) : bool value -> bool value -> bool value
val pick_if : bool value ->
'a value -> 'a value -> 'a value
module Option: sig .. end

Configuration value converters


type 'a parser = string -> [ `Error of string | `Ok of 'a ] 
type 'a printer = Format.formatter -> 'a -> unit 
type 'a converter = 'a parser * 'a printer 
val parser : 'a converter -> 'a parser
val printer : 'a converter -> 'a printer

Configuration keys


type 'a key 
module Key: sig .. end
val key : ?public:bool ->
?docs:string ->
?docv:string ->
?doc:string ->
string -> 'a converter -> 'a value -> 'a key
val value : 'a key -> 'a value
val manual_value : Key.Set.t -> 'a -> 'a value

Configuration key value converters


val bool : bool converter
val int : int converter
val string : string converter
val path : As_path.t converter
val abs_path : As_path.abs converter
val rel_path : As_path.rel converter
val enum : (string * 'a) list -> 'a converter
val version : (int * int * int * string option) converter

Configurations


type t 
val empty : t
val is_empty : t -> bool
val mem : t -> 'a key -> bool
val add : t -> 'a key -> t
val set : t -> 'a key -> 'a value -> t
val rem : t -> 'a key -> t
val merge : t -> t -> t
val find : t -> 'a key -> 'a value option
val get : t -> 'a key -> 'a value
val domain : t -> Key.Set.t
val of_keys : Key.Set.t -> t
val eval : t -> 'a value -> 'a
val deps : 'a value -> Key.Set.t
val pp : Format.formatter -> t -> unit

Configuration schemes


type scheme = string * (string * t) 
type def 
val def : 'a key -> 'a -> def
val defv : 'a key -> 'a value -> def
val scheme : ?doc:string ->
?base:scheme -> string -> def list -> scheme

Configuration error messages


val pp_key_dup : Format.formatter -> Key.t -> unit

Built-in configuration keys



Project keys


val project_version : string key
val docs_project : string
val doc_project : string

Machine information keys


val docs_machine_information : string
val doc_machine_information : string
val uname : string key
val host_os : string key
val host_arch : string key
val host_word_size : int key
val target_os : string key
val target_arch : string key
val target_word_size : int key

Build directory keys


val docs_build_directories : string
val doc_build_directories : string
val root_dir : As_path.t key
val build_dir : As_path.rel key

Build property keys


val docs_build_properties : string
val doc_build_properties : string
val debug : bool key
val profile : bool key
val warn_error : bool key
val test : bool key
val doc : bool key
val jobs : int key

OCaml system keys


val docs_ocaml_system : string
val doc_ocaml_system : string
val ocaml_native_tools : bool key
val ocaml_version : (int * int * int * string option) key
val ocaml_byte : bool key
val ocaml_native : bool key
val ocaml_native_dynlink : bool key
val ocaml_build_ast : bool key
val ocaml_js : bool key
val ocaml_annot : bool key
val ocaml_dumpast : string key
val ocamlc : string key
val ocamlopt : string key
val js_of_ocaml : string key
val ocamldep : string key
val ocamlmklib : string key
val ocamldoc : string key
val ocamllex : string key
val ocamlyacc : string key
val ocaml : string key
val ocamlrun : string key
val ocamldebug : string key
val ocamlprof : string key
val ocamlfind : string key
val opam : string key
val opam_installer : string key
val opam_admin : string key

C system keys


val docs_c_system : string
val doc_c_system : string
val c_dynlink : bool key
val c_js : bool key
val cc : string key
val pkg_config : string key

System utility keys


val docs_system_utilities : string
val doc_system_utilities : string
val echo : string key
val cd : string key
val ln : string key
val cp : string key
val mv : string key
val rm : string key
val rmdir : string key
val mkdir : string key
val cat : string key
val make : string key