|
|
1.1 root 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.16 87/12/14 18:33:31 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 tahoe_4_3
57: #define m_tahoe 1
58: #endif
59:
60: #if sun_4_2beta || sun_4_2 || sun_4_1c
61: #define m_68k 1
62: #define OFFSET 0x8000
63: #endif
64:
65: #if sun_unisoft
66: #define m_68k 1
67: #define OFFSET 0x40000
68: #endif
69:
70: #if dual_unisoft
71: #define m_68k 1
72: #define m_68k_dual 1
73: #define OFFSET 0x800000
74: #endif
75:
76: #if pixel_unisoft
77: #define m_68k 1
78: #define OFFSET 0x20000
79: #endif
80:
81: #if lisa_unisys3
82: #define m_68k 1
83: #define OFFSET 0x20000
84: #define unisys3botch 1
85: #define os_unix_ts 1
86: #endif
87:
88: #if mc500_2_0
89: #define OFFSET 0
90: #define m_68k 1
91: #define os_masscomp 1
92: #endif
93:
94: /* next the operating system */
95: #if vax_4_1 || vax_4_1a || vax_4_1c || vax_4_2 || vax_4_3 || vax_unix_ts || m_68k || tahoe_4_3
96: #define os_unix 1
97: #endif
98:
99: #if vax_4_1
100: #define os_4_1 1
101: #endif
102: #if vax_4_1a
103: #define os_4_1a 1
104: #endif
105: #if vax_4_1c || sun_4_1c
106: #define os_4_1c 1
107: #endif
108: #if vax_4_2 || sun_4_2 || sun_4_2beta
109: #define os_4_2 1
110: #endif
111: #if vax_4_3 || tahoe_4_3
112: #define os_4_3 1
113: #endif
114: #if vax_unix_ts
115: #define os_unix_ts 1
116: #endif
117: #if vax_eunice_vms
118: #define os_vms 1
119: #endif
120:
121: #if sun_unisoft || dual_unisoft || pixel_unisoft
122: #define os_unisoft 1
123: #endif
124:
125: /* MACHINE - this is put on the (status features) list */
126: #if m_68k
127: #define MACHINE "68k"
128: #define PORTABLE
129: #endif
130:
131: /* RTPORTS -- this O.S. allocates FILE *'s at run-time */
132: #if os_4_3
133: #define RTPORTS 1
134: #endif
135:
136: #if m_vax
137: #define MACHINE "vax"
138: #define NILIS0 1
139: #endif
140:
141: #if m_tahoe
142: #define MACHINE "tahoe"
143: #define NILIS0 1
144: #endif
145:
146: /*
147: ** NILIS0 -- for any UNIX implementation in which the users
148: ** address space starts at 0 (like m_vax, above).
149: **
150: ** NPINREG -- for the verison if lisp that keeps np and lbot in global
151: ** registers. On the 68000, there is a special `hacked' version
152: ** of the C compiler that is needed to do this.
153: **
154: ** #define NILIS0 1
155: ** #define NPINREG 1
156: */
157:
158: /*
159: * SPISFP -- this is to indicate that the stack and frame pointer
160: * are the same, or at least that you can't pull the same shenanigans
161: * as on the vax or sun by pushing error frames at the end of C
162: * frames and using alloca. This should make life easier for
163: * a native VMS version or IBM or RIDGE or Bellmac-32.
164: * #define SPISFP 1
165: */
166:
167: #if sun_4_2beta
168: #define SPISFP 1
169: #endif
170:
171: #if m_vax || m_tahoe
172: #define OFFSET 0x0
173: #define NPINREG 1
174: #endif
175:
176:
177:
178:
179: /* OS - this is put on the (status features) list */
180: #if os_unix
181: #define OS "unix"
182: #endif
183: #if os_vms
184: #define OS "vms"
185: #endif
186:
187: /* DOMAIN - this is put on the (status features) list and
188: * is the value of (status domain)
189: */
190: #define DOMAIN "ucb"
191:
192: /* SITE - the name of the particular machine this lisp is running on
193: * this value is available via (sys:gethostname).
194: * On 4.1a systems it is possible to determine this dynamically cheaply
195: */
196: #if ! (os_4_1a || os_4_1c || os_4_2 || os_4_3)
197: #define SITE "unknown-site"
198: #endif
199:
200:
201: /* TTSIZE is the absolute limit, in pages (both text and data), of the
202: * size to which the lisp system may grow.
203: * If you change this, you must recompile alloc.c and data.c.
204: */
205: #if (sun_4_2 || sun_4_2beta || HOLE)
206: #define TTSIZE 10216
207: #else
208: #define TTSIZE 6120
209: #endif
210:
211: #if m_vms
212: #undef TTSIZE
213: #define TTSIZE 10216
214: #define FREESIZE 512 * 10000
215: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.