1 2export void ispcCompilerId() { 3 4// Identify the compiler 5#if defined(ISPC) 6 print("INFO:compiler[Intel]"); 7#endif 8 9// Identify the platform 10#if defined(__linux) || defined(__linux__) || defined(linux) 11 print("INFO:platform[Linux]"); 12#elif defined(__CYGWIN__) 13 print("INFO:platform[Cygwin]"); 14#elif defined(__MINGW32__) 15 print("INFO:platform[MinGW]"); 16#elif defined(__APPLE__) 17 print("INFO:platform[Darwin]"); 18#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) 19 print("INFO:platform[Windows]"); 20#elif defined(__FreeBSD__) || defined(__FreeBSD) 21 print("INFO:platform[FreeBSD]"); 22#elif defined(__NetBSD__) || defined(__NetBSD) 23 print("INFO:platform[NetBSD]"); 24#elif defined(__OpenBSD__) || defined(__OPENBSD) 25 print("INFO:platform[OpenBSD]"); 26#elif defined(__sun) || defined(sun) 27 print("INFO:platform[SunOS]"); 28#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) 29 print("INFO:platform[AIX]"); 30#elif defined(__hpux) || defined(__hpux__) 31 print("INFO:platform[HP-UX]"); 32#elif defined(__HAIKU__) 33 print("INFO:platform[Haiku]"); 34#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) 35 print("INFO:platform[BeOS]"); 36#elif defined(__QNX__) || defined(__QNXNTO__) 37 print("INFO:platform[QNX]"); 38#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) 39 print("INFO:platform[Tru64]"); 40#elif defined(__riscos) || defined(__riscos__) 41 print("INFO:platform[RISCos]"); 42#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) 43 print("INFO:platform[SINIX]"); 44#elif defined(__UNIX_SV__) 45 print("INFO:platform[UNIX_SV]"); 46#elif defined(__bsdos__) 47 print("INFO:platform[BSDOS]"); 48#elif defined(_MPRAS) || defined(MPRAS) 49 print("INFO:platform[MP-RAS]"); 50#elif defined(__osf) || defined(__osf__) 51 print("INFO:platform[OSF1]"); 52#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) 53 print("INFO:platform[SCO_SV]"); 54#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) 55 print("INFO:platform[ULTRIX]"); 56#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) 57 print("INFO:platform[Xenix]"); 58#else 59 print("INFO:platform[]"); 60#endif 61 62} 63