Module Configurator__.V1

type t
val create : ?⁠dest_dir:string -> ?⁠ocamlc:string -> ?⁠log:(string -> unit) -> string -> t
val ocaml_config_var : t -> string -> string option

Return the value associated to a variable in the output of ocamlc -config

val ocaml_config_var_exn : t -> string -> string
val c_test : t -> ?⁠c_flags:string list -> ?⁠link_flags:string list -> string -> bool

c_test t ?c_flags ?link_flags c_code try to compile and link the C code given in c_code. Return whether compilation was successful.

module C_define : sig ... end
module Pkg_config : sig ... end with type configurator := t
module Flags : sig ... end
val which : t -> string -> string option

which t prog seek prog in the PATH and return the name of the program prefixed with the first path where it is found. Return None the the program is not found.

module Process : sig ... end

Execute external programs.

val main : ?⁠args:(Stdlib.Arg.key * Stdlib.Arg.spec * Stdlib.Arg.doc) list -> name:string -> (t -> unit) -> unit

Typical entry point for configurator programs

val die : ('a, unit, string, 'b) Stdlib.format4 -> 'a

Abort execution. If raised from within main, the argument of die is printed as Error: <message>.