OS: array[succ(low(TSystemOS)) .. high(TSystemOS), TInfoOS] = [(name: "DOS",
parDir: "..", dllFrmt: "$1.dll", altDirSep: "/", objExt: ".obj",
newLine: "\c\n", pathSep: ";", dirSep: "\\", scriptExt: ".bat", curDir: ".",
exeExt: ".exe", extSep: ".", props: {ospCaseInsensitive}), (name: "Windows",
parDir: "..", dllFrmt: "$1.dll", altDirSep: "/", objExt: ".obj",
newLine: "\c\n", pathSep: ";", dirSep: "\\", scriptExt: ".bat", curDir: ".",
exeExt: ".exe", extSep: ".", props: {ospCaseInsensitive}), (name: "OS2",
parDir: "..", dllFrmt: "$1.dll", altDirSep: "/", objExt: ".obj",
newLine: "\c\n", pathSep: ";", dirSep: "\\", scriptExt: ".bat", curDir: ".",
exeExt: ".exe", extSep: ".", props: {ospCaseInsensitive}), (name: "Linux",
parDir: "..", dllFrmt: "lib$1.so", altDirSep: "/", objExt: ".o",
newLine: "\n", pathSep: ":", dirSep: "/", scriptExt: ".sh", curDir: ".",
exeExt: "", extSep: ".", props: {ospNeedsPIC, ospPosix}), (name: "MorphOS",
parDir: "..", dllFrmt: "lib$1.so", altDirSep: "/", objExt: ".o",
newLine: "\n", pathSep: ":", dirSep: "/", scriptExt: ".sh", curDir: ".",
exeExt: "", extSep: ".", props: {ospNeedsPIC, ospPosix}), (name: "SkyOS",
parDir: "..", dllFrmt: "lib$1.so", altDirSep: "/", objExt: ".o",
newLine: "\n", pathSep: ":", dirSep: "/", scriptExt: ".sh", curDir: ".",
exeExt: "", extSep: ".", props: {ospNeedsPIC, ospPosix}), (name: "Solaris",
parDir: "..", dllFrmt: "lib$1.so", altDirSep: "/", objExt: ".o",
newLine: "\n", pathSep: ":", dirSep: "/", scriptExt: ".sh", curDir: ".",
exeExt: "", extSep: ".", props: {ospNeedsPIC, ospPosix}), (name: "Irix",
parDir: "..", dllFrmt: "lib$1.so", altDirSep: "/", objExt: ".o",
newLine: "\n", pathSep: ":", dirSep: "/", scriptExt: ".sh", curDir: ".",
exeExt: "", extSep: ".", props: {ospNeedsPIC, ospPosix}), (name: "NetBSD",
parDir: "..", dllFrmt: "lib$1.so", altDirSep: "/", objExt: ".o",
newLine: "\n", pathSep: ":", dirSep: "/", scriptExt: ".sh", curDir: ".",
exeExt: "", extSep: ".", props: {ospNeedsPIC, ospPosix}), (name: "FreeBSD",
parDir: "..", dllFrmt: "lib$1.so", altDirSep: "/", objExt: ".o",
newLine: "\n", pathSep: ":", dirSep: "/", scriptExt: ".sh", curDir: ".",
exeExt: "", extSep: ".", props: {ospNeedsPIC, ospPosix}), (name: "OpenBSD",
parDir: "..", dllFrmt: "lib$1.so", altDirSep: "/", objExt: ".o",
newLine: "\n", pathSep: ":", dirSep: "/", scriptExt: ".sh", curDir: ".",
exeExt: "", extSep: ".", props: {ospNeedsPIC, ospPosix}), (
name: "DragonFly", parDir: "..", dllFrmt: "lib$1.so", altDirSep: "/",
objExt: ".o", newLine: "\n", pathSep: ":", dirSep: "/", scriptExt: ".sh",
curDir: ".", exeExt: "", extSep: ".", props: {ospNeedsPIC, ospPosix}), (
name: "AIX", parDir: "..", dllFrmt: "lib$1.so", altDirSep: "/",
objExt: ".o", newLine: "\n", pathSep: ":", dirSep: "/", scriptExt: ".sh",
curDir: ".", exeExt: "", extSep: ".", props: {ospNeedsPIC, ospPosix}), (
name: "PalmOS", parDir: "..", dllFrmt: "lib$1.so", altDirSep: "/",
objExt: ".o", newLine: "\n", pathSep: ":", dirSep: "/", scriptExt: ".sh",
curDir: ".", exeExt: "", extSep: ".", props: {ospNeedsPIC}), (name: "QNX",
parDir: "..", dllFrmt: "lib$1.so", altDirSep: "/", objExt: ".o",
newLine: "\n", pathSep: ":", dirSep: "/", scriptExt: ".sh", curDir: ".",
exeExt: "", extSep: ".", props: {ospNeedsPIC, ospPosix}), (name: "Amiga",
parDir: "..", dllFrmt: "$1.library", altDirSep: "/", objExt: ".o",
newLine: "\n", pathSep: ":", dirSep: "/", scriptExt: ".sh", curDir: ".",
exeExt: "", extSep: ".", props: {ospNeedsPIC}), (name: "Atari",
parDir: "..", dllFrmt: "$1.dll", altDirSep: "/", objExt: ".o",
newLine: "\n", pathSep: ":", dirSep: "/", scriptExt: "", curDir: ".",
exeExt: ".tpp", extSep: ".", props: {ospNeedsPIC}), (name: "Netware",
parDir: "..", dllFrmt: "$1.nlm", altDirSep: "/", objExt: "",
newLine: "\c\n", pathSep: ":", dirSep: "/", scriptExt: ".sh", curDir: ".",
exeExt: ".nlm", extSep: ".", props: {ospCaseInsensitive}), (name: "MacOS",
parDir: "::", dllFrmt: "$1Lib", altDirSep: ":", objExt: ".o", newLine: "\c",
pathSep: ",", dirSep: ":", scriptExt: "", curDir: ":", exeExt: "",
extSep: ".", props: {ospCaseInsensitive}), (name: "MacOSX", parDir: "..",
dllFrmt: "lib$1.dylib", altDirSep: ":", objExt: ".o", newLine: "\n",
pathSep: ":", dirSep: "/", scriptExt: ".sh", curDir: ".", exeExt: "",
extSep: ".", props: {ospNeedsPIC, ospPosix, ospLacksThreadVars}), (
name: "iOS", parDir: "..", dllFrmt: "lib$1.so", altDirSep: "/",
objExt: ".o", newLine: "\n", pathSep: ":", dirSep: "/", scriptExt: ".sh",
curDir: ".", exeExt: "", extSep: ".", props: {ospNeedsPIC, ospPosix}), (
name: "Haiku", parDir: "..", dllFrmt: "lib$1.so", altDirSep: ":",
objExt: ".o", newLine: "\n", pathSep: ":", dirSep: "/", scriptExt: ".sh",
curDir: ".", exeExt: "", extSep: ".",
props: {ospNeedsPIC, ospPosix, ospLacksThreadVars}), (name: "Android",
parDir: "..", dllFrmt: "lib$1.so", altDirSep: "/", objExt: ".o",
newLine: "\n", pathSep: ":", dirSep: "/", scriptExt: ".sh", curDir: ".",
exeExt: "", extSep: ".", props: {ospNeedsPIC, ospPosix}), (name: "VxWorks",
parDir: "..", dllFrmt: "lib$1.so", altDirSep: "/", objExt: ".o",
newLine: "\n", pathSep: ";", dirSep: "\\", scriptExt: ".sh", curDir: ".",
exeExt: ".vxe", extSep: ".",
props: {ospNeedsPIC, ospPosix, ospLacksThreadVars}), (name: "Genode",
pardir: "..", dllFrmt: "$1.lib.so", altDirSep: "/", objExt: ".o",
newLine: "\n", pathSep: ":", dirSep: "/", scriptExt: "", curDir: "/",
exeExt: "", extSep: ".", props: {ospNeedsPIC, ospLacksThreadVars}), (
name: "JS", parDir: "..", dllFrmt: "lib$1.so", altDirSep: "/", objExt: ".o",
newLine: "\n", pathSep: ":", dirSep: "/", scriptExt: ".sh", curDir: ".",
exeExt: "", extSep: ".", props: {}), (name: "NimVM", parDir: "..",
dllFrmt: "lib$1.so", altDirSep: "/", objExt: ".o", newLine: "\n",
pathSep: ":", dirSep: "/", scriptExt: ".sh", curDir: ".", exeExt: "",
extSep: ".", props: {}), (name: "Standalone", parDir: "..",
dllFrmt: "lib$1.so", altDirSep: "/", objExt: ".o",
newLine: "\n", pathSep: ":", dirSep: "/",
scriptExt: ".sh", curDir: ".", exeExt: "",
extSep: ".", props: {}), (name: "NintendoSwitch",
parDir: "..", dllFrmt: "lib$1.so", altDirSep: "/", objExt: ".o",
newLine: "\n", pathSep: ":", dirSep: "/", scriptExt: ".sh", curDir: ".",
exeExt: ".elf", extSep: ".", props: {ospNeedsPIC, ospPosix}), (
name: "FreeRTOS", parDir: "..", dllFrmt: "lib$1.so", altDirSep: "/",
objExt: ".o", newLine: "\n", pathSep: ":", dirSep: "/", scriptExt: ".sh",
curDir: ".", exeExt: "", extSep: ".", props: {ospPosix}), (name: "Any",
parDir: "..", dllFrmt: "lib$1.so", altDirSep: "/", objExt: ".o",
newLine: "\n", pathSep: ":", dirSep: "/", scriptExt: ".sh", curDir: ".",
exeExt: "", extSep: ".", props: {})]
CPU: array[succ(low(TSystemCPU)) .. high(TSystemCPU), TInfoCPU] = [
(name: "i386", intSize: 32, endian: littleEndian, floatSize: 64, bit: 32),
(name: "m68k", intSize: 32, endian: bigEndian, floatSize: 64, bit: 32), (
name: "alpha", intSize: 64, endian: littleEndian, floatSize: 64, bit: 64),
(name: "powerpc", intSize: 32, endian: bigEndian, floatSize: 64, bit: 32), (
name: "powerpc64", intSize: 64, endian: bigEndian, floatSize: 64, bit: 64), (
name: "powerpc64el", intSize: 64, endian: littleEndian, floatSize: 64,
bit: 64),
(name: "sparc", intSize: 32, endian: bigEndian, floatSize: 64, bit: 32),
(name: "vm", intSize: 32, endian: littleEndian, floatSize: 64, bit: 32),
(name: "hppa", intSize: 32, endian: bigEndian, floatSize: 64, bit: 32),
(name: "ia64", intSize: 64, endian: littleEndian, floatSize: 64, bit: 64), (
name: "amd64", intSize: 64, endian: littleEndian, floatSize: 64, bit: 64),
(name: "mips", intSize: 32, endian: bigEndian, floatSize: 64, bit: 32), (
name: "mipsel", intSize: 32, endian: littleEndian, floatSize: 64, bit: 32),
(name: "arm", intSize: 32, endian: littleEndian, floatSize: 64, bit: 32), (
name: "arm64", intSize: 64, endian: littleEndian, floatSize: 64, bit: 64),
(name: "js", intSize: 32, endian: bigEndian, floatSize: 64, bit: 32),
(name: "nimvm", intSize: 32, endian: bigEndian, floatSize: 64, bit: 32),
(name: "avr", intSize: 16, endian: littleEndian, floatSize: 32, bit: 16), (
name: "msp430", intSize: 16, endian: littleEndian, floatSize: 32, bit: 16),
(name: "sparc64", intSize: 64, endian: bigEndian, floatSize: 64, bit: 64),
(name: "mips64", intSize: 64, endian: bigEndian, floatSize: 64, bit: 64), (
name: "mips64el", intSize: 64, endian: littleEndian, floatSize: 64, bit: 64), (
name: "riscv64", intSize: 64, endian: littleEndian, floatSize: 64, bit: 64),
(name: "esp", intSize: 32, endian: littleEndian, floatSize: 64, bit: 32), (
name: "wasm32", intSize: 32, endian: littleEndian, floatSize: 64, bit: 32)]