/+ compile_time_info compile_time_info.d +/ template CompileTimeInfo() { version(Windows) { pragma(msg, "[ Windows compilation ]"); enum os = "Windows"; } else version(OSX) { pragma(msg, "[ Mac OS X POSIX System compilation ]"); enum os = "OSX"; } else version(linux) { pragma(msg, "[ Linux POSIX System compilation ]"); enum os = "Linux"; } else version(FreeBSD) { pragma(msg, "[ FreeBSD POSIX System compilation ]"); enum os = "FreeBSD"; } else version(OpenBSD) { pragma(msg, "[ OpenBSD POSIX System compilation ]"); enum os = "OpenBSD"; } else version(NetBSD) { pragma(msg, "[ NetBSD POSIX System compilation ]"); enum os = "NetBSD"; } else version(DragonFlyBSD) { pragma(msg, "[ DragonFlyBSD POSIX System compilation ]"); enum os = "DragonFlyBSD"; } else version(POSIX) { pragma(msg, "[ POSIX System compilation ]"); enum os = "POSIX"; } else { static assert(0, "OS not listed"); } version(D_LP64) { enum bits = "64 bit"; } else { enum bits = "32 bit"; } }