24ddc71998-03-28Henrik Grubbström (Grubba) /*
de9dbe2001-07-01Martin Stjernholm  * $Id: acconfig.h,v 1.89 2001/07/01 21:47:34 mast Exp $
24ddc71998-03-28Henrik Grubbström (Grubba)  */
fda9ae1997-01-28Fredrik Hübinette (Hubbe) #ifndef MACHINE_H #define MACHINE_H
99ed771997-06-03Fredrik Hübinette (Hubbe) /* We must define this *always* */
be478c1997-08-30Henrik Grubbström (Grubba) #ifndef POSIX_SOURCE
99ed771997-06-03Fredrik Hübinette (Hubbe) #define POSIX_SOURCE
be478c1997-08-30Henrik Grubbström (Grubba) #endif
99ed771997-06-03Fredrik Hübinette (Hubbe) 
fda9ae1997-01-28Fredrik Hübinette (Hubbe) /* Where's the master.pike file installed? */ #define DEFAULT_MASTER "@prefix@/lib/pike/master.pike" /* Define this if you want run time self tests */
71f3a21998-11-22Fredrik Hübinette (Hubbe) #undef PIKE_DEBUG
fda9ae1997-01-28Fredrik Hübinette (Hubbe) 
106aca1999-02-06Henrik Grubbström (Grubba) /* Define this if you are going to use a memory access checker (like Purify) */ #undef __CHECKER__
61e9a01998-01-25Fredrik Hübinette (Hubbe) /* Define this if you want malloc debugging */ #undef DEBUG_MALLOC
e9670c2001-01-30Fredrik Hübinette (Hubbe) /* Define this if you want checkpoints */ #undef DMALLOC_TRACE
f6b9e52001-03-12Fredrik Hübinette (Hubbe) /* With this, dmalloc will trace malloc(3) calls */ #undef ENCAPSULATE_MALLOC /* With this, dmalloc will report leaks made by malloc(3) calls */ #undef REPORT_ENCAPSULATED_MALLOC
632add1999-01-07Fredrik Hübinette (Hubbe) /* Define this to enable the internal Pike security system */ #undef PIKE_SECURITY
fda0de1999-10-08Fredrik Noring /* Define this to enable the internal bignum conversion */ #undef AUTO_BIGNUM
e83eb92001-03-22Fredrik Hübinette (Hubbe) /* Define this to enable experimental code for multicpu machines */
70d82e2001-03-23Henrik Grubbström (Grubba) #undef PIKE_RUN_UNLOCKED
e83eb92001-03-22Fredrik Hübinette (Hubbe) 
1070ae1999-11-13Henrik Grubbström (Grubba) /* Define this if you want to enable the shared nodes mode of the optimizer. */ #undef SHARED_NODES
df9b622001-05-27Henrik Grubbström (Grubba) /* Define this to use the new keypair loop. */ #undef PIKE_MAPPING_KEYPAIR_LOOP
b5c6f42000-10-28Henrik Grubbström (Grubba) /* The following USE_* are used by smartlink */
d1e3fe1999-03-06Henrik Grubbström (Grubba) /* Define this if your ld sets the run path with -rpath */ #undef USE_RPATH /* Define this if your ld sets the run path with -R */ #undef USE_R
2d3c2b2000-06-16Henrik Grubbström (Grubba) /* Define this if your ld sets the run path with -YP, */ #undef USE_YP_
b5c6f42000-10-28Henrik Grubbström (Grubba) /* Define this if your ld sets the run path with +b */ #undef USE_PLUS_b
d1e3fe1999-03-06Henrik Grubbström (Grubba) /* Define this if your ld uses -rpath, but your cc wants -Wl,-rpath, */ #undef USE_Wl
69e31d1999-05-12Henrik Grubbström (Grubba) /* Define this if your ld uses -R, but your cc wants -Wl,-R */ #undef USE_Wl_R
2d3c2b2000-06-16Henrik Grubbström (Grubba) /* Define this if your ld uses -YP, , but your cc wants -Xlinker -YP, */ #undef USE_XLINKER_YP_
d1e3fe1999-03-06Henrik Grubbström (Grubba) /* Define this if your ld doesn't have an option to set the run path */ #undef USE_LD_LIBRARY_PATH
bfd5a52001-02-17Henrik Grubbström (Grubba) /* Define this if your compiler attempts to use _chkstk, but libc contains * __chkstk. */ #undef HAVE_BROKEN_CHKSTK
fda9ae1997-01-28Fredrik Hübinette (Hubbe) @TOP@
32629a1997-10-15Henrik Grubbström (Grubba) /* Enable profiling */ #undef PROFILING
fda9ae1997-01-28Fredrik Hübinette (Hubbe) /* Define for solaris */ #undef SOLARIS /* Define if the closedir function returns void instead of int. */ #undef VOID_CLOSEDIR /* Define to 'int' if <sys/time.h> doesn't */ #undef time_t
550b7f1999-07-08Fredrik Hübinette (Hubbe) /* Define to 'short' if <sys/types.h> doesn't */ #undef pri_t
1e577b1999-07-15Fredrik Hübinette (Hubbe) /* Define to 'int' if <sys/types.h> doesn't */ #undef uid_t /* Define to 'int' if <sys/types.h> doesn't */ #undef gid_t /* Define to 'int' if <sys/types.h> doesn't */ #undef pid_t
eecf6b2000-06-29Henrik Grubbström (Grubba) /* Define to 'unsigned long' if <sys/types.h> or <stddef.h> doesn't */
1e577b1999-07-15Fredrik Hübinette (Hubbe) #undef size_t
eecf6b2000-06-29Henrik Grubbström (Grubba) /* Define to 'long' if <sys/types.h> of <stddef.h> doesn't */ #undef ptrdiff_t
1e577b1999-07-15Fredrik Hübinette (Hubbe) /* Define to 'long' if <sys/types.h> doesn't */ #undef off_t
61d3cf1998-02-27Marcus Comstedt /* Define to 'int' if <signal.h> doesn't */ #undef sig_atomic_t
fda9ae1997-01-28Fredrik Hübinette (Hubbe) /* Define as the return type of signal handlers (int or void). */ #undef RETSIGTYPE
71b44e1998-06-05Fredrik Hübinette (Hubbe) /* define this if igonoring SIGFPE helps with core dumps */ #undef IGNORE_SIGFPE
ad7f211999-12-05Mirar (Pontus Hagland) /* define if you want to use double precision floats instead of single */ #undef WITH_DOUBLE_PRECISION_SVALUE /* define if you want to use long double precision floats */ #undef WITH_LONG_DOUBLE_PRECISION_SVALUE
b875ff2001-03-04Mirar (Pontus Hagland) /* force this type upon ints */ #undef WITH_LONG_INT #undef WITH_LONG_LONG_INT #undef WITH_SHORT_INT #undef WITH_INT_INT
fda9ae1997-01-28Fredrik Hübinette (Hubbe) /* If using the C implementation of alloca, define if you know the
83591e1998-09-05Henrik Grubbström (Grubba)  * 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.
fda9ae1997-01-28Fredrik Hübinette (Hubbe)  */ #undef STACK_DIRECTION
fcf0732000-03-28Fredrik Hübinette (Hubbe) /* Define this to the number of KB in the initial stack, * currently this is 1 Mb on FreeBSD, 2Mb on Linux and * unlimited (undefined) everywhere else */ #undef Pike_INITIAL_STACK_SIZE
fda9ae1997-01-28Fredrik Hübinette (Hubbe) /* 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
76aa1f2000-03-25Fredrik Hübinette (Hubbe) /* So has True64, but no useful information in prstatus_t */ #undef GETRUSAGE_THROUGH_PROCFS_PRS
1b28b82001-05-28Marcus Comstedt /* Define if you have infnan */ #undef HAVE_INFNAN
8c5a892001-06-12Henrik Grubbström (Grubba) /* Define if you have _isnan */ #undef HAVE__ISNAN
05030b1998-11-18Marcus Comstedt /* Define if you have fork */ #undef HAVE_FORK
fda9ae1997-01-28Fredrik Hübinette (Hubbe) /* Define if you have isspace */ #undef HAVE_ISSPACE
e261f01998-07-22Fredrik Hübinette (Hubbe) /* Define if you have fpsetmask */ #undef HAVE_FPSETMASK
9ef1ee2000-03-28Henrik Grubbström (Grubba) /* Define if you have fpsetround */ #undef HAVE_FPSETROUND
e1184f2001-01-24Marcus Comstedt /* Define if you have isless */ #undef HAVE_ISLESS
fda9ae1997-01-28Fredrik Hübinette (Hubbe) /* Define if you have crypt. */ #undef HAVE_CRYPT
83591e1998-09-05Henrik Grubbström (Grubba) /* Define if you have ualarm. */
fda9ae1997-01-28Fredrik Hübinette (Hubbe) #undef HAVE_UALARM /* Define if your ualarm takes two args.. */ #undef UALARM_TAKES_TWO_ARGS /* Define if gettimeofday takes to arguments */ #undef GETTIMEOFDAY_TAKES_TWO_ARGS
bbc16c2000-08-29Mirar (Pontus Hagland) /* Define if you have gethrtime */ #undef HAVE_GETHRTIME /* Can we make our own gethrtime? */ #undef OWN_GETHRTIME /* ... by using the RDTSC instruction? */ #undef OWN_GETHRTIME_RDTSC
fda9ae1997-01-28Fredrik Hübinette (Hubbe) /* Define if you have a working, 8-bit-clean memcmp */ #undef HAVE_MEMCMP
9649491998-02-27Fredrik Hübinette (Hubbe) /* Define if you have gethostname */ #undef HAVE_GETHOSTNAME
fda9ae1997-01-28Fredrik Hübinette (Hubbe) /* Define if you have memmove. */ #ifndef __CHECKER__ #undef HAVE_MEMMOVE #endif /* Define if you have memmem. */ #undef HAVE_MEMMEM
7a5e471999-11-22Fredrik Hübinette (Hubbe) /* Define if you have memset. */ #undef HAVE_MEMSET /* Define if you have memcpy. */ #undef HAVE_MEMCPY
0d34a62000-11-27Mirar (Pontus Hagland) /* Define if you have strcoll */ #undef HAVE_STRCOLL
de16081997-06-03Fredrik Hübinette (Hubbe) /* Define this if you have dlopen */ #undef HAVE_DLOPEN
c411dc1997-04-21Fredrik Hübinette (Hubbe) /* Define if you have ldexp. */ #undef HAVE_LDEXP
1e18021999-06-19Fredrik Hübinette (Hubbe) /* Define if you have rint. */ #undef HAVE_RINT
c411dc1997-04-21Fredrik Hübinette (Hubbe) /* Define if you have frexp. */ #undef HAVE_FREXP
fda9ae1997-01-28Fredrik Hübinette (Hubbe) /* Define if your signals are one-shot */ #undef SIGNAL_ONESHOT
2e89072000-08-21Henrik Grubbström (Grubba) /* You have gcc-type function attributes? */
fda9ae1997-01-28Fredrik Hübinette (Hubbe) #undef HAVE_FUNCTION_ATTRIBUTES
2e89072000-08-21Henrik Grubbström (Grubba) /* You have lc-type __declspec? */ #undef HAVE_DECLSPEC
fda9ae1997-01-28Fredrik Hübinette (Hubbe) /* Do your compiler grock 'volatile' */ #define VOLATILE volatile
6a2ad71999-04-25Henrik Grubbström (Grubba) /* Define this if your compiler doesn't allow cast of void * to function pointer */ #undef NO_CAST_TO_FUN
fda9ae1997-01-28Fredrik Hübinette (Hubbe) /* How to extract a char and an unsigned char from a char * */ #undef EXTRACT_CHAR_BY_CAST #undef EXTRACT_UCHAR_BY_CAST
5ff14f1998-05-25Marcus Comstedt /* Do you have IEEE floats and/or doubles (either big or little endian) ? */ #undef FLOAT_IS_IEEE_BIG #undef FLOAT_IS_IEEE_LITTLE #undef DOUBLE_IS_IEEE_BIG #undef DOUBLE_IS_IEEE_LITTLE
de087e1998-05-29Henrik Grubbström (Grubba) /* Define this if strtol exists, and doesn't cut at 0x7fffffff */ #undef HAVE_WORKING_STRTOL
fda9ae1997-01-28Fredrik Hübinette (Hubbe) /* The rest of this file is just to eliminate warnings */ /* 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
17a0802000-08-20Henrik Grubbström (Grubba) /* define if you are using crypt.c. */ #undef USE_CRYPT_C
5027721998-01-08Fredrik Hübinette (Hubbe) /* Define if we can declare 'extern char **environ' */ #undef DECLARE_ENVIRON
fda9ae1997-01-28Fredrik Hübinette (Hubbe) /* What byteorder does your machie use most machines use 4321, PC use 1234 */
71f3a21998-11-22Fredrik Hübinette (Hubbe) #define PIKE_BYTEORDER 0
fda9ae1997-01-28Fredrik Hübinette (Hubbe) 
6a36472000-12-19Marcus Comstedt /* What alignment do 32-bit integers need */ #define PIKE_INT32_ALIGNMENT 4
fda9ae1997-01-28Fredrik Hübinette (Hubbe) /* Number of possible filedesriptors */ #define MAX_OPEN_FILEDESCRIPTORS 1024 /* 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 */ #undef HAVE_STRUCT_TIMEVAL /* 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 */
53ffab1999-08-10Martin Stjernholm #undef PIKE_THREADS
fda9ae1997-01-28Fredrik Hübinette (Hubbe) #undef _REENTRANT #undef _THREAD_SAFE /* Define this if you want the UNIX taste of threads */ #undef _UNIX_THREADS /* Define this if you want the POSIX taste of threads */ #undef _MIT_POSIX_THREADS /* Define this if you want the SGI sproc taste of threads */ #undef _SGI_SPROC_THREADS
c1d2c71997-01-31Fredrik Hübinette (Hubbe) #undef _SGI_MP_SOURCE
fda9ae1997-01-28Fredrik Hübinette (Hubbe) 
b1f4eb1998-01-13Fredrik Hübinette (Hubbe) /* Define this if you have Windows NT threads */ #undef NT_THREADS
5377b91997-02-01Henrik Grubbström (Grubba) /* Define this if your pthreads have pthread_condattr_default */ #undef HAVE_PTHREAD_CONDATTR_DEFAULT
a3c9a72000-10-13Fredrik Hübinette (Hubbe) /* Define if your pthreads have PTHREAD_MUTEX_RECURSIVE */ #undef HAVE_PTHREAD_MUTEX_RECURSIVE /* Define if your pthreads have PTHREAD_MUTEX_RECURSIVE_NP */ #undef HAVE_PTHREAD_MUTEX_RECURSIVE_NP
3bd5ab1998-08-31Henrik Grubbström (Grubba) /* Define this if you need to use &pthread_condattr_default in cond_init() */ #undef HAVE_PTHREAD_CONDATTR_DEFAULT_AIX
c7117f1997-04-10Fredrik Hübinette (Hubbe) /* Define if you have the pthread_attr_setstacksize function. */ #undef HAVE_PTHREAD_ATTR_SETSTACKSIZE
71ac9e1999-08-29Fredrik Hübinette (Hubbe) /* Define if you have the pthread_atfork function. */ #undef HAVE_PTHREAD_ATFORK
c7117f1997-04-10Fredrik Hübinette (Hubbe) /* Define if you have the pthread_cond_init function. */ #undef HAVE_PTHREAD_COND_INIT /* Define if you have the pthread_yield function. */ #undef HAVE_PTHREAD_YIELD
752e101999-04-30Fredrik Hübinette (Hubbe) /* Hack for stupid glibc linuxthreads */ #undef HAVE_PTHREAD_INITIAL_THREAD_BOS
bd775d1998-05-17Henrik Grubbström (Grubba) /* Define if your OS has the union wait. */ #undef HAVE_UNION_WAIT
0d4d5d1998-05-18Henrik Grubbström (Grubba) /* Define if you have isgraph */ #undef HAVE_ISGRAPH
cf3ba01997-09-12Henrik Grubbström (Grubba) /* Define if your cpp supports the ANSI concatenation operator ## */ #undef HAVE_ANSI_CONCAT
5539c51998-06-08Henrik Grubbström (Grubba) /* Define if you don't have F_SETFD, or it doesn't work */ #undef HAVE_BROKEN_F_SETFD
4bfe262000-05-20Henrik Grubbström (Grubba) /* Define if your thread implementation doesn't propagate euid & egid. */ #undef HAVE_BROKEN_LINUX_THREAD_EUID
cf3ba01997-09-12Henrik Grubbström (Grubba) /* Define if your cpp supports K&R-style concatenation */ #undef HAVE_KR_CONCAT
9649491998-02-27Fredrik Hübinette (Hubbe) /* Use poll() instead of select() ? */ #undef HAVE_AND_USE_POLL
d561d61999-03-07Fredrik Hübinette (Hubbe) /* 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. */ #undef USE_SIGCHILD
c201101998-03-25Henrik Grubbström (Grubba) /* Enable code to handle Out-Of-Band data */ #undef WITH_OOB
e0212b1998-04-13Henrik Grubbström (Grubba) /* Enable individual tracing of threads */
a1401b2000-03-04Henrik Grubbström (Grubba) #undef THREAD_TRACE
e0212b1998-04-13Henrik Grubbström (Grubba)  /* Enable tracing of the compiler */ #undef YYDEBUG
f5d7042001-01-20Henrik Grubbström (Grubba) /* The type of the last argument to __yy_memcpy (usually unsigned int). */
20b8502001-01-20Henrik Grubbström (Grubba) #define YY_COUNT_TYPE unsigned
f5d7042001-01-20Henrik Grubbström (Grubba) 
6ba8441998-07-11Henrik Grubbström (Grubba) /* Define if your compiler has a symbol __func__ */ #undef HAVE_WORKING___FUNC__ /* Define if your compiler has a symbol __FUNCTION__ */ #undef HAVE_WORKING___FUNCTION__
5f4f991998-08-07Henrik Grubbström (Grubba) /* The last argument to accept() is an ACCEPT_SIZE_T * */ #define ACCEPT_SIZE_T int
9debfa1999-08-11Fredrik Hübinette (Hubbe) /* Can we compile in MMX support? */ #undef TRY_USE_MMX
7cccc52000-12-27Mirar (Pontus Hagland) /* Define if you have the <sys/resource.h> header file. */ #undef HAVE_SYS_RESOURCE_H
6cb70d2001-02-21Henrik Grubbström (Grubba) /* Define if you want to enable use of the struct pike_type (EXPERIMENTAL) */ #undef USE_PIKE_TYPE
de9dbe2001-07-01Martin Stjernholm /* set this to the modifier type string to print size_t, like "" or "l" */ #undef PRINTSIZET /* set this to the modifier type string to print ptrdiff_t, like "" or "l" */ #undef PRINTPTRDIFFT
18099a2001-03-04Mirar (Pontus Hagland) /* set this to the modifier type string to print INT_TYPE, like "" or "ll" */ #undef PRINTPIKEINT /* set this to the modifier type string to print FLOAT_TYPE, like "L" or "" */ #undef PRINTPIKEFLOAT
2fbeae2001-07-01Martin Stjernholm /* Define if the compiler understand union initializations. */ #undef HAVE_UNION_INIT
fda9ae1997-01-28Fredrik Hübinette (Hubbe) @BOTTOM@
9649491998-02-27Fredrik Hübinette (Hubbe) /* NT stuff */ #undef HAVE_GETSYSTEMTIMEASFILETIME #undef HAVE_LOADLIBRARY #undef HAVE_FREELIBRARY #undef HAVE_GETPROCADDRESS #undef DL_EXPORT
9b15e02000-12-22Fredrik Hübinette (Hubbe) #undef USE_MY_WIN32_DLOPEN
9649491998-02-27Fredrik Hübinette (Hubbe) 
fda9ae1997-01-28Fredrik Hübinette (Hubbe) /* How to set a socket non-blocking */ #undef USE_IOCTL_FIONBIO
bdfb861997-12-22Fredrik Hübinette (Hubbe) #undef USE_IOCTLSOCKET_FIONBIO
fda9ae1997-01-28Fredrik Hübinette (Hubbe) #undef USE_FCNTL_O_NDELAY #undef USE_FCNTL_FNDELAY #undef USE_FCNTL_O_NONBLOCK
29c1832001-02-02Fredrik Hübinette (Hubbe) /* How well is OOB TCP working? * -1 = unknown * 0 = doesn't seem to be working at all * 1 = very limited functionality * 2 = should be working as long as you are cautious * 3 = works excellently */ #define PIKE_OOB_WORKS -1
fda9ae1997-01-28Fredrik Hübinette (Hubbe) /* We want to use errno later */
70c4151997-02-01Henrik Grubbström (Grubba) #ifdef _SGI_SPROC_THREADS /* Magic define of _SGI_MP_SOURCE above might redefine errno below */ #include <errno.h> #if defined(HAVE_OSERROR) && !defined(errno)
fda9ae1997-01-28Fredrik Hübinette (Hubbe) #define errno (oserror())
70c4151997-02-01Henrik Grubbström (Grubba) #endif /* HAVE_OSERROR && !errno */ #endif /* _SGI_SPROC_THREADS */
fda9ae1997-01-28Fredrik Hübinette (Hubbe) 
c399d62001-02-16Henrik Grubbström (Grubba) /* This macro is only provided for compatibility with * Windows PreRelease. Use ALIGNOF() instead! * (Needed for va_arg().) */ #ifndef __alignof #define __alignof(X) ((size_t)&(((struct { char ignored_ ; X fooo_; } *)0)->fooo_)) #endif /* __alignof */
fda9ae1997-01-28Fredrik Hübinette (Hubbe) #ifdef HAVE_FUNCTION_ATTRIBUTES #define ATTRIBUTE(X) __attribute__ (X) #else #define ATTRIBUTE(X) #endif
2e89072000-08-21Henrik Grubbström (Grubba) #ifdef HAVE_DECLSPEC #define DECLSPEC(X) __declspec(X) #else /* !HAVE_DECLSPEC */ #define DECLSPEC(X) #endif /* HAVE_DECLSPEC */
6ba8441998-07-11Henrik Grubbström (Grubba) #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__ */
cf3ba01997-09-12Henrik Grubbström (Grubba) /* 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
91224b1998-10-11Fredrik Hübinette (Hubbe) #define PIKE_CONCAT4(X,Y,Z,Q) X##Y##Z##Q
cf3ba01997-09-12Henrik Grubbström (Grubba) #else #ifdef HAVE_KR_CONCAT #define PIKE_CONCAT(X,Y) X/**/Y #define PIKE_CONCAT3(X,Y,Z) X/**/Y/**/Z
91224b1998-10-11Fredrik Hübinette (Hubbe) #define PIKE_CONCAT4(X,Y,Z,Q) X/**/Y/**/Z/**/Q
cf3ba01997-09-12Henrik Grubbström (Grubba) #endif /* HAVE_KR_CONCAT */ #endif /* HAVE_ANSI_CONCAT */
6908611999-12-08Henrik Grubbström (Grubba) #define TOSTR(X) #X #define DEFINETOSTR(X) TOSTR(X)
fda9ae1997-01-28Fredrik Hübinette (Hubbe) #endif /* MACHINE_H */