comparison src/m/dpx2.h @ 4085:854420a44661

Initial revision
author Jim Blandy <jimb@redhat.com>
date Wed, 14 Jul 1993 06:09:19 +0000
parents
children 51eef6f31754
comparison
equal deleted inserted replaced
4084:1e9a4f812fc1 4085:854420a44661
1 /* machine description for Bull DPX/2 range
2 Copyright (C) 1985, 1986 Free Software Foundation, Inc.
3
4 This file is part of GNU Emacs.
5
6 GNU Emacs is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 1, or (at your option)
9 any later version.
10
11 GNU Emacs is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with GNU Emacs; see the file COPYING. If not, write to
18 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
19
20 /* The following line tells the configuration script what sort of
21 operating system this machine is likely to run.
22 USUAL-OPSYS="usg5-3" */
23
24 /*
25 * You need to either un-comment one of these lines, or copy one
26 * of them to config.h before you include this file.
27 * Note that some simply define a constant and others set a value.
28 */
29
30 /* #define ncl_el /* DPX/2 210,220 etc */
31 /* #define ncl_mr 1 /* DPX/2 320,340 (and 360,380 ?) */
32
33 /* The following three symbols give information on
34 the size of various data types. */
35
36 #define SHORTBITS 16 /* Number of bits in a short */
37
38 #define INTBITS 32 /* Number of bits in an int */
39
40 #define LONGBITS 32 /* Number of bits in a long */
41
42 /* Define BIG_ENDIAN iff lowest-numbered byte in a word
43 is the most significant byte. */
44
45 #define BIG_ENDIAN
46
47 /* Define NO_ARG_ARRAY if you cannot take the address of the first of a
48 * group of arguments and treat it as an array of the arguments. */
49
50 #define NO_ARG_ARRAY
51
52 /* Define WORD_MACHINE if addresses and such have
53 * to be corrected before they can be used as byte counts. */
54
55 /* #define WORD_MACHINE /**/
56
57 /* Now define a symbol for the cpu type, if your compiler
58 does not define it automatically:
59 Ones defined so far include vax, m68000, ns16000, pyramid,
60 orion, tahoe, APOLLO and many others */
61
62 /* /bin/cc on ncl_el and ncl_mr define m68k and mc68000 */
63
64 /* Use type int rather than a union, to represent Lisp_Object */
65 /* This is desirable for most machines. */
66
67 #define NO_UNION_TYPE
68
69 /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
70 the 24-bit bit field into an int. In other words, if bit fields
71 are always unsigned.
72
73 If you use NO_UNION_TYPE, this flag does not matter. */
74
75 #define EXPLICIT_SIGN_EXTEND
76
77 /* Data type of load average, as read out of kmem. */
78
79 #define LOAD_AVE_TYPE long
80
81 /* Convert that into an integer that is 100 for a load average of 1.0 */
82
83 #define FSCALE 1000.0
84 #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
85
86 /* Define CANNOT_DUMP on machines where unexec does not work.
87 Then the function dump-emacs will not be defined
88 and temacs will do (load "loadup") automatically unless told otherwise. */
89
90 /*#define CANNOT_DUMP /**/
91
92 /* Define VIRT_ADDR_VARIES if the virtual addresses of
93 pure and impure space as loaded can vary, and even their
94 relative order cannot be relied on.
95
96 Otherwise Emacs assumes that text space precedes data space,
97 numerically. */
98
99 /* #define VIRT_ADDR_VARIES /**/
100
101 /* Define C_ALLOCA if this machine does not support a true alloca
102 and the one written in C should be used instead.
103 Define HAVE_ALLOCA to say that the system provides a properly
104 working alloca function and it should be used.
105 Define neither one if an assembler-language alloca
106 in the file alloca.s should be used. */
107
108 #define C_ALLOCA
109 /* #define HAVE_ALLOCA /**/
110
111 /* Define NO_REMAP if memory segmentation makes it not work well
112 to change the boundary between the text section and data section
113 when Emacs is dumped. If you define this, the preloaded Lisp
114 code will not be sharable; but that's better than failing completely. */
115
116 #define NO_REMAP
117
118 /*
119 * end of the standard macro's
120 */
121
122 /*
123 * a neat identifier to handle source mods (if needed)
124 */
125 #ifndef DPX2
126 #define DPX2
127 #endif
128
129 /* Disable support for shared libraries in unexec. */
130
131 #undef USG_SHARED_LIBRARIES
132
133 /*
134 * if we use X11, libX11.a has these...
135 */
136 #ifdef HAVE_X_WINDOWS
137 # undef LIB_X11_LIB
138 # define LIB_X11_LIB -lX11
139 # undef LIBX11_SYSTEM
140 # define LIBX11_SYSTEM -lmalloc -lnsl
141 # define BSTRING
142 # define HAVE_GETWD
143
144 /*
145 * we must have INET loaded so we have sockets
146 */
147 # define HAVE_SOCKETS
148 #endif /* HAVE_X_WINDOWS */
149
150 /*
151 * useful if you have INET loaded
152 */
153 #ifdef HAVE_SOCKETS
154 # define LIBS_MACHINE -linet
155 #endif
156
157
158 #if (defined(ncl_mr) || defined(ncl_el)) && !defined (NBPC)
159 # define NBPC 4096
160 #endif
161
162 /*
163 * if SIGIO is defined, much of the emacs
164 * code assumes we are BSD !!
165 */
166 #ifdef SIGIO
167 # undef SIGIO
168 #endif
169
170
171 /*
172 * a good idea on multi-user systems :-)
173 */
174 #define CLASH_DETECTION /* probably a good idea */
175
176
177 #ifdef SIGTSTP
178 /*
179 * sysdep.c(sys_suspend) works fine with emacs-18.58
180 * and BOS 02.00.45, if you have an earler version
181 * of Emacs and/or BOS, or have problems, or just prefer
182 * to start a sub-shell rather than suspend-emacs,
183 * un-comment out the next line.
184 */
185 # undef SIGTSTP /* make suspend-emacs spawn a sub-shell */
186 # ifdef NOMULTIPLEJOBS
187 # undef NOMULTIPLEJOBS
188 # endif
189 #endif
190 /*
191 * no we don't want this at all
192 */
193 #ifdef USG_JOBCTRL
194 # undef USG_JOBCTRL
195 #endif
196
197 /*
198 * but we have that
199 */
200 #define GETPGRP_NO_ARG
201
202 /*
203 * X support _needs_ this
204 */
205 #define HAVE_SELECT
206 /*
207 * and select requires these
208 */
209 #define HAVE_TIMEVAL
210 #define USE_UTIME
211
212 /* select also needs this header file--but not in ymakefile. */
213 #ifndef NOT_C_CODE
214 #include <sys/types.h>
215 #include <sys/select.h>
216 #endif
217
218 #define TEXT_START 0
219
220 /*
221 * Define the direction of stack growth.
222 */
223
224 #define STACK_DIRECTION -1
225
226 /* we have termios */
227 #undef HAVE_TERMIO
228 #define HAVE_TERMIOS
229
230 /* we also have this */
231 #define HAVE_PTYS
232 #define SYSV_PTYS
233
234 /* It doesn't seem we have sigpause */
235 #undef HAVE_SYSV_SIGPAUSE
236
237
238 /* on bos2.00.45 there is a bug that makes the F_SETOWN fcntl() call
239 enters in an infinite loop. Avoid calling it */
240 #define F_SETOWN_BUG
241
242 /* end of dpx2.h */
243
244