home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 1: Amiga
/
FrozenFish-Apr94.iso
/
bbs
/
alib
/
d5xx
/
d519
/
oaklisp.lha
/
OakLisp
/
src.lzh
/
config.h
next >
Wrap
C/C++ Source or Header
|
1991-06-15
|
3KB
|
172 lines
/* Copyright (C) 1989, 1988, 1987 Barak Pearlmutter and Kevin Lang */
/*
* This file describes the configuration of the machine that is being
* compiled on. It deals with quirks of the CPU, compiler, and OS.
*/
/* I'd love to be able to case things out here: */
/* Length of (long). Must be <= length of (char *). */
#define WORDSIZE 32
#ifdef AMIGA
#define unix_files
#define MALLOC_STACK_BUFFER
#define MALLOC_WP_TABLE
#define PROTOTYPES
#define BIG_ENDIAN
#define UNSIGNED_CHARS
#define SIGNALS
#endif
/* Try to figure out the endianity. */
#ifdef CMUCS
#ifdef BYTE_MSF
#define BIG_ENDIAN
#endif
#else /* not CMUCS */
#ifndef vax /* cpp on a BSD or ULTRIX vax thinks big endian! */
#ifndef mips /* as does Ultrix on a DEC 3100. */
#ifdef mac
#define BIG_ENDIAN
#endif
#ifdef mc68000
#define BIG_ENDIAN
#endif
#ifdef sun
#define BIG_ENDIAN
#endif
#ifdef convex
#define BIG_ENDIAN
#endif
/* Default */
#define BIG_ENDIAN
#endif /* not mips */
#endif /* not vax */
#endif /* CMUCS */
/* This is for gcc with -ansi */
#ifdef __unix__
#define unix
#endif
/* UNALIGNED should be defined if malloc() might return a pointer that isn't
long aligned, ie, whose low two bits might not be 0. */
#ifdef mac
#define UNALIGNED
#endif
/* Expand this to include all systems with unsigned chars: */
#ifdef ibmrt
#define UNSIGNED_CHARS
#endif
/* unix_files is defined if things like ftell() and fseek() are
around. For things like fileno() and isatty() we need real unix. */
#ifdef Mac_LSC
#define unix_files
#define MALLOC_STACK_BUFFER
#define MALLOC_WP_TABLE
#define PROTOTYPES
#define CANT_FLUSH_STD
#define mac
#endif
#ifdef __STDC__
#define PROTOTYPES
#endif
/* Machines with int's smaller than (char *)'s should not define this. */
#ifndef Mac_LSC
#define BIGINT
#endif
#ifdef unix
#define unix_files
#endif
/* The following can be ((x)>>2) on machines with arithmetic right
shifts of signed numbers. Regrettably, some machines (like the
Convex) treat all numbers being shifted as unsigned. If your
compiler emits better code for (x>>2) than for (x/4) and does not
have this weird problem, you should use the definition that is
commented out. */
#define ASHR2(x) ((x)/4)
/* #define ASHR2(x) ((x)>>2) */
/* Some machines have a 64 bit variant of long called a "long long",
which makes multiplication overflow detection easier. */
#ifdef convex
#define HAVE_LONG_LONG
#endif
/* Some operating systems support trapping user interrupts. */
#ifdef unix
#define SIGNALS
#endif
/* It is possible to use floating point hardware to detect overflows.
This doesn't seem to be a speed win on any tested system, and is
therefore commented out. */
#ifndef HAVE_LONG_LONG
/* #define DOUBLES_FOR_OVERFLOW */
#endif
/* eof */