123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- #
- #
- # Nim's Runtime Library
- # (c) Copyright 2015 Andreas Rumpf
- #
- # See the file "copying.txt", included in this
- # distribution, for details about the copyright.
- #
- ## Platform detection for NimScript. This module is included by the system module!
- ## Do not import it directly!
- # CPU architectures have alias names mapped in tools/niminst/makefile.nimf
- type
- CpuPlatform* {.pure.} = enum ## the CPU this program will run on.
- none, ## unknown CPU
- i386, ## 32 bit x86 compatible CPU
- m68k, ## M68k based processor
- alpha, ## Alpha processor
- powerpc, ## 32 bit PowerPC
- powerpc64, ## 64 bit PowerPC
- powerpc64el, ## Little Endian 64 bit PowerPC
- sparc, ## Sparc based processor
- sparc64, ## 64-bit Sparc based processor
- hppa, ## HP PA-RISC
- ia64, ## Intel Itanium
- amd64, ## x86_64 (AMD64); 64 bit x86 compatible CPU
- mips, ## Mips based processor
- mipsel, ## Little Endian Mips based processor
- mips64, ## 64-bit MIPS processor
- mips64el, ## Little Endian 64-bit MIPS processor
- arm, ## ARM based processor
- arm64, ## ARM64 based processor
- vm, ## Some Virtual machine: Nim's VM or JavaScript
- avr, ## AVR based processor
- msp430, ## TI MSP430 microcontroller
- riscv32, ## RISC-V 32-bit processor
- riscv64, ## RISC-V 64-bit processor
- wasm32, ## WASM, 32-bit
- e2k, ## MCST Elbrus 2000
- loongarch64, ## LoongArch 64-bit processor
- s390x ## IBM Z
- OsPlatform* {.pure.} = enum ## the OS this program will run on.
- none, dos, windows, os2, linux, morphos, skyos, solaris,
- irix, netbsd, freebsd, openbsd, aix, palmos, qnx, amiga,
- atari, netware, macos, macosx, haiku, android, js, standalone, nintendoswitch
- const
- targetOS* = when defined(windows): OsPlatform.windows
- elif defined(dos): OsPlatform.dos
- elif defined(os2): OsPlatform.os2
- elif defined(linux): OsPlatform.linux
- elif defined(morphos): OsPlatform.morphos
- elif defined(skyos): OsPlatform.skyos
- elif defined(solaris): OsPlatform.solaris
- elif defined(irix): OsPlatform.irix
- elif defined(netbsd): OsPlatform.netbsd
- elif defined(freebsd): OsPlatform.freebsd
- elif defined(openbsd): OsPlatform.openbsd
- elif defined(aix): OsPlatform.aix
- elif defined(palmos): OsPlatform.palmos
- elif defined(qnx): OsPlatform.qnx
- elif defined(amiga): OsPlatform.amiga
- elif defined(atari): OsPlatform.atari
- elif defined(netware): OsPlatform.netware
- elif defined(macosx): OsPlatform.macosx
- elif defined(macos): OsPlatform.macos
- elif defined(haiku): OsPlatform.haiku
- elif defined(android): OsPlatform.android
- elif defined(js): OsPlatform.js
- elif defined(standalone): OsPlatform.standalone
- elif defined(nintendoswitch): OsPlatform.nintendoswitch
- else: OsPlatform.none
- ## the OS this program will run on.
- targetCPU* = when defined(i386): CpuPlatform.i386
- elif defined(m68k): CpuPlatform.m68k
- elif defined(alpha): CpuPlatform.alpha
- elif defined(powerpc): CpuPlatform.powerpc
- elif defined(powerpc64): CpuPlatform.powerpc64
- elif defined(powerpc64el): CpuPlatform.powerpc64el
- elif defined(sparc): CpuPlatform.sparc
- elif defined(sparc64): CpuPlatform.sparc64
- elif defined(hppa): CpuPlatform.hppa
- elif defined(ia64): CpuPlatform.ia64
- elif defined(amd64): CpuPlatform.amd64
- elif defined(mips): CpuPlatform.mips
- elif defined(mipsel): CpuPlatform.mipsel
- elif defined(mips64): CpuPlatform.mips64
- elif defined(mips64el): CpuPlatform.mips64el
- elif defined(arm): CpuPlatform.arm
- elif defined(arm64): CpuPlatform.arm64
- elif defined(vm): CpuPlatform.vm
- elif defined(avr): CpuPlatform.avr
- elif defined(msp430): CpuPlatform.msp430
- elif defined(riscv32): CpuPlatform.riscv32
- elif defined(riscv64): CpuPlatform.riscv64
- elif defined(wasm32): CpuPlatform.wasm32
- elif defined(e2k): CpuPlatform.e2k
- elif defined(loongarch64): CpuPlatform.loongarch64
- elif defined(s390x): CpuPlatform.s390x
- else: CpuPlatform.none
- ## the CPU this program will run on.
|