Rev 5168 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
#ifndef PLATFORM_H_#define PLATFORM_H_#define Unix/* AIX at least. */#ifndef _ALL_SOURCE#undef _ALL_SOURCE#endif/* alloca */#undef C_ALLOCA#undef HAVE_ALLOCA#undef HAVE_ALLOCA_H/* Define to empty if the keyword does not work. */#undef const/* Define if you have the ANSI C header files. */#undef STDC_HEADERS/* (Long) Integers */#undef SIZEOF_LONG/* Floating Point Arithmetic */#undef HAVE_MATHERR /* System V */#undef HAVE_ISNAN /* IEEE Arith indicator */#undef HAVE_FINITE#undef HAVE_IEEEFP_H /* "-Wall" */#undef HAVE_IEEE754_H /* Linux */#ifdef HAVE_ISNAN#ifdef HAVE_FINITE#define IEEE_754#endif#endif/* Signal Handler Type */#define RETSIGTYPE int/* Process ID */#undef pid_t/* Object size */#undef size_t/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */#undef HAVE_SYS_WAIT_H/* Dynamic Linking */#undef HAVE_DL_H /* hpux */#undef HAVE_DLFCN_H /* Everything else *//* ELF Binary Format */#undef HAVE_ELF_H/* Process Timing */#undef HAVE_TIMES#undef HAVE_TIMES_H#undef HAVE_SYS_TIME_H#undef HAVE_SYS_TIMES_H#undef TIME_WITH_SYS_TIME/* XDR Library Available */#undef HAVE_RPC_XDR_H/* HDF5 Library Available */#undef HAVE_HDF5_H/* General String Comparison */#undef HAVE_STRCOLL/* Inverse Hyperbolics */#undef HAVE_ASINH#undef HAVE_ACOSH#undef HAVE_ATANH/* Unix commands through a subshell */#undef HAVE_SYSTEM/* IEEE Rounding */#undef HAVE_RINT/* HPUX rint is broken */#undef USE_BUILTIN_RINT/* POSIX Regular Expressions Available */#undef HAVE_REGCOMP/* Compatibility for "memmove" on older BSD platforms */#undef HAVE_MEMMOVE#undef HAVE_MEMCPY#undef HAVE_BCOPY/* Compatibility for setjmp / longjmp */#undef HAVE_SIGLONGJMP#ifdef HAVE_SIGLONGJMP#define JMP_BUF sigjmp_buf#define SETJMP(x) sigsetjmp(x,1)#define LONGJMP(x,i) siglongjmp(x,i)#else#define JMP_BUF jmp_buf#define SETJMP(x) setjmp(x)#define LONGJMP(x,i) longjmp(x,i)#endif/* Some Linux systems may need this */#undef NEED___SETFPUCW/* Fortran and C Links */#undef HAVE_F77_UNDERSCORE#ifdef HAVE_F77_UNDERSCORE#define F77_SYMBOL(x) x ## _#define F77_QSYMBOL(x) #x ## "_"#else#define F77_SYMBOL(x) x#define F77_QSYMBOL(x) #x#endif/* GNU Readline Library */#undef HAVE_LIBREADLINE#undef HAVE_READLINE_HISTORY_H#undef HAVE_LOCALE_H#undef HAVE_UNISTD_H/* Bug Workarounds */#undef HAVE_OSF_SPRINTF_BUG#undef LOG_BROKEN/* Some platforms other than ELF drop the leading _ */#undef HAVE_NO_SYMBOL_UNDERSCORE#ifndef HAVE_NO_SYMBOL_UNDERSCORE#ifdef HAVE_ELF_H#define HAVE_NO_SYMBOL_UNDERSCORE#endif#endif/* SunOS 4 is famous for broken header files */#undef SunOS4#ifdef SunOS4# ifndef NULL# define NULL 0# endif# ifndef RAND_MAX# define RAND_MAX 32767# endif#endif /* SunOS4 *//* Printing Command */#define R_PRINTCMD ""/* Getting the working directory */#undef HAVE_GETCWD#if defined(HAVE_GETCWD)#define R_GETCWD(x, y) getcwd(x, y)#elif defined(Win32)#define R_GETCWD(x, y) GetCurrentDirectory(y, x)#else#undef R_GETCWD#endif/* Maximal length of an entire file name */#undef HAVE_LIMITS_H#undef HAVE_SYS_PARAM_H#if defined(HAVE_LIMITS_H)# include <limits.h>#endif#if !defined(PATH_MAX)# if defined(HAVE_SYS_PARAM_H)# include <sys/param.h># endif# if defined(MAXPATHLEN) && !defined(PATH_MAX)# define PATH_MAX MAXPATHLEN# elif defined(Win32)# define PATH_MAX 260# else# define PATH_MAX 255# endif#endif/* for platform.c to put in .Platform */#ifdef Unix#define OSTYPE "Unix"#define FILESEP "/"#define SHLIBEXT ""#define DYNLOADEXT "." ## SHLIBEXT#endif#ifdef Macintosh#define OSTYPE "Macintosh"#define FILESEP ":"#define DYNLOADEXT ".dll"#endif#ifdef Win32#define OSTYPE "Windows"#define FILESEP "/"#define DYNLOADEXT ".dll"#endif#define R_PLATFORM "UNKNOWN"#define R_CPU "UNKNOWN"#define R_VENDOR "UNKNOWN"#define R_OS "UNKNOWN"#endif