OS: array[succ(low(TSystemOS)) .. high(TSystemOS), TInfoOS] = [(name: "DOS",
    parDir: "..", dllFrmt: "$1.dll", altDirSep: "/", objExt: ".obj",
    newLine: "\r\n", pathSep: ";", dirSep: "\\", scriptExt: ".bat", curDir: ".",
    exeExt: ".exe", extSep: ".", props: {ospCaseInsensitive}), (name: "Windows",
    parDir: "..", dllFrmt: "$1.dll", altDirSep: "/", objExt: ".obj",
    newLine: "\r\n", pathSep: ";", dirSep: "\\", scriptExt: ".bat", curDir: ".",
    exeExt: ".exe", extSep: ".", props: {ospCaseInsensitive}), (name: "OS2",
    parDir: "..", dllFrmt: "$1.dll", altDirSep: "/", objExt: ".obj",
    newLine: "\r\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: "CROSSOS", 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: "\r\n", pathSep: ":", dirSep: "/", scriptExt: ".sh", curDir: ".",
    exeExt: ".nlm", extSep: ".", props: {ospCaseInsensitive}), (name: "MacOS",
    parDir: "::", dllFrmt: "$1Lib", altDirSep: ":", objExt: ".o", newLine: "\r",
    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: "Zephyr",
    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: {})]