/* machine.h.  Generated automatically by configure.  */
/* machine.h.in.  Generated automatically from configure.in by autoheader.  */
/*
 * $Id: acconfig.h,v 1.38 1999/05/26 03:08:21 mast Exp $
 */
#ifndef MACHINE_H
#define MACHINE_H

/* We must define this *always* */
#ifndef POSIX_SOURCE
#define POSIX_SOURCE
#endif

/* Where's the master.pike file installed? */
#define DEFAULT_MASTER "/usr/local/lib/pike/master.pike"

/* Define this if you want run time self tests */
/* #undef PIKE_DEBUG */

/* Define this if you want malloc debugging */
/* #undef DEBUG_MALLOC */


/* Define if on AIX 3.
   System headers sometimes define this.
   We just want to avoid a redefinition error message.  */
#ifndef _ALL_SOURCE
/* #undef _ALL_SOURCE */
#endif

/* Define if using alloca.c.  */
/* #undef C_ALLOCA */

/* Define to empty if the keyword does not work.  */
/* #undef const */

/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
   This function is required for alloca.c support on those systems.  */
/* #undef CRAY_STACKSEG_END */

/* Define to `int' if <sys/types.h> doesn't define.  */
/* #undef gid_t */

/* Define if you have alloca, as a function or macro.  */
#define HAVE_ALLOCA 1

/* Define if you have <alloca.h> and it should be used (not on Ultrix).  */
/* #undef HAVE_ALLOCA_H */

/* Define if you have a working `mmap' system call.  */
#define HAVE_MMAP 1

/* Define if you have the strcoll function and it is properly defined.  */
#define HAVE_STRCOLL 1

/* Define as __inline if that's what the C compiler calls it.  */
/* #undef inline */

/* Define if on MINIX.  */
/* #undef _MINIX */

/* Define to `int' if <sys/types.h> doesn't define.  */
/* #undef pid_t */

/* Define if the system does not provide POSIX.1 features except
   with this defined.  */
/* #undef _POSIX_1_SOURCE */

/* Define if you need to in order for stat and other things to work.  */
/* #undef _POSIX_SOURCE */

/* Define as the return type of signal handlers (int or void).  */
#define RETSIGTYPE void

/* Define to `unsigned' if <sys/types.h> doesn't define.  */
/* #undef size_t */

/* If using the C implementation of alloca, define if you know the
   direction of stack growth for your system; otherwise it will be
   automatically deduced at run-time.
 STACK_DIRECTION > 0 => grows toward higher addresses
 STACK_DIRECTION < 0 => grows toward lower addresses
 STACK_DIRECTION = 0 => direction of growth unknown
 */
#define STACK_DIRECTION -1

/* Define if you have the ANSI C header files.  */
#define STDC_HEADERS 1

/* Define if you can safely include both <sys/time.h> and <time.h>.  */
#define TIME_WITH_SYS_TIME 1

/* Define if your <sys/time.h> declares struct tm.  */
/* #undef TM_IN_SYS_TIME */

/* Define to `int' if <sys/types.h> doesn't define.  */
/* #undef uid_t */

/* Enable profiling */
/* #undef PROFILING */

/* Define for solaris */
/* #undef SOLARIS */

/* Define to 'int' if <sys/time.h> doesn't */
/* #undef time_t */

/* Define to 'int' if <signal.h> doesn't */
/* #undef sig_atomic_t */

/* Define as the return type of signal handlers (int or void).  */
#define RETSIGTYPE void

/* define this if igonoring SIGFPE helps with core dumps */
/* #undef IGNORE_SIGFPE */

/* If using the C implementation of alloca, define if you know the
 * direction of stack growth for your system; otherwise it will be
 * automatically deduced at run-time.
 * STACK_DIRECTION > 0 => grows toward higher addresses
 * STACK_DIRECTION < 0 => grows toward lower addresses
 * STACK_DIRECTION = 0 => direction of growth unknown
 *
 * Also used by Pike's runtime C-stack checker.
 */
#define STACK_DIRECTION -1

/* If so, is it restricted to user and system time? */
/* #undef GETRUSAGE_RESTRICTED */

/* Solaris has rusage as an ioctl on procfs */
/* #undef GETRUSAGE_THROUGH_PROCFS */

/* Define if you have fork */
#define HAVE_FORK 1

/* Define if you have isspace */
#define HAVE_ISSPACE 1

/* Define if you have fpsetmask */
#define HAVE_FPSETMASK 1

/* Define if you have crypt.  */
#define HAVE_CRYPT 1

/* Define if your ualarm takes two args.. */
#define UALARM_TAKES_TWO_ARGS 1

/* Define if gettimeofday takes to arguments */
#define GETTIMEOFDAY_TAKES_TWO_ARGS 1

/* Define if you have a working, 8-bit-clean memcmp */
#define HAVE_MEMCMP 1

/* Define if you have gethostname */
#define HAVE_GETHOSTNAME 1

/* Define if you have memmove.  */
#ifndef __CHECKER__
#define HAVE_MEMMOVE 1
#endif

/* Define if you have memmem.  */
/* #undef HAVE_MEMMEM */

/* Define this if you have dlopen */
#define HAVE_DLOPEN 1

/* Define if you have ldexp.  */
#define HAVE_LDEXP 1

/* Define if you have frexp.  */
#define HAVE_FREXP 1

/* Define if your signals are one-shot */
/* #undef SIGNAL_ONESHOT */

/* Define if you don't have the pri_t typedef. */
/* #undef pri_t */

/* You have gcc stype function attributes? */
#define HAVE_FUNCTION_ATTRIBUTES 1

/* Do your compiler grock 'volatile' */
#define VOLATILE volatile

/* How to extract a char and an unsigned char from a char * */
#define EXTRACT_CHAR_BY_CAST 1
#define EXTRACT_UCHAR_BY_CAST 1

/* Do you have IEEE floats and/or doubles (either big or little endian) ? */
/* #undef FLOAT_IS_IEEE_BIG */
#define FLOAT_IS_IEEE_LITTLE 1
/* #undef DOUBLE_IS_IEEE_BIG */
#define DOUBLE_IS_IEEE_LITTLE 1

/* Define this if strtol exists, and doesn't cut at 0x7fffffff */
/* #undef HAVE_WORKING_STRTOL */

/* define if declaration of strchr is missing */
/* #undef STRCHR_DECL_MISSING */

/* define if declaration of malloc is missing */
/* #undef MALLOC_DECL_MISSING */

/* define if declaration of getpeername is missing */
/* #undef GETPEERNAME_DECL_MISSING */

/* define if declaration of gethostname is missing */
/* #undef GETHOSTNAME_DECL_MISSING */

/* define if declaration of popen is missing */
/* #undef POPEN_DECL_MISSING */

/* define if declaration of getenv is missing */
/* #undef GETENV_DECL_MISSING */

/* Define if we can declare 'extern char **environ' */
#define DECLARE_ENVIRON 1

/* What byteorder does your machie use most machines use 4321, PC use 1234 */
#define PIKE_BYTEORDER 1234

/* Number of possible filedesriptors */
#define MAX_OPEN_FILEDESCRIPTORS 4136

/* define this if #include <time.h> provides an external int timezone */
/* #undef HAVE_EXTERNAL_TIMEZONE */

/* define this if your struct tm has a tm_gmtoff */
/* #undef STRUCT_TM_HAS_GMTOFF */

/* Define if you have struct timeval */
#define HAVE_STRUCT_TIMEVAL 1

/* Define this to the max value of an unsigned short unles <limits.h> does.. */
/* #undef USHRT_MAX */

/* Define these if you are going to use threads */
#define _REENTRANT 1
#define _THREAD_SAFE 1

/* Define this if you want the UNIX taste of threads */
/* #undef _UNIX_THREADS */

/* Define this if you want the POSIX taste of threads */
#define _MIT_POSIX_THREADS 1

/* Define this if you have Windows NT threads */
/* #undef NT_THREADS */

/* Define this if your pthreads have pthread_condattr_default */
#define HAVE_PTHREAD_CONDATTR_DEFAULT 1

/* Define this if you need to use &pthread_condattr_default in cond_init() */
/* #undef HAVE_PTHREAD_CONDATTR_DEFAULT_AIX */

/* Define if you have the pthread_attr_setstacksize function.  */
#define HAVE_PTHREAD_ATTR_SETSTACKSIZE 1

/* Define if you have the pthread_cond_init function.  */
#define HAVE_PTHREAD_COND_INIT 1

/* Define if you have the pthread_yield function.  */
#define HAVE_PTHREAD_YIELD 1

/* Hack for stupid glibc linuxthreads */
/* #undef HAVE_PTHREAD_INITIAL_THREAD_BOS */

/* Define if your OS has the union wait. */
/* #undef HAVE_UNION_WAIT */

/* Define if you have isgraph */
#define HAVE_ISGRAPH 1

/* Define if your cpp supports the ANSI concatenation operator ## */
#define HAVE_ANSI_CONCAT 1

/* Define if you don't have F_SETFD, or it doesn't work */
/* #undef HAVE_BROKEN_F_SETFD */

/* Define if your cpp supports K&R-style concatenation */
/* #undef HAVE_KR_CONCAT */

/* Use poll() instead of select() ? */
/* #undef HAVE_AND_USE_POLL */

/* This works on Solaris or any UNIX where
 * waitpid can report ECHILD when running more than one at once
 * (or any UNIX where waitpid actually works)
 */
/* #undef USE_WAIT_THREAD */

/* This works on Linux or any UNIX where
 * waitpid works or where threads and signals bugs in
 * less annoying ways than Solaris.
 */
#define USE_SIGCHILD 1

/* Enable code to handle Out-Of-Band data */
/* #undef WITH_OOB */

/* Enable individual tracing of threads */
/* #undef TRACE_THREADS */

/* Enable tracing of the compiler */
/* #undef YYDEBUG */

/* Define if your compiler has a symbol __func__ */
#define HAVE_WORKING___FUNC__ 1

/* Define if your compiler has a symbol __FUNCTION__ */
#define HAVE_WORKING___FUNCTION__ 1

/* The last argument to accept() is an ACCEPT_SIZE_T * */
#define ACCEPT_SIZE_T size_t

/* The number of bytes in a char *.  */
#define SIZEOF_CHAR_P 4

/* The number of bytes in a double.  */
#define SIZEOF_DOUBLE 8

/* The number of bytes in a float.  */
#define SIZEOF_FLOAT 4

/* The number of bytes in a int.  */
#define SIZEOF_INT 4

/* The number of bytes in a long.  */
#define SIZEOF_LONG 4

/* The number of bytes in a short.  */
#define SIZEOF_SHORT 2

/* Define if you have the __priocntl function.  */
/* #undef HAVE___PRIOCNTL */

/* Define if you have the _crypt function.  */
/* #undef HAVE__CRYPT */

/* Define if you have the alarm function.  */
#define HAVE_ALARM 1

/* Define if you have the bcopy function.  */
#define HAVE_BCOPY 1

/* Define if you have the bzero function.  */
#define HAVE_BZERO 1

/* Define if you have the clock function.  */
#define HAVE_CLOCK 1

/* Define if you have the crypt function.  */
#define HAVE_CRYPT 1

/* Define if you have the dld_get_func function.  */
/* #undef HAVE_DLD_GET_FUNC */

/* Define if you have the dld_link function.  */
/* #undef HAVE_DLD_LINK */

/* Define if you have the fchmod function.  */
#define HAVE_FCHMOD 1

/* Define if you have the finite function.  */
#define HAVE_FINITE 1

/* Define if you have the flock function.  */
#define HAVE_FLOCK 1

/* Define if you have the fork1 function.  */
/* #undef HAVE_FORK1 */

/* Define if you have the fp_class_d function.  */
/* #undef HAVE_FP_CLASS_D */

/* Define if you have the fpclass function.  */
/* #undef HAVE_FPCLASS */

/* Define if you have the getegid function.  */
#define HAVE_GETEGID 1

/* Define if you have the getenv function.  */
#define HAVE_GETENV 1

/* Define if you have the geteuid function.  */
#define HAVE_GETEUID 1

/* Define if you have the getgid function.  */
#define HAVE_GETGID 1

/* Define if you have the getgrent function.  */
#define HAVE_GETGRENT 1

/* Define if you have the getgrnam function.  */
#define HAVE_GETGRNAM 1

/* Define if you have the gethrtime function.  */
/* #undef HAVE_GETHRTIME */

/* Define if you have the gethrvtime function.  */
/* #undef HAVE_GETHRVTIME */

/* Define if you have the getpagesize function.  */
#define HAVE_GETPAGESIZE 1

/* Define if you have the getpwent function.  */
#define HAVE_GETPWENT 1

/* Define if you have the getpwnam function.  */
#define HAVE_GETPWNAM 1

/* Define if you have the getpwuid function.  */
#define HAVE_GETPWUID 1

/* Define if you have the getrlimit function.  */
#define HAVE_GETRLIMIT 1

/* Define if you have the getrusage function.  */
#define HAVE_GETRUSAGE 1

/* Define if you have the gettimeofday function.  */
#define HAVE_GETTIMEOFDAY 1

/* Define if you have the getuid function.  */
#define HAVE_GETUID 1

/* Define if you have the gmtime function.  */
#define HAVE_GMTIME 1

/* Define if you have the index function.  */
#define HAVE_INDEX 1

/* Define if you have the initgroups function.  */
#define HAVE_INITGROUPS 1

/* Define if you have the isinf function.  */
#define HAVE_ISINF 1

/* Define if you have the isnan function.  */
#define HAVE_ISNAN 1

/* Define if you have the iszero function.  */
/* #undef HAVE_ISZERO */

/* Define if you have the kill function.  */
#define HAVE_KILL 1

/* Define if you have the localtime function.  */
#define HAVE_LOCALTIME 1

/* Define if you have the lockf function.  */
#define HAVE_LOCKF 1

/* Define if you have the memchr function.  */
#define HAVE_MEMCHR 1

/* Define if you have the memcpy function.  */
#define HAVE_MEMCPY 1

/* Define if you have the memset function.  */
#define HAVE_MEMSET 1

/* Define if you have the mktime function.  */
#define HAVE_MKTIME 1

/* Define if you have the munmap function.  */
#define HAVE_MUNMAP 1

/* Define if you have the nice function.  */
#define HAVE_NICE 1

/* Define if you have the perror function.  */
#define HAVE_PERROR 1

/* Define if you have the pipe function.  */
#define HAVE_PIPE 1

/* Define if you have the poll function.  */
#define HAVE_POLL 1

/* Define if you have the pthread_init function.  */
/* #undef HAVE_PTHREAD_INIT */

/* Define if you have the pthread_mutexattr_init function.  */
#define HAVE_PTHREAD_MUTEXATTR_INIT 1

/* Define if you have the rindex function.  */
#define HAVE_RINDEX 1

/* Define if you have the sched_setscheduler function.  */
#define HAVE_SCHED_SETSCHEDULER 1

/* Define if you have the setegid function.  */
#define HAVE_SETEGID 1

/* Define if you have the seteuid function.  */
#define HAVE_SETEUID 1

/* Define if you have the setgid function.  */
#define HAVE_SETGID 1

/* Define if you have the setgroups function.  */
#define HAVE_SETGROUPS 1

/* Define if you have the setitimer function.  */
#define HAVE_SETITIMER 1

/* Define if you have the setlocale function.  */
#define HAVE_SETLOCALE 1

/* Define if you have the setpriority function.  */
#define HAVE_SETPRIORITY 1

/* Define if you have the setresuid function.  */
#define HAVE_SETRESUID 1

/* Define if you have the setrlimit function.  */
#define HAVE_SETRLIMIT 1

/* Define if you have the setuid function.  */
#define HAVE_SETUID 1

/* Define if you have the shl_load function.  */
/* #undef HAVE_SHL_LOAD */

/* Define if you have the sigaction function.  */
#define HAVE_SIGACTION 1

/* Define if you have the sigblock function.  */
#define HAVE_SIGBLOCK 1

/* Define if you have the signbit function.  */
/* #undef HAVE_SIGNBIT */

/* Define if you have the sigprocmask function.  */
#define HAVE_SIGPROCMASK 1

/* Define if you have the sigvec function.  */
#define HAVE_SIGVEC 1

/* Define if you have the socketpair function.  */
#define HAVE_SOCKETPAIR 1

/* Define if you have the strcasecmp function.  */
#define HAVE_STRCASECMP 1

/* Define if you have the strchr function.  */
#define HAVE_STRCHR 1

/* Define if you have the strcspn function.  */
#define HAVE_STRCSPN 1

/* Define if you have the strdup function.  */
#define HAVE_STRDUP 1

/* Define if you have the strerror function.  */
#define HAVE_STRERROR 1

/* Define if you have the strrchr function.  */
#define HAVE_STRRCHR 1

/* Define if you have the strtod function.  */
#define HAVE_STRTOD 1

/* Define if you have the strtok function.  */
#define HAVE_STRTOK 1

/* Define if you have the strtol function.  */
#define HAVE_STRTOL 1

/* Define if you have the time function.  */
#define HAVE_TIME 1

/* Define if you have the times function.  */
#define HAVE_TIMES 1

/* Define if you have the ualarm function.  */
#define HAVE_UALARM 1

/* Define if you have the vfprintf function.  */
#define HAVE_VFPRINTF 1

/* Define if you have the vsnprintf function.  */
#define HAVE_VSNPRINTF 1

/* Define if you have the vsprintf function.  */
#define HAVE_VSPRINTF 1

/* Define if you have the wait3 function.  */
#define HAVE_WAIT3 1

/* Define if you have the wait4 function.  */
#define HAVE_WAIT4 1

/* Define if you have the waitpid function.  */
#define HAVE_WAITPID 1

/* Define if you have the <crypt.h> header file.  */
/* #undef HAVE_CRYPT_H */

/* Define if you have the <dl.h> header file.  */
/* #undef HAVE_DL_H */

/* Define if you have the <dld.h> header file.  */
/* #undef HAVE_DLD_H */

/* Define if you have the <dlfcn.h> header file.  */
#define HAVE_DLFCN_H 1

/* Define if you have the <fcntl.h> header file.  */
#define HAVE_FCNTL_H 1

/* Define if you have the <floatingpoint.h> header file.  */
#define HAVE_FLOATINGPOINT_H 1

/* Define if you have the <fp_class.h> header file.  */
/* #undef HAVE_FP_CLASS_H */

/* Define if you have the <group.h> header file.  */
/* #undef HAVE_GROUP_H */

/* Define if you have the <grp.h> header file.  */
#define HAVE_GRP_H 1

/* Define if you have the <ieeefp.h> header file.  */
#define HAVE_IEEEFP_H 1

/* Define if you have the <limits.h> header file.  */
#define HAVE_LIMITS_H 1

/* Define if you have the <locale.h> header file.  */
#define HAVE_LOCALE_H 1

/* Define if you have the <malloc.h> header file.  */
/* #undef HAVE_MALLOC_H */

/* Define if you have the <memory.h> header file.  */
#define HAVE_MEMORY_H 1

/* Define if you have the <netinet/in.h> header file.  */
#define HAVE_NETINET_IN_H 1

/* Define if you have the <passwd.h> header file.  */
/* #undef HAVE_PASSWD_H */

/* Define if you have the <poll.h> header file.  */
#define HAVE_POLL_H 1

/* Define if you have the <pthread.h> header file.  */
#define HAVE_PTHREAD_H 1

/* Define if you have the <pwd.h> header file.  */
#define HAVE_PWD_H 1

/* Define if you have the <sched.h> header file.  */
#define HAVE_SCHED_H 1

/* Define if you have the <setjmp.h> header file.  */
#define HAVE_SETJMP_H 1

/* Define if you have the <signal.h> header file.  */
#define HAVE_SIGNAL_H 1

/* Define if you have the <socket.h> header file.  */
/* #undef HAVE_SOCKET_H */

/* Define if you have the <stdlib.h> header file.  */
#define HAVE_STDLIB_H 1

/* Define if you have the <string.h> header file.  */
#define HAVE_STRING_H 1

/* Define if you have the <strings.h> header file.  */
#define HAVE_STRINGS_H 1

/* Define if you have the <sys/file.h> header file.  */
#define HAVE_SYS_FILE_H 1

/* Define if you have the <sys/filio.h> header file.  */
#define HAVE_SYS_FILIO_H 1

/* Define if you have the <sys/ioct.h> header file.  */
/* #undef HAVE_SYS_IOCT_H */

/* Define if you have the <sys/mman.h> header file.  */
#define HAVE_SYS_MMAN_H 1

/* Define if you have the <sys/param.h> header file.  */
#define HAVE_SYS_PARAM_H 1

/* Define if you have the <sys/poll.h> header file.  */
#define HAVE_SYS_POLL_H 1

/* Define if you have the <sys/priocntl.h> header file.  */
/* #undef HAVE_SYS_PRIOCNTL_H */

/* Define if you have the <sys/procfs.h> header file.  */
#define HAVE_SYS_PROCFS_H 1

/* Define if you have the <sys/resource.h> header file.  */
#define HAVE_SYS_RESOURCE_H 1

/* Define if you have the <sys/rusage.h> header file.  */
/* #undef HAVE_SYS_RUSAGE_H */

/* Define if you have the <sys/select.h> header file.  */
#define HAVE_SYS_SELECT_H 1

/* Define if you have the <sys/socket.h> header file.  */
#define HAVE_SYS_SOCKET_H 1

/* Define if you have the <sys/sockio.h> header file.  */
#define HAVE_SYS_SOCKIO_H 1

/* Define if you have the <sys/time.h> header file.  */
#define HAVE_SYS_TIME_H 1

/* Define if you have the <sys/times.h> header file.  */
#define HAVE_SYS_TIMES_H 1

/* Define if you have the <sys/types.h> header file.  */
#define HAVE_SYS_TYPES_H 1

/* Define if you have the <sys/wait.h> header file.  */
#define HAVE_SYS_WAIT_H 1

/* Define if you have the <thread.h> header file.  */
/* #undef HAVE_THREAD_H */

/* Define if you have the <time.h> header file.  */
#define HAVE_TIME_H 1

/* Define if you have the <unistd.h> header file.  */
#define HAVE_UNISTD_H 1

/* Define if you have the <values.h> header file.  */
/* #undef HAVE_VALUES_H */

/* Define if you have the <winbase.h> header file.  */
/* #undef HAVE_WINBASE_H */

/* Define if you have the <winsock.h> header file.  */
/* #undef HAVE_WINSOCK_H */

/* Define if you have the <winsock2.h> header file.  */
/* #undef HAVE_WINSOCK2_H */

/* Define if you have the dl library (-ldl).  */
/* #undef HAVE_LIBDL */

/* Define if you have the dld library (-ldld).  */
/* #undef HAVE_LIBDLD */

/* Define if you have the m library (-lm).  */
#define HAVE_LIBM 1

/* Define if you have the nsl library (-lnsl).  */
/* #undef HAVE_LIBNSL */

/* Define if you have the posix4 library (-lposix4).  */
/* #undef HAVE_LIBPOSIX4 */

/* Define if you have the socket library (-lsocket).  */
/* #undef HAVE_LIBSOCKET */

/* NT stuff */
/* #undef HAVE_GETSYSTEMTIMEASFILETIME */
/* #undef HAVE_LOADLIBRARY */
/* #undef HAVE_FREELIBRARY */
/* #undef HAVE_GETPROCADDRESS */
#define DL_EXPORT 

/* How to set a socket non-blocking */
/* #undef USE_IOCTL_FIONBIO */
/* #undef USE_IOCTLSOCKET_FIONBIO */
/* #undef USE_FCNTL_O_NDELAY */
#define USE_FCNTL_FNDELAY 1
/* #undef USE_FCNTL_O_NONBLOCK */

/* We want to use errno later */
#ifdef _SGI_SPROC_THREADS
/* Magic define of _SGI_MP_SOURCE above might redefine errno below */
#include <errno.h>
#if defined(HAVE_OSERROR) && !defined(errno)
#define errno (oserror())
#endif /* HAVE_OSERROR && !errno */
#endif /* _SGI_SPROC_THREADS */

#ifdef HAVE_FUNCTION_ATTRIBUTES
#define ATTRIBUTE(X) __attribute__ (X)
#else
#define ATTRIBUTE(X)
#endif

#ifndef HAVE_WORKING___FUNC__
#ifdef HAVE_WORKING___FUNCTION__
#define __func__	__FUNCTION__
#else /* !HAVE_WORKING___FUNCTION__ */
#define __func__	"unknown"
#endif /* HAVE_WORKING___FUNCTION__ */
#endif /* !HAVE_WORKING___FUNC__ */

/* NOTE:
 *    PIKE_CONCAT doesn't get defined if there isn't any way to
 *    concatenate symbols
 */
#ifdef HAVE_ANSI_CONCAT
#define PIKE_CONCAT(X,Y)	X##Y
#define PIKE_CONCAT3(X,Y,Z)	X##Y##Z
#define PIKE_CONCAT4(X,Y,Z,Q)	X##Y##Z##Q
#else
#ifdef HAVE_KR_CONCAT
#define PIKE_CONCAT(X,Y)	X/**/Y
#define PIKE_CONCAT3(X,Y,Z)	X/**/Y/**/Z
#define PIKE_CONCAT4(X,Y,Z,Q)	X/**/Y/**/Z/**/Q
#endif /* HAVE_KR_CONCAT */
#endif /* HAVE_ANSI_CONCAT */

#endif /* MACHINE_H */
