diff options
Diffstat (limited to 'libslang/src/slconfig.h')
-rw-r--r-- | libslang/src/slconfig.h | 239 |
1 files changed, 239 insertions, 0 deletions
diff --git a/libslang/src/slconfig.h b/libslang/src/slconfig.h new file mode 100644 index 0000000..fd23847 --- /dev/null +++ b/libslang/src/slconfig.h @@ -0,0 +1,239 @@ +/* Copyright (c) 1992, 1999, 2001, 2002, 2003 John E. Davis + * This file is part of the S-Lang library. + * + * You may distribute under the terms of either the GNU General Public + * License or the Perl Artistic License. + */ + +/* This configuration file is for all non-Unix OS */ +#define _SLANG_SOURCE_ 1 + +#ifdef VMS +# ifdef __DECC +# define HAVE_STDLIB_H +# endif +/* Borland's compiler complains about long constants, so I will work + * around it as follows: + */ +# define VMS_VERSION_602 60200000 +# define VMS_VERSION_700 70000000 +# if __VMS_VER >= VMS_VERSION_602 +# define HAVE_UNISTD_H +# endif +#endif + +/* [JMS:BC5] The Borland v5.x compiler defines some things that other versions, + * and MSC don't, so we can check for those using ifdef __BORLAND_V5__ + */ + +#if defined(__BORLANDC__) && ((__BORLANDC__>>8) == 0x5) +# define __BORLAND_V5__ +#endif + + +#if defined(__WATCOMC__) && defined(__DOS__) +# define DOS386 +#endif + +/* Set of the various defines for pc systems. This includes OS/2 */ + +/* DJGPP has a split personality. It tries implement a unix like environment + * under MSDOS. Unfortunately, the personalities clash. + */ +#ifdef __GO32__ +# ifndef __DJGPP__ +# define __DJGPP__ 1 +# endif +#endif + +#if defined(__DJGPP__) || defined(__CYGWIN32__) || defined(__MINGW32__) +# ifdef REAL_UNIX_SYSTEM +# undef REAL_UNIX_SYSTEM +# endif +#endif + +#if defined(__MSDOS__) || defined(__DOS__) +# ifndef __MSDOS__ +# define __MSDOS__ +# endif +# ifndef IBMPC_SYSTEM +# define IBMPC_SYSTEM +# endif +#endif + +#if defined(OS2) || defined(__OS2__) +# ifndef IBMPC_SYSTEM +# define IBMPC_SYSTEM +# endif +# ifndef __os2__ +# define __os2__ +# endif +#endif + +#if defined(__CYGWIN32__) || defined(__MINGW32__) +# ifndef __WIN32__ +# define __WIN32__ +# endif +#endif + +#if defined(WIN32) || defined(__WIN32__) +# ifndef IBMPC_SYSTEM +# define IBMPC_SYSTEM +# endif +# ifndef __WIN32__ +# define __WIN32__ +# endif +#endif + +#if defined(__MSDOS__) && !defined(__GO32__) && !defined(DOS386) && !defined(__WIN32__) +# ifndef __MSDOS_16BIT__ +# define __MSDOS_16BIT__ 1 +# endif +#endif + +#if defined(MSWINDOWS) +# ifndef __WIN16__ +# define __WIN16__ +# endif +#endif + +#if defined(__WIN16__) || defined(__MSDOS_16BIT__) +# define __16_BIT_SYSTEM__ 1 +#endif + +#if defined(__WATCOMC__) && !defined(__QNX__) +# undef unix +# undef __unix__ +#endif /* __WATCOMC__ */ + +#ifdef IBMPC_SYSTEM +# define HAVE_STDLIB_H +# define HAVE_PUTENV +# if defined(__GO32__) || defined(__MINGW32__) || defined(__CYGWIN32__) +# define HAVE_UNISTD_H +# endif +#endif + +#ifdef VMS +# if __VMS_VER >= VMS_VERSION_700 +# define HAVE_MEMORY_H +# endif +#else +# if !defined(__WATCOMC__) +# define HAVE_MEMORY_H +# endif +#endif + +#define HAVE_MEMCPY +#define HAVE_MEMSET + +#if !defined(VMS) || (__VMS_VER >= VMS_VERSION_700) +# define HAVE_MEMCMP +# define HAVE_MEMCHR +# define HAVE_FCNTL_H +#endif + +#define HAVE_GETCWD 1 + +#ifndef VMS +# define HAVE_VFSCANF 1 +# define HAVE_STRTOD 1 +#endif + + +/* Does VMS have this??? */ +#if !defined(VMS) && !defined(_MSC_VER) && (!defined(__WATCOMC__) || defined(__QNX__)) +# define HAVE_DIRENT_H 1 +#endif + +#if defined(VMS) || (defined(__WATCOMC__) && !defined(__QNX__)) +# define HAVE_DIRECT_H 1 +#endif + +#if defined(__unix__) || (defined(VMS) && (__VMS_VER >= VMS_VERSION_700)) +# define HAVE_KILL 1 +# define HAVE_CHOWN 1 +#endif + +#define HAVE_ATEXIT 1 + +/* Do these systems have these functions? For now, assume the worst */ +#undef HAVE_GETPPID +#undef HAVE_GETGID +#undef HAVE_GETEGID +#undef HAVE_GETEUID +#undef HAVE_SETGID +#undef HAVE_SETPGID +#undef HAVE_SETUID +#undef HAVE_ISSETUGID + +/* Needed for tic/toc */ +#undef HAVE_TIMES +#undef HAVE_SYS_TIMES_H + +#undef HAVE_GMTIME +#ifdef __unix__ +# define HAVE_GMTIME 1 +#endif + +#undef HAVE_READLINK +#undef HAVE_UNAME + +#undef HAVE_POPEN + +/* Define if you have the vsnprintf, snprintf functions and they return + * EOF upon failure. + */ +#undef HAVE_VSNPRINTF +#undef HAVE_SNPRINTF + +#if defined(__unix__) || defined(__DECC) || defined(__BORLAND_V5__) +#else +# define mode_t int +# define pid_t int +# define uid_t int +# define gid_t int +#endif + +#if defined (__EMX__) || defined(__BORLANDC__) || defined(__IBMC__) || defined(_MSC_VER) +# define HAVE_IO_H +#endif + +#if defined(_MSC_VER) || defined(__IBMC__) || defined(__BORLANDC__) || defined(__MINGW32__) +# define HAVE_PROCESS_H +#endif + +#ifdef _MSC_VER +# define HAVE_POPEN 1 +# define popen _popen +# define pclose _pclose +#endif + +#ifdef VMS +# define SIZEOF_SHORT 2 +# define SIZEOF_INT 4 +# if defined(__alpha__) || defined(__ALPHA__) || defined(__alpha) +/* Apparantly, when compaq bought digital, the size of the long was reduced + * to 4 bytes for the alpha on VMS. On unix it is still 8 bytes. + */ +# define SIZEOF_LONG 4 +# else +# define SIZEOF_LONG 4 +# endif +# define SIZEOF_FLOAT 4 +# define SIZEOF_DOUBLE 8 + +#else /* NOT VMS */ + +# define SIZEOF_SHORT 2 +# if defined(__WIN16__) || defined(__MSDOS_16BIT__) +# define SIZEOF_INT 2 +#else +# define SIZEOF_INT 4 +#endif +#define SIZEOF_LONG 4 +#define SIZEOF_FLOAT 4 +#define SIZEOF_DOUBLE 8 + +#endif /* ifdef VMS */ + |