Mercurial > projects > dstep
diff dstep/internal/Version.d @ 16:19885b43130e
Huge update, the bridge actually works now
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Sun, 03 Jan 2010 22:06:11 +0100 |
parents | 07194b026fa4 |
children |
line wrap: on
line diff
--- a/dstep/internal/Version.d Mon Aug 03 15:31:48 2009 +0200 +++ b/dstep/internal/Version.d Sun Jan 03 22:06:11 2010 +0100 @@ -6,4 +6,150 @@ */ module dstep.internal.Version; -public import mambo.util.Version; \ No newline at end of file + +template Version (char[] V) +{ + mixin( + "version(" ~ V ~ ") + { + const bool Version = true; + } + else + { + const bool Version = false; + }"); +} + +version (GNU) +{ + version (darwin) + version = OSX; + + static if ((void*).sizeof > int.sizeof) + version = D_LP64; +} + +version (DigitalMars) + version (OSX) + version = darwin; + +//Compiler Vendors +version (DigitalMars) const bool DigitalMars = true; +else const bool DigitalMars = false; + +version (GNU) const bool GNU = true; +else const bool GNU = false; + +version (LDC) const bool LDC = true; +else const bool LDC = false; + +version (LLVM) const bool LLVM = true; +else const bool LLVM = false; + + + +//Processors +version (PPC) const bool PPC = true; +else const bool PPC = false; + +version (PPC64) const bool PPC64 = true; +else const bool PPC64 = false; + +version (SPARC) const bool SPARC = true; +else const bool SPARC = false; + +version (SPARC64) const bool SPARC64 = true; +else const bool SPARC64 = false; + +version (X86) const bool X86 = true; +else const bool X86 = false; + +version (X86_64) const bool X86_64 = true; +else const bool X86_64 = false; + + + +//Operating Systems +version (aix) const bool aix = true; +else const bool aix = false; + +version (cygwin) const bool cygwin = true; +else const bool cygwin = false; + +version (darwin) const bool darwin = true; +else const bool darwin = false; + +version (OSX) const bool OSX = true; +else const bool OSX = false; + +version (freebsd) const bool freebsd = true; +else const bool freebsd = false; + +version (linux) const bool linux = true; +else const bool linux = false; + +version (solaris) const bool solaris = true; +else const bool solaris = false; + +version (Unix) const bool Unix = true; +else const bool Unix = false; + +version (Win32) const bool Win32 = true; +else const bool Win32 = false; + +version (Win64) const bool Win64 = true; +else const bool Win64 = false; + +version (Windows) const bool Windows = true; +else const bool Windows = false; + + + +//Rest +version (BigEndian) const bool BigEndian = true; +else const bool BigEndian = false; + +version (LittleEndian) const bool LittleEndian = true; +else const bool LittleEndian = false; + +version (D_Coverage) const bool D_Coverage = true; +else const bool D_Coverage = false; + +version (D_Ddoc) const bool D_Ddoc = true; +else const bool D_Ddoc = false; + +version (D_InlineAsm_X86) const bool D_InlineAsm_X86 = true; +else const bool D_InlineAsm_X86 = false; + +version (D_InlineAsm_X86_64) const bool D_InlineAsm_X86_64 = true; +else const bool D_InlineAsm_X86_64 = false; + +version (D_LP64) const bool D_LP64 = true; +else const bool D_LP64 = false; + +version (D_PIC) const bool D_PIC = true; +else const bool D_PIC = false; + +version (GNU_BitsPerPointer32) const bool GNU_BitsPerPointer32 = true; +else const bool GNU_BitsPerPointer32 = false; + +version (GNU_BitsPerPointer64) const bool GNU_BitsPerPointer64 = true; +else const bool GNU_BitsPerPointer64 = false; + +version (all) const bool all = true; +else const bool D_InlineAsm_X86_64 = false; + +version (none) const bool D_InlineAsm_X86_64 = true; +else const bool none = false; + +version (Tango) +{ + const bool Tango = true; + const bool Phobos = false; +} + +else +{ + const bool Tango = false; + const bool Phobos = true; +} \ No newline at end of file