home *** CD-ROM | disk | FTP | other *** search
- /*
- Little Smalltalk, version two
- Written by Tim Budd, Oregon State University, July 1987
-
- environmental factors
-
- This include file gathers together environmental factors that
- are likely to change from one C compiler to another, or from
- one system to another. Please refer to the installation
- notes for more information.
- */
-
- /* ### the following two define statements should be edit to conform
- to your specific system, and should be the only changes most installations
- need to make ### */
-
- /*============= define the kind of system you are on ===========*/
- #ifndef AMIGA
- # define AMIGA
- #endif
-
- # define INITIALIMAGE "imageFile"
-
- /*=============== rules for various systems ====================*/
-
- # ifdef B42
- /* Berkeley 4.2, 4.3 and compatible, which include: */
- /* sequent balance */
- /* Harris HCX-7 */
- /* sun workstations */
-
- typedef unsigned char byte;
-
- # define byteToInt(b) (b)
-
- # define longCanBeInt(l) (l == (l & 037777))
-
- # define STRING
- # define SIGNALS
-
- # endif
-
- # ifdef SYSV
- /* system V systems including: */
- /* HP-UX for the HP-9000 series */
- /* TEK 4404 with some modifications (see install.ms) */
-
- typedef unsigned char byte;
-
- # define byteToInt(b) (b)
-
- # define longCanBeInt(l) (l == (l & 037777))
-
- # define STRING
- # define SIGNALS
-
- # endif
-
- # ifdef TURBOC
- /* IBM PC and compatiables using the TURBO C compiler */
-
- /* there are also changes that have to be made to the
- smalltalk source; see installation notes for
- details */
-
- typedef unsigned char byte;
-
- # define byteToInt(b) (b)
-
- # define longCanBeInt(l) (l == (l & 037777))
-
- # define STRING
- # define SSIGNALS
- # define ALLOC
- # define BINREADWRITE
- # define PROTO
-
- #endif
-
- /*============= Commodore Amiga / Lattice C v4.0 */
-
- # ifdef AMIGA
-
- typedef unsigned char byte;
-
- # define byteToInt(b) (b)
-
- # define longCanBeInt(l) (l == (l & 037777))
-
- # define STRING
- # define SIGNALS
- #include <stdlib.h>
-
- # endif
-
-
- /* ======== various defines that should work on all systems ==== */
-
- # define true 1
- # define false 0
-
- /* define the datatype boolean */
- # ifdef NOTYPEDEF
- # define boolean int
- # endif
- # ifndef NOTYPEDEF
- typedef int boolean;
- # endif
-
- /* define a bit of lint silencing */
- /* ignore means ``i know this function returns something,
- but I really, really do mean to ignore it */
- # ifdef NOVOID
- # define ignore
- # define noreturn
- # define void int
- # endif
- # ifndef NOVOID
- # define ignore (void)
- # define noreturn void
- # endif
-
- /* prototypes are another problem. If they are available, they should be
- used; but if they are not available their use will cause compiler errors.
- To get around this we define a lot of symbols which become nothing if
- prototypes aren't available */
- # ifdef PROTO
-
- # define X ,
- # define OBJ object
- # define OBJP object *
- # define INT int
- # define BOOL boolean
- # define STR char *
- # define FLOAT double
- # define NOARGS void
- # define FILEP FILE *
-
- # endif
-
- # ifndef PROTO
-
- # define X
- # define OBJ
- # define OBJP
- # define INT
- # define BOOL
- # define STR
- # define FLOAT
- # define NOARGS
- # define FILEP
-
- # endif
-