Consts defined by the compiler - nim-lang/Nim GitHub Wiki
Defined
The following three lists are compiled from: Nim/compiler/platform.nim and Nim/compiler/extccomp.nim
One can use some name from them like:
when defined(Windows):
  doSomething()
Operating Systems:
- DOS
- Windows
- OS2
- Linux
- MorphOS
- SkyOS
- Solaris
- Irix
- NetBSD
- FreeBSD
- OpenBSD
- AIX
- PalmOS
- QNX
- Amiga
- Atari
- Netware
- MacOS
- MacOSX
- Haiku
- VxWorks
- JS
- NimrodVM(also see- nimvmhere)
- Standalone
CPU Architectures:
- i386
- m68k
- alpha
- powerpc
- powerpc64
- sparc
- vm
- ia64
- amd64
- mips
- arm
- js
- nimrodvm(also see- nimvmhere)
- avr
Compilers:
- vccMicrosoft's Visual C++
- gccGnu C
- llvm_gccLLVM-GCC compiler
- iccIntel C++ compiler
- clangClang compiler
- bccBorland C Compiler
- dmcDigital Mars C Compiler
- wccWatcom C Compiler
- tccTiny C Compiler
- pccPelles C Compiler
- uccGeneric UNIX C compiler
compileOption
Also remember about how to access the compiler options:
  when compileOption("boundChecks"):  # d:release should disable this.
    if i > q.high:  # x < q.low is taken care by the Natural parameter
      raise newException(IndexError, "Bla has less than " & $(i+1) & " elements.")
  discard
TODO: List them here and how to correctly access the more complex ones.