|
|
1.1 root 1: /* NAME:
2: * m-dpx2.h - machine description for Bull DPX/2 range
3: *
4: * SYNOPSIS:
5: * #include "s-usg5-3.h"
6: * #include "m-dpx2.h"
7: *
8: * DESCRIPTION:
9: * This header is part of GNU Emacs, and therefore
10: * falls under the FSF GPL. There should be a copy of it
11: * somewhere on your system (see below).
12: *
13: * This header file, and a _minor_ change to
14: * config.h-dist are all that are needed to build GNU
15: * Emacs-18.58 on a Bull DPX/2 model 200 or 300.
16: * The DPX/2 500 should probably use a mips based config.
17: *
18: * The only change _needed_ to config.h (copied from
19: * config.h-dist) is to define the appropriate ncl_{el,mr}
20: * pre-processor constant. Hopefully in a future release
21: * the C compiler will define this automagically :-)
22: *
23: * If you have INET and X11 loaded, define HAVE_X_WINDOWS
24: * before you include this file. If you have INET but not
25: * X11 loaded define HAVE_SOCKETS in config.h before you
26: * include this file.
27: *
28: * If you make changes to this file, please be sure to send
29: * an update to me: <[email protected]>
30: *
31: * Please read through this file before attempting to build
32: * Emacs. You may need to set SRC_COMPAT=_SYSV in your
33: * environment or in Makefile.
34: *
35: *
36: * AMENDED:
37: * 92/02/06 12:53:06 (sjg)
38: *
39: * RELEASED:
40: * 92/02/06 12:53:07 v1.7
41: *
42: * BUGS:
43: * There is a problem when running Emacs with its own X
44: * window in that if the invoking process terminates,
45: * Emacs will terminate shortly afterwards. The following
46: * exercises the bug:
47: * $ ksh
48: * $ emacs &
49: * $ exit
50: * The emacs process will die within a few minutes of the
51: * invoking ksh's termination. Solution? Don't do the
52: * above :-)
53: *
54: * SCCSID:
55: * @(#)m-dpx2.h 1.7 92/02/06 12:53:06 (sjg)
56: */
57:
58: /*
59: Copyright (C) 1985, 1986 Free Software Foundation, Inc.
60:
61: This file is part of GNU Emacs.
62:
63: GNU Emacs is free software; you can redistribute it and/or modify
64: it under the terms of the GNU General Public License as published by
65: the Free Software Foundation; either version 1, or (at your option)
66: any later version.
67:
68: GNU Emacs is distributed in the hope that it will be useful,
69: but WITHOUT ANY WARRANTY; without even the implied warranty of
70: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
71: GNU General Public License for more details.
72:
73: You should have received a copy of the GNU General Public License
74: along with GNU Emacs; see the file COPYING. If not, write to
75: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
76:
77: /*
78: * You need to either un-comment one of these lines, or copy one
79: * of them to config.h before you include this file.
80: * Note that some simply define a constant and others set a value.
81: */
82:
83: /* #define ncl_el /* DPX/2 210,220 etc */
84: /* #define ncl_mr 1 /* DPX/2 320,340 (and 360,380 ?) */
85:
86:
87: /* The following three symbols give information on
88: the size of various data types. */
89:
90: #define SHORTBITS 16 /* Number of bits in a short */
91:
92: #define INTBITS 32 /* Number of bits in an int */
93:
94: #define LONGBITS 32 /* Number of bits in a long */
95:
96: /* Define BIG_ENDIAN iff lowest-numbered byte in a word
97: is the most significant byte. */
98:
99: #define BIG_ENDIAN
100:
101: /* Define NO_ARG_ARRAY if you cannot take the address of the first of a
102: * group of arguments and treat it as an array of the arguments. */
103:
104: #define NO_ARG_ARRAY
105:
106: /* Define WORD_MACHINE if addresses and such have
107: * to be corrected before they can be used as byte counts. */
108:
109: /* #define WORD_MACHINE /**/
110:
111: /* Define how to take a char and sign-extend into an int.
112: On machines where char is signed, this is a no-op. */
113:
114: #define SIGN_EXTEND_CHAR(c) (c)
115:
116: /* Now define a symbol for the cpu type, if your compiler
117: does not define it automatically:
118: Ones defined so far include vax, m68000, ns16000, pyramid,
119: orion, tahoe, APOLLO and many others */
120:
121: /* /bin/cc on ncl_el and ncl_mr define m68k and mc68000 */
122:
123: /* Use type int rather than a union, to represent Lisp_Object */
124: /* This is desirable for most machines. */
125:
126: #define NO_UNION_TYPE
127:
128: /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
129: the 24-bit bit field into an int. In other words, if bit fields
130: are always unsigned.
131:
132: If you use NO_UNION_TYPE, this flag does not matter. */
133:
134: #define EXPLICIT_SIGN_EXTEND
135:
136: /* Data type of load average, as read out of kmem. */
137:
138: #define LOAD_AVE_TYPE long
139:
140: /* Convert that into an integer that is 100 for a load average of 1.0 */
141:
142: #define FSCALE 1000.0
143: #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
144:
145: /* Define CANNOT_DUMP on machines where unexec does not work.
146: Then the function dump-emacs will not be defined
147: and temacs will do (load "loadup") automatically unless told otherwise. */
148:
149: /* #define CANNOT_DUMP /**/
150:
151: /* Define VIRT_ADDR_VARIES if the virtual addresses of
152: pure and impure space as loaded can vary, and even their
153: relative order cannot be relied on.
154:
155: Otherwise Emacs assumes that text space precedes data space,
156: numerically. */
157:
158: /* #define VIRT_ADDR_VARIES /**/
159:
160: /* Define C_ALLOCA if this machine does not support a true alloca
161: and the one written in C should be used instead.
162: Define HAVE_ALLOCA to say that the system provides a properly
163: working alloca function and it should be used.
164: Define neither one if an assembler-language alloca
165: in the file alloca.s should be used. */
166:
167: #define C_ALLOCA
168: /* #define HAVE_ALLOCA /**/
169:
170: /* Define NO_REMAP if memory segmentation makes it not work well
171: to change the boundary between the text section and data section
172: when Emacs is dumped. If you define this, the preloaded Lisp
173: code will not be sharable; but that's better than failing completely. */
174:
175: #define NO_REMAP
176:
177: /*
178: * end of the standard macro's
179: */
180:
181: /*
182: * a neat identifier to handle source mods (if needed)
183: */
184: #define DPX2
185:
186: /*
187: * if we use X11, libX11.a has these...
188: */
189: #ifdef HAVE_X_WINDOWS
190: # undef LIBX11_SYSTEM
191: # define LIBX11_SYSTEM -lnsl
192: # define BSTRING
193: # define HAVE_GETWD
194: # define HAVE_GETTIMEOFDAY
195: /*
196: * Bull's X11R3 and X11R4 libs contain random and friends.
197: * The MIT X11R5 lib does not.
198: */
199: # define HAVE_RANDOM
200: /*
201: * we must have INET loaded so we have sockets
202: */
203: # define HAVE_SOCKETS
204: #endif /* HAVE_X_WINDOWS */
205:
206: /*
207: * useful if you have INET loaded
208: */
209: #ifdef HAVE_SOCKETS
210: # define LIBS_MACHINE -linet
211: #endif
212:
213:
214: #if (defined(ncl_mr) || defined(ncl_el)) && !defined (NBPC)
215: # define NBPC 4096
216: #endif
217:
218: /*
219: * if SIGIO is defined, much of the emacs
220: * code assumes we are BSD !!
221: */
222: #ifdef SIGIO
223: # undef SIGIO
224: #endif
225:
226: /*
227: * a good idea on multi-user systems :-)
228: */
229: #define CLASH_DETECTION /* probably a good idea */
230: #define NO_FCHMOD /* Use chmod instead. */
231:
232:
233: #ifdef SIGTSTP
234: /*
235: * sysdep.c(sys_suspend) works fine with emacs-18.58
236: * and BOS 02.00.45, if you have an earler version
237: * of Emacs and/or BOS, or have problems, or just prefer
238: * to start a sub-shell rather than suspend-emacs,
239: * un-comment out the next line.
240: */
241: /* # undef SIGTSTP /* make suspend-emacs spawn a sub-shell */
242: # ifdef NOMULTIPLEJOBS
243: # undef NOMULTIPLEJOBS
244: # endif
245: #endif
246: /*
247: * no we don't want this at all
248: */
249: #ifdef USG_JOBCTRL
250: # undef USG_JOBCTRL
251: #endif
252:
253:
254: /*
255: * X support _needs_ this
256: */
257: #define HAVE_SELECT
258: /*
259: * and select requires these
260: */
261: #define HAVE_TIMEVAL
262: #define USE_UTIME
263:
264: /* select also needs this header file--but not in ymakefile. */
265: #ifndef NO_SHORTNAMES
266: #include <sys/types.h>
267: #include <sys/select.h>
268: #endif
269:
270: #define TEXT_START 0
271: /*
272: * Define the direction of stack growth.
273: */
274: #define STACK_DIRECTION -1
275:
276: /*
277: * define _SYSV
278: * this is needed by a lot of the B.O.S include files so that
279: * what emacs wants is really included.
280: * Causes the POSIX stuff to be skipped.
281: */
282: #ifndef _SYSV
283: # define _SYSV
284: #endif
285:
286: /* end of m-dpx2.h */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.