Module B0_driver.Conf

Driver configuration.

Default file names

val b0_file_name : string

b0_file_name is "" the default B0 file name.

val drivers_dir_name : string

driver_dir_name is ".drivers" the default directory for drivers in the b0 directory.


type t

The type for configurations.

val make : b0_dir:B0_std.Fpath.t -> b0_file:B0_std.Fpath.t option -> cache_dir:B0_std.Fpath.t -> cwd:B0_std.Fpath.t -> code:B0_ocaml.Code.t option -> env:B0_std.Os.Env.t -> hash_fun:(module B0_std.Hash.T) -> jobs:int -> log_level:B0_std.Log.level -> no_pager:bool -> tty_cap:B0_std.Tty.cap -> unit -> t

make constructs a configuration with given attributes. See the accessors for semantics.

val b0_file : t -> B0_std.Fpath.t option

b0_file is the absolute path to the B0 file (if any).

val b0_dir : t -> B0_std.Fpath.t

b0_dir is the absolute path to the b0 directory.

val cache_dir : t -> B0_std.Fpath.t

cache_dir is the absolute path to the cache directory.

val cwd : t -> B0_std.Fpath.t

cwd is the absolute path to the current working directory.

val code : t -> B0_ocaml.Code.t option

code is the code to which the driver is compiled.

val env : t -> B0_std.Os.Env.t

env is the process environment of the driver.

val hash_fun : t -> (module B0_std.Hash.T)

hash_fun is the hash function to use for build caching.

val jobs : t -> int

jobs is the maximal number of spawns allowed.

val log_level : t -> B0_std.Log.level

log_level is the desired log level.

val memo : t -> (B0_memo.t, string) Stdlib.result

memo is the memoizer for the configuration.

val no_pager : t -> bool

no_pager indicates no paging is desired on stdout.

val tty_cap : t -> B0_std.Tty.cap

tty_cap is the terminal capability to assume for outputs.

Derived data

val get_b0_file : t -> (B0_std.Fpath.t, string) Stdlib.result

get_b0_file provides an error message if b0_file is None.


val setup_with_cli : b0_dir:B0_std.Fpath.t option -> b0_file:B0_std.Fpath.t option -> cache_dir:B0_std.Fpath.t option -> code:B0_ocaml.Code.t option -> hash_fun:(module B0_std.Hash.T) option -> jobs:int option -> log_level:B0_std.Log.level option -> no_pager:bool -> tty_cap:B0_std.Tty.cap option option -> unit -> (t, string) Stdlib.result

setup_with_cli determines and setups a configuration with the given values. These are expected to have been determined by environment variables and command line arugments.