|
|
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.13 83/09/12 15:30:30 layer 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
25: */
26: #include "lconf.h"
27:
28:
29: /* GCSTRINGS - define this if you want the garbage collector to reclaim
30: * strings. It is not normally set because in typical applications the
31: * expense of collecting strings is not worth the amount of space
32: * retrieved
33: */
34:
35: /* #define GCSTRINGS */
36:
37: /*
38: * set up the global defines based on the choice above
39: * the global names are
40: * machine name: m_vax
41: * m_68k
42: * m_68k_sun, m_68k_dual m_68k_pixel
43: * operating system:
44: * os_unix
45: * os_4_1, os_4_1a, os_4_1c, os_4_2, os_unix_ts
46: * os_vms
47: */
48: /* first the machine */
49: #if vax_4_1 || vax_4_1a || vax_4_1c || vax_4_2 || vax_unix_ts || vax_eunice_vms
50: #define m_vax 1
51: #endif
52:
53: #if sun_4_2 || sun_4_1c || sun_unisoft
54: #define m_68k 1
55: #define m_68k_sun 1
56: #endif
57:
58: #if dual_unisoft
59: #define m_68k 1
60: #define m_68k_dual 1
61: #endif
62:
63: #if pixel_unisoft
64: #define m_68k 1
65: #define m_68k_pixel 1
66: #endif
67:
68: /* next the operating system */
69: #if vax_4_1 || vax_4_1a || vax_4_1c || vax_4_2 || vax_unix_ts || m_68k
70: #define os_unix 1
71: #endif
72:
73: #if vax_4_1
74: #define os_4_1 1
75: #endif
76: #if vax_4_1a
77: #define os_4_1a 1
78: #endif
79: #if vax_4_1c || sun_4_1c
80: #define os_4_1c 1
81: #endif
82: #if vax_4_2 || sun_4_2
83: #define os_4_2 1
84: #endif
85: #if vax_unix_ts
86: #define os_unix_ts 1
87: #endif
88: #if vax_eunice_vms
89: #define os_vms 1
90: #endif
91:
92: #if sun_unisoft || dual_unisoft || pixel_unisoft
93: #define os_unisoft 1
94: #endif
95:
96: /* MACHINE - this is put on the (status features) list */
97: #if m_68k
98: #define MACHINE "68k"
99: #define PORTABLE
100: #endif
101:
102: #if m_vax
103: #define MACHINE "vax"
104: #define NILIS0 1
105: #endif
106:
107: /* OFFSET - this is the offset to the users address space. */
108: /* NB: this is not necessarily tied to the hardware. Pixel
109: informs us that when they put up 4.1 the offsetis likely
110: to change */
111:
112: /*
113: ** NILIS0 -- for any UNIX implementation in which the users
114: ** address space starts at 0 (like m_vax, above).
115: **
116: ** NPINREG -- for the verison if lisp that keeps np and lbot in global
117: ** registers. On the 68000, there is a special `hacked' version
118: ** of the C compiler that is needed to do this.
119: **
120: ** #define NILIS0 1
121: ** #define NPINREG 1
122: */
123:
124: /*
125: * SPISFP -- this is to indicate that the stack and frame pointer
126: * are the same, or at least that you can't pull the same shenanigans
127: * as on the vax or sun by pushing error frames at the end of C
128: * frames and using alloca. This should make life easier for
129: * a native VMS version or IBM or RIDGE or Bellmac-32.
130: * #define SPISFP 1
131: */
132:
133:
134: #if m_vax
135: #define OFFSET 0x0
136: #define NPINREG 1
137: #endif
138:
139: #if m_68k_sun
140: #define OFFSET 0x8000
141: #endif
142:
143: #if m_68k_dual
144: #define OFFSET 0x800000
145: #endif
146:
147: #if m_68k_pixel
148: #define OFFSET 0x20000
149: #endif
150:
151:
152: /* OS - this is put on the (status features) list */
153: #if os_unix
154: #define OS "unix"
155: #endif
156: #if os_vms
157: #define OS "vms"
158: #endif
159:
160: /* DOMAIN - this is put on the (status features) list and
161: * is the value of (status domain)
162: */
163: #define DOMAIN "ucb"
164:
165: /* SITE - the name of the particular machine this lisp is running on
166: * this value is available via (sys:gethostname).
167: * On 4.1a systems it is possible to determine this dynamically cheaply
168: */
169: #if ! (os_4_1a || os_4_1c || os_4_2)
170: #define SITE "unknown-site"
171: #endif
172:
173:
174: /* TTSIZ is the absolute limit, in pages (both text and data), of the
175: * size to which the lisp system may grow.
176: * If you change this, you must recompile alloc.c and data.c.
177: */
178: #ifdef HOLE
179: #define TTSIZE 10216
180: #else
181: #define TTSIZE 6120
182: #endif
183:
184: #if m_vms
185: #undef TTSIZE
186: #define TTSIZE 10216
187: #define FREESIZE 512 * 10000
188: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.