Module B0_care.OS

module OS: sig .. end
Build and host operating system information.

Operating system information

val name : string B0.Conf.key
name is the operating system name. Determine using the following steps (in order):
  1. If uname can be found in the environment. Determined by normalizing the output of uname -s. In particular "darwin" is normalized to "macos"
  2. If the COMSPEC environment variable is defined, then "windows" is used.
  3. "unknown" otherwise.

val arch : string B0.Conf.key
arch is the architecture of the operating system. FIXME this should depend on name. If Sys.os_type is: Normalization simplifies various specific architecture to more general identifiers like "arm32", "arm64", "ppc32", "ppc64", "x86_32" and "x86_64".
val arch_bits : int B0.Conf.key
arch_bits is number of bits in a word on the architecture of the operating system, derived from B0_care.OS.arch. Usually either 32 or 64.
val distribution : string B0.Conf.key
distribution is the operating system distribution or a package manager. If is
val version : string B0.Conf.key
version is the operating system version string. If is
val family : string B0.Conf.key
family is the operating system family. This lumps the following names under a common identifier:
val exe_ext : B0.Fpath.ext B0.Conf.key
exe_ext is the file extension used for executable file formats on the operating system. Derived from