B0_osOperating system and machine information.
val name : string B0_store.keyname is the operating system name. Determined using the following steps, in order:
If the uname tool is available in the memo environment, name is the lowercased token returned by uname -s, transformed as follows:
"darwin" is mapped on "macos"COMSPEC environment variable is defined in the memo environment, "windows"."unknown".val version : string B0_store.keyversion is the operating system version string. This depends on the value of name:
"freebsd". The output of uname -U."linux". An Android heuristic is applied, otherwise looks the VERSION_ID field of os-release if available, otherwise "unknown""macos". The output of sw_vers -productVersion."windows". The parsed output of cmd.exe /c ver. The Windows operating system to which this version string maps can be found here.uname tool is available in the memo environment the result of uname -r and otherwise "unknown".val distribution : string B0_store.keydistribution is the operating system distribution or a package manager. This depends on the value of name:
"linux". Looks up the ID field of os-release if available, if not found "linux""macos". If either the brew or port tool is found in the memo environment then this is respectively "homebrew" or "macports". The former takes over if both are present. If none are found "macos".nameval family : string B0_store.keyfamily is the operating system family. This lumps the following name names under a common identifier:
"bsd""windows", "cygwin" as "windows""linux", looks up the first value of ID_LIKE in os-release if available. If not uses distribution.nameval exe_ext : B0_std.Fpath.ext B0_store.keyexe_ext is operating system specific file extension for executable files. This is:
".exe" if name is "windows"."" otherwise.As reported by the operating system.
val arch : string B0_store.keyarch is the architecture of the operating system, see also arch_normalized. Determined using the following steps (in order):
uname is available in the memo environment, arch is the lowercased token returned by uname -m.PROCESSOR_ARCHITECTURE environment variable is defined in the memo environment, its value unless it is "x86". In the latter case the value of PROCESSOR_ARCHITEW6432 or, if undefined, "x86". This is for Windows, see here for the rationale."unknown".val arch_normalized : string B0_store.keyarch_normalized normalizes some of the arch values to more general identifiers like "arm32", "arm64", "ppc32", "ppc64", "x86_32" and "x86_64".
val arch_bits : int B0_store.keyarch_bits is number of bits in a word on the architecture of the operating system, derived from arch_normalized. Usually either 32 or 64. If unknown warns on the memo and defaults to 64.