#define _POSIX_C_SOURCE
#define IO_COMPILER_TYPE gcc
/* ---------------------------------------------------------- */
#include <setjmp.h>
/* Solaris 9 Sparc with GCC */
#if defined(__SVR4) && defined (__sun)
#define IO_OS_TYPE solaris
#define IO_COMPILER_TYPE gcc
#if defined(_JBLEN) && (_JBLEN == 12) && defined(__sparc)
#define IO_PROCESSOR_TYPE powerpc
/* Solaris 9 i386 with GCC */
#elif defined(_JBLEN) && (_JBLEN == 10) && defined(__i386)
#define IO_PROCESSOR_TYPE i386
#endif
#endif
/* #if defined(__MACOSX__) && defined(_BSD_PPC_SETJMP_H_) */
#if defined(_BSD_PPC_SETJMP_H_)
/* OSX/PPC */
#define IO_OS_TYPE darwin
#define IO_PROCESSOR_TYPE powerpc
#elif defined(sgi) && defined(_IRIX4_SIGJBLEN)
/* Irix/SGI */
#define IO_OS_TYPE irix
#define IO_PROCESSOR_TYPE mips
#elif defined(linux)
/* Various flavors of Linux. */
#if defined(JB_GPR1)
/* Linux/PPC */
#define IO_OS_TYPE linux
#define IO_PROCESSOR_TYPE powerpc
#elif defined(JB_RBX)
/* Linux/Opteron */
#define IO_OS_TYPE linux
#define IO_PROCESSOR_TYPE i386
#elif defined(JB_SP)
/* Linux/i386 with glibc2 */
#define IO_OS_TYPE linux
#define IO_PROCESSOR_TYPE i386
#define IO_LIBC_TYPE glibc2
#elif defined(_I386_JMP_BUF_H)
/* i386-linux with libc5 */
#define IO_OS_TYPE linux
#define IO_PROCESSOR_TYPE i386
#define IO_LIBC_TYPE libc5
#elif defined(__JMP_BUF_SP)
/* arm-linux on the sharp zauras */
#define IO_OS_TYPE linux
#define IO_PROCESSOR_TYPE arm
#endif
#elif defined(__CYGWIN__)
#define IO_OS_TYPE cygwin
#elif defined(__MINGW32__)
#define IO_OS_TYPE mingw
#elif defined(_MSC_VER)
/* win32 visual c - should this be the same as __MINGW32__? */
#define IO_OS_TYPE win32
#elif defined(__SYMBIAN32__)
#define IO_OS_TYPE symbian
#elif defined(__FreeBSD__)
#define IO_OS_TYPE freebsd
#if defined(_JBLEN) && (_JBLEN == 81)
/* FreeBSD/Alpha */
#define IO_PROCESSOR_TYPE alpha
#elif defined(_JBLEN)
/* FreeBSD on IA32 */
#define IO_PROCESSOR_TYPE i386
#endif
#elif defined(__NetBSD__)
/* NetBSD. */
/* NetBSD i386. */
#define IO_OS_TYPE netbsd
#define IO_PROCESSOR_TYPE i386
#endif
#elif defined(__SVR4) && defined(__sun)
/* Solaris. */
#if defined(SUN_PROGRAM_COUNTER)
/* SunOS 9 */
#define IO_OS_TYPE sunos
#endif
#endif
syntax highlighted by Code2HTML, v. 0.9.1