Module B0_care.OS

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

FIXME. Some of the discovery functions rely on Sys.os_type for win32. This is strictly verboten. Basically we just need Windows discovery.

Operating system information

val name : string B0.Conf.key
name is the operating system name. If Sys.os_type is: FIXME this should be:
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