factor/native/platform.h

53 lines
1.2 KiB
C
Raw Normal View History

2005-03-14 13:20:57 -05:00
#if defined(i386) || defined(__i386) || defined(__i386__) || defined(WIN32)
#define FACTOR_X86
2005-03-14 13:20:57 -05:00
#elif defined(__POWERPC__) || defined(__ppc__) || defined(_ARCH_PPC)
#define FACTOR_PPC
#elif defined(__amd64__) || defined(__x86_64__)
#define FACTOR_AMD64
#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
#if defined(FACTOR_X86)
#define FACTOR_CPU_STRING "x86"
#elif defined(FACTOR_PPC)
#define FACTOR_CPU_STRING "ppc"
#elif defined(FACTOR_AMD64)
#define FACTOR_CPU_STRING "amd64"
#else
#define FACTOR_CPU_STRING "unknown"
#endif
2006-03-26 21:07:23 -05:00
#ifdef WINDOWS
#define FACTOR_OS_STRING "windows"
#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"
#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