1: /* -[Thu Mar 3 15:57:51 1983 by jkf]-
2: * config.h $Locker: $
3: * configuration dependent info
4: *
5: * $Header: config.h,v 1.15 85/03/24 11:06:27 sklower Exp $
6: *
7: * (c) copyright 1982, Regents of the University of California
8: */
9:
10: /*
11: * this file contains parameters which each site is likely to modify
12: * in order to personalize the configuration of Lisp at their site.
13: * The typical things to modifiy are:
14: * [optionally] turn on GCSTRINGS
15: * [optionally] provide a value for SITE
16: */
17:
18: /*
19: * The type of machine and os this is to run on will come from
20: * the file lconf.h. The lconf.h file is created by the shell script
21: * 'lispconf' in the directory ../..
22: * lconf.h will define exactly one of these symbols:
23: * vax_4_2 vax_4_1c vax_4_1a vax_4_1 vax_unix_ts vax_eunice_vms
24: * sun_4_2 sun_4_1c sun_unisoft dual_unisoft pixel_unisoft lisa_unisys3
25: * mc500_2_0
26: */
27: #include "lconf.h"
28:
29:
30: /* GCSTRINGS - define this if you want the garbage collector to reclaim
31: * strings. It is not normally set because in typical applications the
32: * expense of collecting strings is not worth the amount of space
33: * retrieved
34: */
35:
36: /* #define GCSTRINGS */
37:
38: /*
39: * set up the global defines based on the choice above
40: * the global names are
41: * operating system:
42: * os_unix
43: * os_4_1, os_4_1a, os_4_1c, os_4_2, os_unix_ts
44: * os_vms
45: */
46:
47: /* OFFSET - this is the offset to the users address space. */
48: /* NB: this is not necessarily tied to the hardware. Pixel
49: informs us that when they put up 4.1 the offsetis likely
50: to change */
51:
52: #if vax_4_1 || vax_4_1a || vax_4_1c || vax_4_2 || vax_4_3 || vax_unix_ts || vax_eunice_vms
53: #define m_vax 1
54: #endif
55:
56: #if sun_4_2beta || sun_4_2 || sun_4_1c
57: #define m_68k 1
58: #define OFFSET 0x8000
59: #endif
60:
61: #if sun_unisoft
62: #define m_68k 1
63: #define OFFSET 0x40000
64: #endif
65:
66: #if dual_unisoft
67: #define m_68k 1
68: #define m_68k_dual 1
69: #define OFFSET 0x800000
70: #endif
71:
72: #if pixel_unisoft
73: #define m_68k 1
74: #define OFFSET 0x20000
75: #endif
76:
77: #if lisa_unisys3
78: #define m_68k 1
79: #define OFFSET 0x20000
80: #define unisys3botch 1
81: #define os_unix_ts 1
82: #endif
83:
84: #if mc500_2_0
85: #define OFFSET 0
86: #define m_68k 1
87: #define os_masscomp 1
88: #endif
89:
90: /* next the operating system */
91: #if vax_4_1 || vax_4_1a || vax_4_1c || vax_4_2 || vax_4_3 || vax_unix_ts || m_68k
92: #define os_unix 1
93: #endif
94:
95: #if vax_4_1
96: #define os_4_1 1
97: #endif
98: #if vax_4_1a
99: #define os_4_1a 1
100: #endif
101: #if vax_4_1c || sun_4_1c
102: #define os_4_1c 1
103: #endif
104: #if vax_4_2 || sun_4_2 || sun_4_2beta
105: #define os_4_2 1
106: #endif
107: #if vax_4_3
108: #define os_4_3 1
109: #endif
110: #if vax_unix_ts
111: #define os_unix_ts 1
112: #endif
113: #if vax_eunice_vms
114: #define os_vms 1
115: #endif
116:
117: #if sun_unisoft || dual_unisoft || pixel_unisoft
118: #define os_unisoft 1
119: #endif
120:
121: /* MACHINE - this is put on the (status features) list */
122: #if m_68k
123: #define MACHINE "68k"
124: #define PORTABLE
125: #endif
126:
127: /* RTPORTS -- this O.S. allocates FILE *'s at run-time */
128: #if os_4_3
129: #define RTPORTS 1
130: #endif
131:
132: #if m_vax
133: #define MACHINE "vax"
134: #define NILIS0 1
135: #endif
136:
137: /*
138: ** NILIS0 -- for any UNIX implementation in which the users
139: ** address space starts at 0 (like m_vax, above).
140: **
141: ** NPINREG -- for the verison if lisp that keeps np and lbot in global
142: ** registers. On the 68000, there is a special `hacked' version
143: ** of the C compiler that is needed to do this.
144: **
145: ** #define NILIS0 1
146: ** #define NPINREG 1
147: */
148:
149: /*
150: * SPISFP -- this is to indicate that the stack and frame pointer
151: * are the same, or at least that you can't pull the same shenanigans
152: * as on the vax or sun by pushing error frames at the end of C
153: * frames and using alloca. This should make life easier for
154: * a native VMS version or IBM or RIDGE or Bellmac-32.
155: * #define SPISFP 1
156: */
157:
158: #if sun_4_2beta
159: #define SPISFP 1
160: #endif
161:
162: #if m_vax
163: #define OFFSET 0x0
164: #define NPINREG 1
165: #endif
166:
167:
168:
169:
170: /* OS - this is put on the (status features) list */
171: #if os_unix
172: #define OS "unix"
173: #endif
174: #if os_vms
175: #define OS "vms"
176: #endif
177:
178: /* DOMAIN - this is put on the (status features) list and
179: * is the value of (status domain)
180: */
181: #define DOMAIN "ucb"
182:
183: /* SITE - the name of the particular machine this lisp is running on
184: * this value is available via (sys:gethostname).
185: * On 4.1a systems it is possible to determine this dynamically cheaply
186: */
187: #if ! (os_4_1a || os_4_1c || os_4_2 || os_4_3)
188: #define SITE "unknown-site"
189: #endif
190:
191:
192: /* TTSIZ is the absolute limit, in pages (both text and data), of the
193: * size to which the lisp system may grow.
194: * If you change this, you must recompile alloc.c and data.c.
195: */
196: #if (sun_4_2 || sun_4_2beta || HOLE)
197: #define TTSIZE 10216
198: #else
199: #define TTSIZE 6120
200: #endif
201:
202: #if m_vms
203: #undef TTSIZE
204: #define TTSIZE 10216
205: #define FREESIZE 512 * 10000
206: #endif
Defined macros
OS
defined in line
175;
never used
SITE
defined in line
188;
never used
m_68k
defined in line
86; used 2 times
m_vax
defined in line
53; used 2 times
Usage of this include