+#if defined(__OpenBSD__)
+#define PLATFORM_OPENBSD
+#define PLATFORM_BSD
+#undef PLATFORM_STRING
+#define PLATFORM_STRING "OpenBSD"
+#endif
+
+#if defined(__OS2__)
+#define PLATFORM_OS2
+#undef PLATFORM_STRING
+#define PLATFORM_STRING "OS/2"
+#endif
+
+#if defined(osf) || defined(__osf) || defined(__osf__) || defined(_OSF_SOURCE)
+#define PLATFORM_OSF
+#undef PLATFORM_STRING
+#define PLATFORM_STRING "OSF/1"
+#endif
+
+#if defined(__QNXNTO__)
+#define PLATFORM_QNX
+#undef PLATFORM_STRING
+#define PLATFORM_STRING "QNX"
+#endif
+
+#if defined(riscos) || defined(__riscos) || defined(__riscos__)
+#define PLATFORM_RISCOS
+#undef PLATFORM_STRING
+#define PLATFORM_STRING "RISC OS"
+#endif
+
+#if defined(sparc) || defined(sun) || defined(__SVR4)