2005-03-14 13:20:57 -05:00
|
|
|
#if defined(i386) || defined(__i386) || defined(__i386__) || defined(WIN32)
|
2005-03-19 20:37:25 -05:00
|
|
|
#define FACTOR_X86
|
2005-03-14 13:20:57 -05:00
|
|
|
#elif defined(__POWERPC__) || defined(__ppc__) || defined(_ARCH_PPC)
|
2005-03-19 20:37:25 -05:00
|
|
|
#define FACTOR_PPC
|
2005-12-01 23:40:44 -05:00
|
|
|
#elif defined(__amd64__) || defined(__x86_64__)
|
|
|
|
#define FACTOR_AMD64
|
2005-03-19 20:37:25 -05:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef __APPLE__
|
|
|
|
/* Horray for Mach-O */
|
|
|
|
#define MANGLE(sym) _##sym
|
|
|
|
#else
|
|
|
|
#define MANGLE(sym) sym
|
2005-03-14 13:20:57 -05:00
|
|
|
#endif
|
2005-05-04 22:34:55 -04:00
|
|
|
|
|
|
|
#if defined(FACTOR_X86)
|
|
|
|
#define FACTOR_CPU_STRING "x86"
|
|
|
|
#elif defined(FACTOR_PPC)
|
|
|
|
#define FACTOR_CPU_STRING "ppc"
|
2005-12-01 23:40:44 -05:00
|
|
|
#elif defined(FACTOR_AMD64)
|
|
|
|
#define FACTOR_CPU_STRING "amd64"
|
2005-05-04 22:34:55 -04:00
|
|
|
#else
|
|
|
|
#define FACTOR_CPU_STRING "unknown"
|
|
|
|
#endif
|
|
|
|
|
2006-03-26 21:07:23 -05:00
|
|
|
#ifdef WINDOWS
|
|
|
|
#define FACTOR_OS_STRING "windows"
|
2005-05-04 22:34:55 -04:00
|
|
|
#elif defined(__FreeBSD__)
|
|
|
|
#define FACTOR_OS_STRING "freebsd"
|
|
|
|
#elif defined(linux)
|
|
|
|
#define FACTOR_OS_STRING "linux"
|
|
|
|
#elif defined(__APPLE__)
|
|
|
|
#define FACTOR_OS_STRING "macosx"
|
2006-01-31 14:31:31 -05:00
|
|
|
#elif defined(__sun)
|
|
|
|
#define FACTOR_OS_STRING "solaris"
|
2005-05-04 22:34:55 -04:00
|
|
|
#else
|
|
|
|
#define FACTOR_OS_STRING "unix"
|
|
|
|
#endif
|
2005-10-11 21:46:14 -04:00
|
|
|
|
|
|
|
#if defined(WIN32)
|
|
|
|
#define DLLEXPORT __declspec(dllexport)
|
2005-12-20 21:36:52 -05:00
|
|
|
#define SETJMP setjmp
|
|
|
|
#define LONGJMP longjmp
|
|
|
|
#define JMP_BUF jmp_buf
|
2005-10-11 21:46:14 -04:00
|
|
|
#else
|
|
|
|
#define DLLEXPORT
|
2005-12-20 21:36:52 -05:00
|
|
|
#define SETJMP(jmpbuf) sigsetjmp(jmpbuf,1)
|
|
|
|
#define LONGJMP siglongjmp
|
|
|
|
#define JMP_BUF sigjmp_buf
|
2005-10-11 21:46:14 -04:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#define INLINE inline static
|